PGI Server Complete for Linux, Release 2013. Optimization, Compiler, and Other flags for use by SPEC CPU2006


Selecting one of the following will take you directly to that section:

Optimization Flags

Portability Flags

Compiler Flags

Other Flags

Shell, Environment, and Other Software Settings

OS Tuning


You can set MP_BIND to yes or y to bind processes or threads executing in a parallel region to physical processor. Set it to no or n to disable such binding. The default is to not bind processes to processors. This variable is an execution-time environment variable interpreted by the PGI runtime support libraries. It does not affect the behavior of the PGI compilers in any way.


MP_BLIST allows you to specifically define the thread-CPU relationship. Note: This variable is only in effect when MP_BIND is yes. While the MP_BIND variable binds processors or threads to a physical processor, MP_BLIST allows you to specifically define which thread is associated with which processor. The list defines the processor-thread relationship order, beginning with thread 0. This list overrides the default binding. For example, the following setting for MP_BLIST maps CPUs 3, 2, 1 and 0 to threads 0, 1, 2 and 3 respectively.


When a thread executing in a parallel region enters a barrier, it spins on a semaphore. You can use MP_SPIN to specify the number of times it checks the semaphore before calling sched_yield() (on Linux or MAC OS X) or _sleep() (on Windows). These calls cause the thread to be re-scheduled, allowing other processes to run. The default value is 1000000.