LLVM OpenMP 20.0.0git
issue-81488.c
Go to the documentation of this file.
1// RUN: %libomp-compile
2// RUN: env OMP_NUM_THREADS=1 LIBOMP_USE_HIDDEN_HELPER_TASK=1 \
3// RUN: LIBOMP_NUM_HIDDEN_HELPER_THREADS=8 %libomp-run
4
5#include <stdio.h>
6#include <stdlib.h>
7#include <omp.h>
8
9#define Nz 8
10#define DEVICE_ID 0
11
12int a[Nz];
13
14int main(void) {
15 for (int n = 0; n < 10; ++n) {
16 for (int k = 0; k < Nz; ++k) {
17 a[k] = -1;
18 }
19#pragma omp parallel shared(a)
20 {
21#pragma omp single
22 {
23#pragma omp target teams distribute parallel for nowait device(DEVICE_ID) \
24 map(tofrom : a[0 : 8])
25 for (int i = 0; i < Nz; ++i) {
26 a[i] = i;
27 }
28 }
29#pragma omp barrier
30 }
31 for (int k = 0; k < Nz; ++k) {
32 printf("a[%d] = %d\n", k, a[k]);
33 }
34 }
35 return 0;
36}
int main(void)
Definition: issue-81488.c:14
int a[Nz]
Definition: issue-81488.c:12
#define Nz
Definition: issue-81488.c:9
#define i
Definition: kmp_stub.cpp:87