xref: /llvm-project/openmp/runtime/test/affinity/format/nested2.c (revision 1234011b80f835a297482467ca6ca2099677c39c)
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 #include "omp_testsuite.h"
7 
8 // Currently, KMP_HOT_TEAMS_MAX_LEVEL has to be equal to the
9 // nest depth for intuitive behavior
main(int argc,char ** argv)10 int main(int argc, char** argv) {
11   omp_set_affinity_format("TESTER: tl:%L tn:%n nt:%N");
12   omp_set_nested(1);
13   #pragma omp parallel num_threads(4)
14   {
15     go_parallel_nthreads(3);
16     go_parallel_nthreads(3);
17   }
18   go_parallel_nthreads(4);
19   return get_exit_value();
20 }
21 
22 // CHECK: num_threads=4 TESTER: tl:1 tn:[0-3] nt:4
23 // CHECK: num_threads=3 TESTER: tl:2 tn:[0-2] nt:3
24 // CHECK: num_threads=3 TESTER: tl:2 tn:[0-2] nt:3
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=4 TESTER: tl:1 tn:[0-3] nt:4
28