xref: /llvm-project/openmp/runtime/test/affinity/format/nested_mixed.c (revision 1234011b80f835a297482467ca6ca2099677c39c)
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)8 int 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