3 integer, parameter :: N
= 256
4 integer, save :: a(N
), b(N
/ 16, 8, 4), c(N
/ 32, 8, 8), g(N
/16,8,6)
5 integer, save, volatile :: d
, e
6 integer(kind
=8), save, volatile :: f
9 integer :: m1
, m2
, m3
, m4
, m5
, m6
, m7
, m8
10 integer :: m9
, m10
, m11
, m12
, m13
, m14
, m15
, m16
14 !$omp parallel private (l) shared(k)
15 !$omp do schedule(static, 1) ordered(1)
19 !$omp ordered depend ( sink : i - 1 )
32 !$omp ordered depend(source)
37 !$omp do schedule(static) ordered ( 3 )
38 do i
= 4, N
/ 16 - 1 + f
43 !$omp ordered depend(sink:i,j-2,k-1) &
44 !$omp& depend(sink: i - 2, j - 2, k + 1)
45 !$omp ordered depend(sink:i-3,j+2,k-2)
46 if (j
.gt
.2.and
.k
.gt
.2) then
53 if (i
.gt
.5.and
.j
.gt
.2.and
.k
.lt
.4) then
58 if (i
.gt
.6.and
.j
.le
.N
/16-3.and
.k
.eq
.4) then
60 l
= b( i
- 3, j
+2, k
-2)
63 !$omp ordered depend(source)
70 !$omp do schedule(dynamic, 15) collapse(2) ordered(13)
92 !$omp ordered depend(sink: i, j, k + 2, m1, m2, m3, m4, &
93 !$omp & m5, m6, m7, m8, m9, m10) &
94 !$omp depend(sink: i - 2, j + 1, k - 4, m1,m2,m3,m4,m5, &
95 !$omp & m6,m7,m8,m9,m10) depend ( sink : i-1,j-2,k-2, &
96 !$omp& m1,m2,m3,m4 , m5, m6,m7,m8,m9,m10 )
104 if (i
.ge
.5.and
.j
.lt
.8.and
.k
.ge
.5) then
106 l
= c(i
- 2, j
+ 1, k
- 4)
109 if (i
.ge
.4.and
.j
.ge
.5.and
.k
.ge
.3) then
111 l
= c(i
- 1, j
- 2, k
- 2)
114 !$omp ordered depend ( source )
136 !$omp do schedule(static) ordered(3)
142 !$omp ordered depend(sink: j, k-2,i-1) &
143 !$omp& depend(sink: j - 2, k - 2, i + 1)
144 !$omp ordered depend(sink:j-3,k+2,i-2)
145 if (k
.gt
.2.and
.i
.gt
.4) then
152 if (j
.gt
.2.and
.k
.gt
.2.and
.i
.lt
.6) then
157 if (j
.gt
.3.and
.k
.le
.N
/16-3.and
.i
.eq
.6) then
159 l
= g( j
- 3, k
+2, i
-2)
162 !$omp ordered depend(source)
169 !$omp do collapse(2) ordered(4) lastprivate (i,j,k)
174 !$omp ordered depend(source)
175 !$omp ordered depend(sink: i-2,j+2,k-2,l)
182 if (i
.ne
.3.or
.j
.ne
.-1.or
.k
.ne
.0) STOP 13
185 !$omp do ordered(4) collapse(2) lastprivate (i, j, k, m)
190 !$omp ordered depend(source)
191 !$omp ordered depend(sink: i - 2, j + 2, k - 2, m)
198 if (i
.ne
.3.or
.j
.ne
.-1.or
.k
.ne
.2.or
.m
.ne
.0) STOP 15
200 !$omp do collapse(2) ordered(4) lastprivate (i,j,k)
205 !$omp ordered depend(source)
206 !$omp ordered depend(sink: i-2,j+2,k-2,l)
214 if (a(1) .ne
. 0) STOP 17
215 !$omp end single nowait
218 if (a(i
) .ne
. 3) STOP 18
221 !$omp do collapse(2) private(k)
225 if (i
.ge
.4.and
.i
.lt
.N
/16.and
.iand(j
,1).ne
.0.and
.k
.ge
.2) then
226 if (b(i
,j
,k
).ne
.3) STOP 19
228 if (b(i
,j
,k
).ne
.0) STOP 20
238 if (i
.ge
.3.and
.j
.ge
.3.and
.iand(k
,1).ne
.0) then
239 if (c(i
,j
,k
).ne
.3) STOP 21
241 if (c(i
,j
,k
).ne
.0) STOP 22
247 !$omp do collapse(2) private(k)
251 if (i
.lt
.N
/16.and
.iand(j
,1).ne
.0.and
.k
.ge
.4) then
252 if (g(i
,j
,k
).ne
.3) STOP 23
254 if (g(i
,j
,k
).ne
.0) STOP 24