]> gcc.gnu.org Git - gcc.git/blob - libgomp/testsuite/libgomp.oacc-fortran/reduction-9.f90
Various OpenACC reduction enhancements - test cases
[gcc.git] / libgomp / testsuite / libgomp.oacc-fortran / reduction-9.f90
1 ! Test gang reductions on dummy variables.
2
3 ! { dg-do run }
4
5 program main
6 implicit none
7
8 integer g, w, v, c
9
10 g = 0
11 w = 0
12 v = 0
13 c = 0
14
15 call reduction (g, w, v, c)
16
17 if (g /= 10) call abort
18 if (w /= 10) call abort
19 if (v /= 10) call abort
20 if (c /= 100) call abort
21 end program main
22
23 subroutine reduction (g, w, v, c)
24 implicit none
25
26 integer g, w, v, c, i
27
28 !$acc parallel
29 !$acc loop reduction(+:g) gang
30 do i = 1, 10
31 g = g + 1
32 end do
33 !$acc end parallel
34
35 !$acc parallel
36 !$acc loop reduction(+:w) worker
37 do i = 1, 10
38 w = w + 1
39 end do
40 !$acc end parallel
41
42 !$acc parallel
43 !$acc loop reduction(+:v) vector
44 do i = 1, 10
45 v = v + 1
46 end do
47 !$acc end parallel
48
49 !$acc parallel loop reduction(+:c) gang worker vector
50 do i = 1, 100
51 c = c + 1
52 end do
53 !$acc end parallel loop
54 end subroutine reduction
This page took 0.038288 seconds and 5 git commands to generate.