| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| int omp_get_num_teams (void); |
| int omp_get_team_num (void); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| void bar (int *, int *, int *, int, int, int, int); |
| |
| void |
| foo (void) |
| { |
| int a = 1, b = 2, c = 3, d = 4, e = 5, f = 6; |
| #pragma omp teams num_teams (4) shared (b) firstprivate (c, d) private (e, f) |
| { |
| f = 7; |
| bar (&a, &c, &e, b, d, f, 0); |
| } |
| bar (&a, (int *) 0, (int *) 0, b, 0, 0, 1); |
| } |
| |
| void |
| baz (void) |
| { |
| #pragma omp teams |
| { |
| #pragma omp distribute |
| for (int i = 0; i < 64; i++) |
| ; |
| #pragma omp distribute simd |
| for (int i = 0; i < 64; i++) |
| ; |
| #pragma omp distribute parallel for |
| for (int i = 0; i < 64; i++) |
| ; |
| #pragma omp distribute parallel for |
| for (int i = 0; i < 64; i++) |
| ; |
| #pragma omp distribute parallel for simd |
| for (int i = 0; i < 64; i++) |
| ; |
| #pragma omp parallel |
| ; |
| #pragma omp parallel for |
| for (int i = 0; i < 64; i++) |
| ; |
| #pragma omp parallel for simd |
| for (int i = 0; i < 64; i++) |
| ; |
| int a, b; |
| #pragma omp parallel sections |
| { |
| a = 5; |
| #pragma omp section |
| b = 6; |
| } |
| int c = omp_get_num_teams (); |
| int d = omp_get_team_num (); |
| } |
| } |