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.