1 // RUN: %libomp-compile && env OMP_DISPLAY_AFFINITY=true %libomp-run | %python %S/check.py -c 'CHECK' %s 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <omp.h> 6 #include "omp_testsuite.h" 7 main(int argc,char ** argv)8int main(int argc, char** argv) { 9 omp_set_affinity_format("TESTER: tl:%L at:%a tn:%n nt:%N"); 10 omp_set_nested(1); 11 #pragma omp parallel num_threads(1) 12 { 13 go_parallel_nthreads(2); 14 #pragma omp parallel num_threads(2) 15 { 16 #pragma omp parallel num_threads(1) 17 { 18 go_parallel_nthreads(2); 19 } 20 } 21 go_parallel_nthreads(1); 22 } 23 go_parallel_nthreads(2); 24 go_parallel_nthreads(1); 25 return get_exit_value(); 26 } 27 28 // CHECK: num_threads=1 TESTER: tl:1 at:0 tn:0 nt:1 29 30 // CHECK: num_threads=2 TESTER: tl:2 at:[0-9] tn:[01] nt:2 31 32 // CHECK: num_threads=1 TESTER: tl:3 at:[0-9] tn:0 nt:1 33 // CHECK: num_threads=1 TESTER: tl:3 at:[0-9] tn:0 nt:1 34 35 // CHECK: num_threads=2 TESTER: tl:4 at:[0-9] tn:[01] nt:2 36 // CHECK: num_threads=2 TESTER: tl:4 at:[0-9] tn:[01] nt:2 37 38 // CHECK: num_threads=1 TESTER: tl:2 at:[0-9] tn:0 nt:1 39 40 // CHECK: num_threads=2 TESTER: tl:1 at:[0-9] tn:[01] nt:2 41 42 // CHECK: num_threads=1 TESTER: tl:1 at:[0-9] tn:0 nt:1 43