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