LLVM OpenMP
20.0.0git
runtime
test
tasking
omp_taskloop_taskwait.c
Go to the documentation of this file.
1
// RUN: %libomp-compile-and-run
2
#include <stdio.h>
3
#include <omp.h>
4
int
main
()
5
{
6
enum
{
ITERS
= 500};
7
enum
{SIZE = 5};
8
int
err
= 0;
9
#pragma omp parallel num_threads(2) reduction(+:err)
10
{
11
int
r
= 0;
12
int
i
;
13
#pragma omp taskloop grainsize(SIZE) shared(r) nogroup
14
for
(
i
=0;
i
<
ITERS
;
i
++) {
15
#pragma omp atomic
16
++
r
;
17
}
18
#pragma omp taskwait
19
printf(
"%d\n"
,
r
);
20
if
(
r
!=
ITERS
)
21
err
++;
22
}
// end of parallel
23
if
(
err
!= 0) {
24
printf(
"failed, err = %d\n"
,
err
);
25
return
1;
26
}
else
{
27
printf(
"passed\n"
);
28
return
0;
29
}
30
}
i
#define i
Definition:
kmp_stub.cpp:87
ITERS
#define ITERS
Definition:
omp_nonmonotonic_dynamic1.c:10
r
int r
Definition:
omp_task_red_taskloop.c:15
main
int main()
Definition:
omp_taskloop_taskwait.c:4
err
static int err
Definition:
teams-no-par.c:16
Generated on Wed Feb 5 2025 10:57:21 for LLVM OpenMP by
1.9.6