1 // RUN: %libomp-compile && env OMP_DISPLAY_AFFINITY=true OMP_PLACES=threads OMP_PROC_BIND=spread,close KMP_HOT_TEAMS_MAX_LEVEL=2 %libomp-run | python %S/check.py -c 'CHECK' %s 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <omp.h> 6 7 // Currently, KMP_HOT_TEAMS_MAX_LEVEL has to be equal to the 8 // nest depth for intuitive behavior 9 int main(int argc, char** argv) { 10 omp_set_affinity_format("TESTER: tl:%L tn:%n nt:%N"); 11 omp_set_nested(1); 12 #pragma omp parallel num_threads(4) 13 { 14 #pragma omp parallel num_threads(3) 15 { } 16 #pragma omp parallel num_threads(3) 17 { } 18 } 19 #pragma omp parallel num_threads(4) 20 { } 21 return 0; 22 } 23 24 // CHECK: num_threads=4 TESTER: tl:1 tn:[0-3] nt:4 25 // CHECK: num_threads=3 TESTER: tl:2 tn:[0-2] nt:3 26 // CHECK: num_threads=3 TESTER: tl:2 tn:[0-2] nt:3 27 // CHECK: num_threads=3 TESTER: tl:2 tn:[0-2] nt:3 28 // CHECK: num_threads=3 TESTER: tl:2 tn:[0-2] nt:3 29 // CHECK: num_threads=4 TESTER: tl:1 tn:[0-3] nt:4 30