Software Archive
Read-only legacy content
17061 Discussions

Run multiple functions concurrently on single device

William_L_1
Beginner
321 Views

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.

 

 

0 Kudos
2 Replies
Paulius_V_1
Beginner
321 Views

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. 

0 Kudos
TimP
Honored Contributor III
321 Views
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).
0 Kudos
Reply