The newest versions of the Intel® C++ and Fortran compilers now support OpenMP* environment variable OMP_PROC_BIND on compatible non-Intel processors for Linux* and Windows* platforms. The compilers containing the fixes are Intel® Composer XE 2011 Update 13 and Intel® Composer XE 2013 Update 1. Previous versions of these compilers do not support OMP_PROC_BIND, as defined by the OpenMP* Version 3.1 API specification, on non-Intel processors. Setting OMP_PROC_BIND={true, false} on a non-Intel processor and running a program linked against the Intel® OpenMP* runtime would produce warnings about affinity not being supported. This has now been corrected, and setting OMP_PROC_BIND=true will bind OpenMP* threads to processors. Setting OMP_PROC_BIND=false will allow OpenMP* threads to migrate between processors.
On Linux* systems only, GOMP_CPU_AFFINITY may be used to define a specfic set of OS processor IDs to bind OpenMP* threads to. Note that GOMP_CPU_AFFINITY takes precedence over OMP_PROC_BIND. If both are set in the execution environment and an Intel-compiled OpenMP* program is run, the following warning will be seen:
OMP: Warning #181: OMP_PROC_BIND: ignored because GOMP_CPU_AFFINITY has been defined
