0
|
1 #include <omp.h>
|
|
2 #include <stdlib.h>
|
|
3
|
|
4 int
|
|
5 main (void)
|
|
6 {
|
|
7 int i = -1, j = -1;
|
|
8
|
|
9 omp_set_nested (0);
|
|
10 omp_set_dynamic (0);
|
|
11 #pragma omp parallel num_threads (4)
|
|
12 {
|
|
13 #pragma omp single
|
|
14 {
|
|
15 i = omp_get_thread_num () + omp_get_num_threads () * 256;
|
|
16 #pragma omp parallel num_threads (2)
|
|
17 {
|
|
18 #pragma omp single
|
|
19 {
|
|
20 j = omp_get_thread_num () + omp_get_num_threads () * 256;
|
|
21 }
|
|
22 }
|
|
23 }
|
|
24 }
|
|
25 if (i < 4 * 256 || i >= 4 * 256 + 4)
|
|
26 abort ();
|
|
27 if (j != 256 + 0)
|
|
28 abort ();
|
|
29 return 0;
|
|
30 }
|