I posted a question on http://software.intel.com/en-us/blogs/2013/02/15/new-kmp-place-threads-o...
I'll post it here too since it'll probably be quicker.
<blockquote>
We want to use cores 0..29 for process 1. We want to use cores 30..60 for process 2. Here is an example of doing this:
Process 1 offload environment var setup:
export MIC_ENV_PREFIX=PHI
export PHI_KMP_AFFINITY=compact
export PHI_KMP_PLACE_THREADS=30c,4t,0O
export PHI_OMP_NUM_THREADS=120
Process 2 offload environment var setup:
export MIC_ENV_PREFIX=PHI
export PHI_KMP_AFFINITY=compact
export PHI_KMP_PLACE_THREADS=30c,4t,30O
export PHI_OMP_NUM_THREADS=120
</blockquote>
How could this be done if these were MPI processes for example? If I have a program where 1 MPI process offloads to 30 of the cores and another offloads to the other 30.
Can I specify thread placement for each MPI process at runtime?
Or is there an API where I can set it at compile time?