How to compile OpenMP code with thread affinity settings for AMD Magny-Cours with Intel Compiler??

Discussion created by milos on May 23, 2010
Latest reply on Jun 28, 2010 by santosh.zanjurne


I am looking for help on how to set thread affinities for AMD processors when using OpenMP with the Intel Compiler.  I have a Fortran numerical simulation code, and need to run it in parallel on many cores.  Because it's speed is memory-bandwidth limited, I cannot afford for the threads to keep jumping around from core to core and especially from CPU to CPU.

I was told, including by AMD staff, that the Intel Compiler works best of all the compilers for optimizing high-performance (scientific computing) code.  (Tried PGI, but can't get it to run efficiently with OpenMP).

When I compile for Intel Nehalem, I can use set KMP_AFFINITY=verbose,granularity=fine,scatter to fix threads to cores.  However, this does not work for AMD CPUs (the KMP_AFFINITY command craps out).

Thanks in advance for help on how to solve this problem.  I have been trying to benchmark Magny-Cours processors as candidates for a memory-bandwidth intensive scientific computing application, but so far I simply cannot get any compiler to properly parallelize OpenMP with them.