IBM Power Systems 775 Manual page 127

For aix and linux hpc solution
Table of Contents

Advertisement

physical processors. If a thread is bound to a processor, it is executed on the same logical
processor during the entire execution.
auto
The
parameter specifies that threads automatically bind to processors. You specify this
suboption to enable automatic thread binding on different architectures. When
XLPGASOPTS=bind=auto is specified, the run time allocates program threads to hardware
threads in a way that minimizes the number of threads assigned to any one processor.
none
The
parameter specifies that no threads bind to processors. When
XLPGASOPTS=bind=none is in effect, a thread is suspended and wakes up on another
hardware thread (none is the default suboption).
file=
The
filename specifies that threads bind to processors in a way that follows the
instructions in the filename file. You can use XLPGASOPTS=bind=file=filename to manually
control how threads bind to processors.
file=
In the
filename parameter, filename is the name of a binding file, which must be a plain
text file. If the binding file is not in current directory, you must specify the path to that file. The
path is an absolute path or relative path. The binding file contains one CPU identifier for one
line. The CPU identifier in the first line is mapped to thread 0; the CPU identifier in the second
line is mapped to thread 1; the CPU identifier in the third line is mapped to thread 2, and so
on.
A runtime error message is issued if any of the following situations is true:
The binding file does not exist.
There are insufficient entries in the binding file for the requested number of threads.
The binding file is malformed.
In the following example, you manually control how threads bind to processors with the file
map.txt:
UPC_NTHREADS=8
./a.out -procs 4 -xlpgasbind=file=./home/user/map.txt
where the content of map.txt is as follows:
0
4
8
12
1
5
9
13
The binding file map.txt in this example maps the following threads to CPUs:
thread 0 to CPU 0
thread 1 to CPU 4
thread 2 to CPU 8
thread 3 to CPU 12
thread 4 to CPU 1
thread 5 to CPU 5
thread 6 to CPU 9
thread 7 to CPU 13
Chapter 2. Application integration
113

Advertisement

Table of Contents
loading

Table of Contents