1 // RUN: %libomp-compile && env OMP_DISPLAY_AFFINITY=true OMP_PLACES='{0},{0,1},{0},{0,1},{0},{0,1},{0},{0,1},{0},{0,1},{0}' %libomp-run | %python %S/check.py -c 'CHECK' %s 2 // REQUIRES: affinity 3 4 #include <stdio.h> 5 #include <stdlib.h> 6 #include <omp.h> 7 8 int main(int argc, char** argv) { 9 omp_set_affinity_format("TESTER: tl:%L tn:%n nt:%N aff:{%A}"); 10 omp_set_num_threads(8); 11 // Initial parallel 12 #pragma omp parallel proc_bind(spread) 13 { } 14 #pragma omp parallel proc_bind(spread) 15 { } 16 // Affinity changes here 17 #pragma omp parallel proc_bind(close) 18 { } 19 #pragma omp parallel proc_bind(close) 20 { } 21 // Affinity changes here 22 #pragma omp parallel proc_bind(master) 23 { } 24 #pragma omp parallel proc_bind(master) 25 { } 26 return 0; 27 } 28 29 // CHECK: num_threads=8 TESTER: tl:1 tn:[0-7] nt:8 aff: 30 // CHECK: num_threads=8 TESTER: tl:1 tn:[0-7] nt:8 aff: 31 // CHECK: num_threads=8 TESTER: tl:1 tn:[0-7] nt:8 aff: 32