- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I run my program on single xeon phi. I use offload mode but I found there is no performance improvement when the number of threads is more than 180. I attempt to run my kernel function separately and each kernel deals with an half data with 120 threads. Is there a possible way to run kernels concurrently on single device? Thank you.
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You need at least 2 threads per core to saturate the memory bandwidth on KNC (I assume this is what you're using). It's likely that you won't see better overall performance if you do run two kernels.
To answer your question: yes it's possible by using OpenMP tasks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If you can achieve performance up to 180 threads I will guess you already set affinity. In order to maintain performance with 2 processes you almost certainly must keep them on separate groups of cores (separate tiles on knl).
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page