Showing results for 
Search instead for 
Did you mean: 

Intel MIC offload queuing

I am a beginner in this domain. I have the following query. In the hybrid mode of programming, MPI taks on host and opemp section offloaded to MIC, is there any queueing mechanism when many host MPI tasks try to offload some code to MIC. Is the access to MIC then serialized or is it handled some other way. Say , I have a 16 core Xeon host connected to MIC coprocessor. I launch 16 MPI tasks, ie one per core. Each core executes the same instructions and contains some portion (OpenMP part) to be offloaded to the MIC. How does this actually run.?
0 Kudos
1 Reply
Black Belt

In the case where the MPI ranks use the offload model (not MPI) to communicate with MIC, if their demand can be satisfied by a portion of the cores on the MIC, you would use the MIC_ENV_PREFIX and distinct settings of offload KMP_PLACE_THREADS to give each task its own group of cores on the MIC, so that it doesn't need to queue.  This was written up in the original Jeffers, Reinders book on MIC, before KMP_PLACE_THREADS was available to simplify it.