aboutsummaryrefslogtreecommitdiff
path: root/libgomp/libgomp.texi
diff options
context:
space:
mode:
authorDaniel Franke <franke.daniel@gmail.com>2007-04-19 15:36:34 -0400
committerDaniel Franke <dfranke@gcc.gnu.org>2007-04-19 15:36:34 -0400
commit06785a48be7e36820bbce12d2f4f2bcb23ef6965 (patch)
tree1870ec3c5406301ac0a7b30cc09735a2ab28b23e /libgomp/libgomp.texi
parent93167356ebb812e6dfff00310d777eed6b304512 (diff)
downloadgcc-06785a48be7e36820bbce12d2f4f2bcb23ef6965.zip
gcc-06785a48be7e36820bbce12d2f4f2bcb23ef6965.tar.gz
gcc-06785a48be7e36820bbce12d2f4f2bcb23ef6965.tar.bz2
libgomp.texi (GOMP_CPU_AFFINITY): Updated.
2007-04-19 Daniel Franke <franke.daniel@gmail.com> * libgomp.texi (GOMP_CPU_AFFINITY): Updated. From-SVN: r123976
Diffstat (limited to 'libgomp/libgomp.texi')
-rw-r--r--libgomp/libgomp.texi27
1 files changed, 19 insertions, 8 deletions
diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
index c48cf93..f92a5da 100644
--- a/libgomp/libgomp.texi
+++ b/libgomp/libgomp.texi
@@ -895,14 +895,25 @@ dynamic scheduling and a chunk size of 1 is used.
@cindex Environment Variable
@table @asis
@item @emph{Description}:
-A patch for this extension has been submitted, but was not yet applied at the
-time of writing.
-
-@item @emph{Reference}:
-@uref{http://gcc.gnu.org/ml/gcc-patches/2006-05/msg00982.html,
-GCC Patches Mailinglist}
-@uref{http://gcc.gnu.org/ml/gcc-patches/2006-05/msg01133.html,
-GCC Patches Mailinglist}
+Binds threads to specific CPUs. The variable should contain a space- or
+comma-separated list of CPUs. This list may contain different kind of
+entries: either single CPU numbers in any order, a range of CPUs (M-N)
+or a range with some stride (M-N:S). CPU numbers are zero based. For example,
+@code{GOMP_CPU_AFFINITY="0 3 1-2 4-15:2"} will bind the initial thread
+to CPU 0, the second to CPU 3, the third to CPU 1, the fourth to
+CPU 2, the fifth to CPU 4, the sixth through tenth to CPUs 6, 8, 10, 12,
+and 14 respectively and then start assigning back from the beginning of
+the list. @code{GOMP_CPU_AFFINITY=0} binds all threads to CPU 0.
+
+There is no GNU OpenMP library routine to determine whether a CPU affinity
+specification is in effect. As a workaround, language-specific library
+functions, e.g., @code{getenv} in C or @code{GET_ENVIRONMENT_VARIABLE} in
+Fortran, may be used to query the setting of the @code{GOMP_CPU_AFFINITY}
+environment variable. A defined CPU affinity on startup cannot be changed
+or disabled during the runtime of the application.
+
+If this environment variable is omitted, the host system will handle the
+assignment of threads to CPUs.
@end table