OMP_PROC_BIND is now supported on compatible non-Intel processors

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

For more complete information about compiler optimizations, see our Optimization Notice.


pbkenned1's picture

Hello Abhishek,
Thank you for your feedback. We have quite a number of articles on various OpenMP* topics, for example, please see

You can also try searching on Intel(R) DZ for 'OpenMP'.


Abhishek 81's picture

its amazing !!!.Can you share me some more material or links i am eagerly waiting to learn more...


Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.