http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58642
--- Comment #28 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
updated to the new revision
gcc version 4.9.0 20131007 (experimental) [gomp-4_0-branch revision 203250]
(GCC)
[innocent@olsnba04 parallel]$ setenv OMP_PROC_BIND 'spread,master,close';
setenv OMP_PLACES '{0}:8'
[innocent@olsnba04 parallel]$ printenv | grep OMP
OMP_PROC_BIND=spread,master,close
OMP_PLACES={0}:8
[innocent@olsnba04 parallel]$ strace ./affinity-1.exe | & grep affin
execve("./affinity-1.exe", ["./affinity-1.exe"], [/* 61 vars */]) = 0
sched_getaffinity(109733, 8, 0x1dc8010) = -1 EINVAL (Invalid argument)
sched_getaffinity(109733, 128, { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_getaffinity(109733, 128, { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_setaffinity(109733, 8, { 1 }) = 0
sched_getaffinity(109733, 8, 0x7fff71425940) = -1 EINVAL (Invalid argument)
sched_setaffinity(109734, 8, { 4 }) = 0
sched_setaffinity(109735, 8, { 10 }) = 0
sched_setaffinity(109736, 8, { 40 }) = 0
sched_getaffinity(109733, 8, 0x7fff714258c0) = -1 EINVAL (Invalid argument)
sched_setaffinity(109755, 8, { 80 }) = 0
sched_getaffinity(109733, 8, 0x7fff714258b0) = -1 EINVAL (Invalid argument)
sched_setaffinity(109770, 8, { 1 }) = 0
sched_setaffinity(109771, 8, { 1 }) = 0
sched_getaffinity(109733, 8, 0x7fff714258c0) = -1 EINVAL (Invalid argument)
sched_setaffinity(109794, 8, { 2 }) = 0
sched_setaffinity(109795, 8, { 4 }) = 0
sched_setaffinity(109796, 8, { 8 }) = 0
sched_setaffinity(109797, 8, { 10 }) = 0
sched_getaffinity(109733, 8, 0x7fff714258b0) = -1 EINVAL (Invalid argument)
[innocent@olsnba04 parallel]$ ./affinity-1.exe
OMP_PROC_BIND='spread,master,close' OMP_PLACES='{0}:8'
Initial thread
#1 thread 0
#1 thread 2
#1 thread 1
#1 thread 3
#1,#1 thread 3,0
#1,#1 thread 3,2
#1,#1 thread 3,1
#1,#2 thread 3,3
#1,#2 thread 3,0
#1,#2 thread 3,2
#1,#2 thread 3,4
#1,#2 thread 3,1
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#3 thread 3,1
#1,#4 thread 3,5
#1,#4 thread 3,0
#1,#4 thread 3,4
#1,#4 thread 3,2
#1,#4 thread 3,3
#1,#4 thread 3,1
#2 thread 0
#2 thread 3
#2 thread 1
#2 thread 2
#2 thread 4
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#1 thread 3,1
#2,#2 thread 3,0
#2,#2 thread 3,4
#2,#2 thread 3,3
#2,#2 thread 3,2
#2,#2 thread 3,1
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#3 thread 3,2
#2,#3 thread 3,1
#2,#4 thread 3,0
#2,#4 thread 3,5
#2,#4 thread 3,4
#2,#4 thread 3,3
#2,#4 thread 3,2
#2,#4 thread 3,1
#3 thread 0
#3 thread 2
#3 thread 1
#3,#1 thread 2,0
#3,#1 thread 2,3
#3,#1 thread 2,2
#3,#1 thread 2,1
#3,#2 thread 2,2
#3,#2 thread 2,1
#3,#2 thread 2,0
#3,#2 thread 2,3
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,0
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#3 thread 2,1
#3,#4 thread 2,5
#3,#4 thread 2,1
#3,#4 thread 2,0
#3,#4 thread 2,2
#3,#4 thread 2,3
#3,#4 thread 2,4
#4 thread 1
#4 thread 2
#4 thread 3
#4 thread 4
#4 thread 0
#4,#1 thread 2,0
#4,#1 thread 2,3
#4,#1 thread 2,2
#4,#1 thread 2,1
#4,#2 thread 2,1
#4,#2 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,0
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,4
#4,#2,#1 thread 2,0,1
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,3
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,2
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,1
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,2
#4,#3 thread 2,0
#4,#3 thread 2,3
#4,#3 thread 2,2
#4,#3 thread 2,1
#4,#4 thread 2,2
#4,#4 thread 2,5
#4,#4 thread 2,4
#4,#4 thread 2,0
#4,#4 thread 2,1
#4,#4 thread 2,3
[innocent@olsnba04 parallel]$ setenv OMP_PROC_BIND 'spread,master,close';
setenv OMP_PLACES '{7,6}:2:-3'
[innocent@olsnba04 parallel]$ printenv | grep OMP
OMP_PROC_BIND=spread,master,close
OMP_PLACES={7,6}:2:-3
strace ./affinity-1.exe |& grep affin
execve("./affinity-1.exe", ["./affinity-1.exe"], [/* 61 vars */]) = 0
sched_getaffinity(109640, 8, 0x24e9010) = -1 EINVAL (Invalid argument)
sched_getaffinity(109640, 128, { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_getaffinity(109640, 128, { ffffffff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 }) = 128
sched_setaffinity(109640, 8, { c0 }) = 0
sched_getaffinity(109640, 8, 0x7fffaeaeda40) = -1 EINVAL (Invalid argument)
sched_setaffinity(109641, 8, { c0 }) = 0
sched_setaffinity(109642, 8, { 18 }) = 0
sched_setaffinity(109643, 8, { 18 }) = 0
sched_getaffinity(109640, 8, 0x7fffaeaed9c0) = -1 EINVAL (Invalid argument)
sched_setaffinity(109662, 8, { c0 }) = 0
sched_getaffinity(109640, 8, 0x7fffaeaed9b0) = -1 EINVAL (Invalid argument)
sched_getaffinity(109640, 8, 0x7fffaeaed9c0) = -1 EINVAL (Invalid argument)
sched_setaffinity(109699, 8, { 18 }) = 0
sched_setaffinity(109700, 8, { 18 }) = 0
sched_getaffinity(109640, 8, 0x7fffaeaed9b0) = -1 EINVAL (Invalid argument)
[innocent@olsnba04 parallel]$ ./affinity-1.exe
OMP_PROC_BIND='spread,master,close' OMP_PLACES='{7,6}:2:-3'
Initial thread
#1 thread 0
#1 thread 3
#1 thread 1
#1 thread 2
#1,#1 thread 3,1
#1,#1 thread 3,2
#1,#1 thread 3,0
#1,#2 thread 3,2
#1,#2 thread 3,3
#1,#2 thread 3,0
#1,#2 thread 3,1
#1,#2 thread 3,4
#1,#2,#1 thread 3,3,3
#1,#2,#1 thread 3,3,0
#1,#2,#1 thread 3,3,2
#1,#2,#1 thread 3,3,4
#1,#2,#1 thread 3,3,1
#1,#3 thread 3,1
#1,#3 thread 3,0
#1,#3 thread 3,3
#1,#3 thread 3,2
#1,#4 thread 3,1
#1,#4 thread 3,0
#1,#4 thread 3,5
#1,#4 thread 3,4
#1,#4 thread 3,3
#1,#4 thread 3,2
#2 thread 2
#2 thread 0
#2 thread 3
#2 thread 1
#2 thread 4
#2,#1 thread 3,1
#2,#1 thread 3,0
#2,#1 thread 3,2
#2,#2 thread 3,0
#2,#2 thread 3,2
#2,#2 thread 3,3
#2,#2 thread 3,1
#2,#2 thread 3,4
#2,#3 thread 3,1
#2,#3 thread 3,2
#2,#3 thread 3,0
#2,#3 thread 3,3
#2,#4 thread 3,0
#2,#4 thread 3,3
#2,#4 thread 3,4
#2,#4 thread 3,1
#2,#4 thread 3,5
#2,#4 thread 3,2
#3 thread 0
#3 thread 2
#3 thread 1
#3,#1 thread 2,2
#3,#1 thread 2,0
#3,#1 thread 2,1
#3,#1 thread 2,3
#3,#2 thread 2,0
#3,#2 thread 2,1
#3,#2 thread 2,3
#3,#2 thread 2,2
#3,#2,#1 thread 2,0,3
#3,#2,#1 thread 2,0,0
#3,#2,#1 thread 2,0,2
#3,#2,#1 thread 2,0,4
#3,#2,#1 thread 2,0,1
#3,#2,#2 thread 2,3,4
#3,#2,#2 thread 2,3,0
#3,#2,#2 thread 2,3,2
#3,#2,#2 thread 2,3,3
#3,#2,#2 thread 2,3,1
#3,#3 thread 2,0
#3,#3 thread 2,1
#3,#3 thread 2,3
#3,#3 thread 2,2
#3,#4 thread 2,3
#3,#4 thread 2,0
#3,#4 thread 2,1
#3,#4 thread 2,4
#3,#4 thread 2,5
#3,#4 thread 2,2
#4 thread 1
#4 thread 3
#4 thread 4
#4 thread 2
#4 thread 0
#4,#1 thread 2,1
#4,#1 thread 2,0
#4,#1 thread 2,2
#4,#1 thread 2,3
#4,#2 thread 2,2
#4,#2 thread 2,1
#4,#2 thread 2,3
#4,#2 thread 2,0
#4,#2,#1 thread 2,0,3
#4,#2,#1 thread 2,0,0
#4,#2,#1 thread 2,0,2
#4,#2,#1 thread 2,0,1
#4,#2,#1 thread 2,0,4
#4,#2,#2 thread 2,2,1
#4,#2,#2 thread 2,2,0
#4,#2,#2 thread 2,2,3
#4,#2,#2 thread 2,2,4
#4,#2,#2 thread 2,2,2
#4,#2,#3 thread 2,3,4
#4,#2,#3 thread 2,3,0
#4,#2,#3 thread 2,3,3
#4,#2,#3 thread 2,3,1
#4,#2,#3 thread 2,3,2
#4,#3 thread 2,1
#4,#3 thread 2,0
#4,#3 thread 2,2
#4,#3 thread 2,3
#4,#4 thread 2,2
#4,#4 thread 2,3
#4,#4 thread 2,0
#4,#4 thread 2,5
#4,#4 thread 2,1
#4,#4 thread 2,4
[innocent@olsnba04 parallel]$
>>