Skip to content

Commit 35c57eb

Browse files
Made it through common
1 parent ed2bc5e commit 35c57eb

File tree

9 files changed

+118
-135
lines changed

9 files changed

+118
-135
lines changed

src/common/include/parallel_macros.fpp

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,7 @@
1919

2020
#:enddef
2121

22-
#:def GPU_PARALLEL_LOOP(code, collapse=None, private=None, parallelism='[gang, vector]', &
23-
& default='present', firstprivate=None, reduction=None, reductionOp=None, &
24-
& copy=None, copyin=None, copyinReadOnly=None, copyout=None, create=None, &
25-
& no_create=None, present=None, deviceptr=None, attach=None, extraAccArgs=None, extraOmpArgs=None)
26-
27-
#:set acc_code = ACC_PARALLEL_LOOP(code, collapse, private, parallelism, default, firstprivate, reduction, reductionOp, copy, copyin, copyinReadOnly, copyout, create, no_create, present, deviceptr, attach, extraAccArgs)
28-
#:set omp_code = OMP_PARALLEL_LOOP(code, collapse, private, parallelism, default, firstprivate, reduction, reductionOp, copy, copyin, copyinReadOnly, copyout, create, no_create, present, deviceptr, attach, extraOmpArgs)
29-
30-
#if defined(MFC_OpenACC)
31-
$:acc_code
32-
#elif defined(MFC_OpenMP)
33-
$:omp_code
34-
#else
35-
$:code
36-
#endif
37-
#:enddef
38-
39-
#:def NEW_GPU_PARALLEL_LOOP(collapse=None, private=None, parallelism='[gang, vector]', &
22+
#:def GPU_PARALLEL_LOOP(collapse=None, private=None, parallelism='[gang, vector]', &
4023
& default='present', firstprivate=None, reduction=None, reductionOp=None, &
4124
& copy=None, copyin=None, copyinReadOnly=None, copyout=None, create=None, &
4225
& no_create=None, present=None, deviceptr=None, attach=None, extraAccArgs=None, extraOmpArgs=None)
@@ -53,14 +36,14 @@
5336

5437
#:def END_GPU_PARALLEL_LOOP()
5538

56-
#:set acc_end_directive = '!$acc end parallel loop'
57-
#:set omp_code = END_OMP_PARALLEL_LOOP(code, collapse, private, parallelism, default, firstprivate, reduction, reductionOp, copy, copyin, copyinReadOnly, copyout, create, no_create, present, deviceptr, attach, extraOmpArgs)
58-
5939
#if defined(MFC_OpenACC)
60-
$:acc_end_directive
40+
#:set end_directive = '!$acc end parallel loop'
6141
#elif defined(MFC_OpenMP)
62-
$:omp_code
42+
#:set end_directive = END_OMP_PARALLEL_LOOP(code, collapse, private, parallelism, default, firstprivate, reduction, reductionOp, copy, copyin, copyinReadOnly, copyout, create, no_create, present, deviceptr, attach, extraOmpArgs)
6343
#endif
44+
45+
$:end_directive
46+
6447
#:enddef
6548

6649
#:def GPU_ROUTINE(function_name=None, parallelism=None, nohost=False, cray_inline=False, extraAccArgs=None, extraOmpArgs=None)

src/common/m_boundary_common.fpp

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ contains
8888
if (bc_x%beg >= 0) then
8989
call s_mpi_sendrecv_variables_buffers(q_prim_vf, 1, -1, sys_size, pb_in, mv_in)
9090
else
91-
#:call GPU_PARALLEL_LOOP(collapse=2)
91+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
9292
do l = 0, p
9393
do k = 0, n
9494
select case (int(bc_type(1, -1)%sf(0, k, l)))
@@ -112,13 +112,13 @@ contains
112112
end if
113113
end do
114114
end do
115-
#:endcall GPU_PARALLEL_LOOP
115+
$:END_GPU_PARALLEL_LOOP
116116
end if
117117

118118
if (bc_x%end >= 0) then
119119
call s_mpi_sendrecv_variables_buffers(q_prim_vf, 1, 1, sys_size, pb_in, mv_in)
120120
else
121-
#:call GPU_PARALLEL_LOOP(collapse=2)
121+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
122122
do l = 0, p
123123
do k = 0, n
124124
select case (int(bc_type(1, 1)%sf(0, k, l)))
@@ -142,7 +142,7 @@ contains
142142
end if
143143
end do
144144
end do
145-
#:endcall GPU_PARALLEL_LOOP
145+
$:END_GPU_PARALLEL_LOOP
146146
end if
147147

148148
! Population of Buffers in y-direction
@@ -152,7 +152,7 @@ contains
152152
if (bc_y%beg >= 0) then
153153
call s_mpi_sendrecv_variables_buffers(q_prim_vf, 2, -1, sys_size, pb_in, mv_in)
154154
else
155-
#:call GPU_PARALLEL_LOOP(collapse=2)
155+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
156156
do l = 0, p
157157
do k = -buff_size, m + buff_size
158158
select case (int(bc_type(2, -1)%sf(k, 0, l)))
@@ -179,13 +179,13 @@ contains
179179
end if
180180
end do
181181
end do
182-
#:endcall GPU_PARALLEL_LOOP
182+
$:END_GPU_PARALLEL_LOOP
183183
end if
184184

185185
if (bc_y%end >= 0) then
186186
call s_mpi_sendrecv_variables_buffers(q_prim_vf, 2, 1, sys_size, pb_in, mv_in)
187187
else
188-
#:call GPU_PARALLEL_LOOP(collapse=2)
188+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
189189
do l = 0, p
190190
do k = -buff_size, m + buff_size
191191
select case (int(bc_type(2, 1)%sf(k, 0, l)))
@@ -209,7 +209,7 @@ contains
209209
end if
210210
end do
211211
end do
212-
#:endcall GPU_PARALLEL_LOOP
212+
$:END_GPU_PARALLEL_LOOP
213213
end if
214214

215215
! Population of Buffers in z-direction
@@ -219,7 +219,7 @@ contains
219219
if (bc_z%beg >= 0) then
220220
call s_mpi_sendrecv_variables_buffers(q_prim_vf, 3, -1, sys_size, pb_in, mv_in)
221221
else
222-
#:call GPU_PARALLEL_LOOP(collapse=2)
222+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
223223
do l = -buff_size, n + buff_size
224224
do k = -buff_size, m + buff_size
225225
select case (int(bc_type(3, -1)%sf(k, l, 0)))
@@ -243,13 +243,13 @@ contains
243243
end if
244244
end do
245245
end do
246-
#:endcall GPU_PARALLEL_LOOP
246+
$:END_GPU_PARALLEL_LOOP
247247
end if
248248

249249
if (bc_z%end >= 0) then
250250
call s_mpi_sendrecv_variables_buffers(q_prim_vf, 3, 1, sys_size, pb_in, mv_in)
251251
else
252-
#:call GPU_PARALLEL_LOOP(collapse=2)
252+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
253253
do l = -buff_size, n + buff_size
254254
do k = -buff_size, m + buff_size
255255
select case (int(bc_type(3, 1)%sf(k, l, 0)))
@@ -273,7 +273,7 @@ contains
273273
end if
274274
end do
275275
end do
276-
#:endcall GPU_PARALLEL_LOOP
276+
$:END_GPU_PARALLEL_LOOP
277277
end if
278278
! END: Population of Buffers in z-direction
279279

@@ -1165,7 +1165,7 @@ contains
11651165
if (bc_x%beg >= 0) then
11661166
call s_mpi_sendrecv_variables_buffers(c_divs, 1, -1, num_dims + 1)
11671167
else
1168-
#:call GPU_PARALLEL_LOOP(collapse=2)
1168+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
11691169
do l = 0, p
11701170
do k = 0, n
11711171
select case (bc_type(1, -1)%sf(0, k, l))
@@ -1178,13 +1178,13 @@ contains
11781178
end select
11791179
end do
11801180
end do
1181-
#:endcall GPU_PARALLEL_LOOP
1181+
$:END_GPU_PARALLEL_LOOP
11821182
end if
11831183

11841184
if (bc_x%end >= 0) then
11851185
call s_mpi_sendrecv_variables_buffers(c_divs, 1, 1, num_dims + 1)
11861186
else
1187-
#:call GPU_PARALLEL_LOOP(collapse=2)
1187+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
11881188
do l = 0, p
11891189
do k = 0, n
11901190
select case (bc_type(1, 1)%sf(0, k, l))
@@ -1197,7 +1197,7 @@ contains
11971197
end select
11981198
end do
11991199
end do
1200-
#:endcall GPU_PARALLEL_LOOP
1200+
$:END_GPU_PARALLEL_LOOP
12011201
end if
12021202

12031203
if (n == 0) return
@@ -1206,7 +1206,7 @@ contains
12061206
if (bc_y%beg >= 0) then
12071207
call s_mpi_sendrecv_variables_buffers(c_divs, 2, -1, num_dims + 1)
12081208
else
1209-
#:call GPU_PARALLEL_LOOP(collapse=2)
1209+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
12101210
do l = 0, p
12111211
do k = -buff_size, m + buff_size
12121212
select case (bc_type(2, -1)%sf(k, 0, l))
@@ -1219,13 +1219,13 @@ contains
12191219
end select
12201220
end do
12211221
end do
1222-
#:endcall GPU_PARALLEL_LOOP
1222+
$:END_GPU_PARALLEL_LOOP
12231223
end if
12241224

12251225
if (bc_y%end >= 0) then
12261226
call s_mpi_sendrecv_variables_buffers(c_divs, 2, 1, num_dims + 1)
12271227
else
1228-
#:call GPU_PARALLEL_LOOP(collapse=2)
1228+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
12291229
do l = 0, p
12301230
do k = -buff_size, m + buff_size
12311231
select case (bc_type(2, 1)%sf(k, 0, l))
@@ -1238,7 +1238,7 @@ contains
12381238
end select
12391239
end do
12401240
end do
1241-
#:endcall GPU_PARALLEL_LOOP
1241+
$:END_GPU_PARALLEL_LOOP
12421242
end if
12431243

12441244
if (p == 0) return
@@ -1247,7 +1247,7 @@ contains
12471247
if (bc_z%beg >= 0) then
12481248
call s_mpi_sendrecv_variables_buffers(c_divs, 3, -1, num_dims + 1)
12491249
else
1250-
#:call GPU_PARALLEL_LOOP(collapse=2)
1250+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
12511251
do l = -buff_size, n + buff_size
12521252
do k = -buff_size, m + buff_size
12531253
select case (bc_type(3, -1)%sf(k, l, 0))
@@ -1260,13 +1260,13 @@ contains
12601260
end select
12611261
end do
12621262
end do
1263-
#:endcall GPU_PARALLEL_LOOP
1263+
$:END_GPU_PARALLEL_LOOP
12641264
end if
12651265

12661266
if (bc_z%end >= 0) then
12671267
call s_mpi_sendrecv_variables_buffers(c_divs, 3, 1, num_dims + 1)
12681268
else
1269-
#:call GPU_PARALLEL_LOOP(collapse=2)
1269+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
12701270
do l = -buff_size, n + buff_size
12711271
do k = -buff_size, m + buff_size
12721272
select case (bc_type(3, 1)%sf(k, l, 0))
@@ -1279,7 +1279,7 @@ contains
12791279
end select
12801280
end do
12811281
end do
1282-
#:endcall GPU_PARALLEL_LOOP
1282+
$:END_GPU_PARALLEL_LOOP
12831283
end if
12841284
end subroutine s_populate_capillary_buffers
12851285

@@ -1482,7 +1482,7 @@ contains
14821482
if (bc_x%beg >= 0) then
14831483
call s_mpi_sendrecv_variables_buffers(jac_sf, 1, -1, 1)
14841484
else
1485-
#:call GPU_PARALLEL_LOOP(collapse=2)
1485+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
14861486
do l = 0, p
14871487
do k = 0, n
14881488
select case (bc_type(1, -1)%sf(0, k, l))
@@ -1501,14 +1501,14 @@ contains
15011501
end select
15021502
end do
15031503
end do
1504-
#:endcall GPU_PARALLEL_LOOP
1504+
$:END_GPU_PARALLEL_LOOP
15051505

15061506
end if
15071507

15081508
if (bc_x%end >= 0) then
15091509
call s_mpi_sendrecv_variables_buffers(jac_sf, 1, 1, 1)
15101510
else
1511-
#:call GPU_PARALLEL_LOOP(collapse=2)
1511+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
15121512
do l = 0, p
15131513
do k = 0, n
15141514
select case (bc_type(1, 1)%sf(0, k, l))
@@ -1527,7 +1527,7 @@ contains
15271527
end select
15281528
end do
15291529
end do
1530-
#:endcall GPU_PARALLEL_LOOP
1530+
$:END_GPU_PARALLEL_LOOP
15311531

15321532
end if
15331533

@@ -1536,7 +1536,7 @@ contains
15361536
else if (bc_y%beg >= 0) then
15371537
call s_mpi_sendrecv_variables_buffers(jac_sf, 2, -1, 1)
15381538
else
1539-
#:call GPU_PARALLEL_LOOP(collapse=2)
1539+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
15401540
do l = 0, p
15411541
do k = idwbuff(1)%beg, idwbuff(1)%end
15421542
select case (bc_type(2, -1)%sf(k, 0, l))
@@ -1555,14 +1555,14 @@ contains
15551555
end select
15561556
end do
15571557
end do
1558-
#:endcall GPU_PARALLEL_LOOP
1558+
$:END_GPU_PARALLEL_LOOP
15591559

15601560
end if
15611561

15621562
if (bc_y%end >= 0) then
15631563
call s_mpi_sendrecv_variables_buffers(jac_sf, 2, 1, 1)
15641564
else
1565-
#:call GPU_PARALLEL_LOOP(collapse=2)
1565+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
15661566
do l = 0, p
15671567
do k = idwbuff(1)%beg, idwbuff(1)%end
15681568
select case (bc_type(2, 1)%sf(k, 0, l))
@@ -1581,15 +1581,15 @@ contains
15811581
end select
15821582
end do
15831583
end do
1584-
#:endcall GPU_PARALLEL_LOOP
1584+
$:END_GPU_PARALLEL_LOOP
15851585
end if
15861586

15871587
if (p == 0) then
15881588
return
15891589
else if (bc_z%beg >= 0) then
15901590
call s_mpi_sendrecv_variables_buffers(jac_sf, 3, -1, 1)
15911591
else
1592-
#:call GPU_PARALLEL_LOOP(collapse=2)
1592+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
15931593
do l = idwbuff(2)%beg, idwbuff(2)%end
15941594
do k = idwbuff(1)%beg, idwbuff(1)%end
15951595
select case (bc_type(3, -1)%sf(k, l, 0))
@@ -1608,13 +1608,13 @@ contains
16081608
end select
16091609
end do
16101610
end do
1611-
#:endcall GPU_PARALLEL_LOOP
1611+
$:END_GPU_PARALLEL_LOOP
16121612
end if
16131613

16141614
if (bc_z%end >= 0) then
16151615
call s_mpi_sendrecv_variables_buffers(jac_sf, 3, 1, 1)
16161616
else
1617-
#:call GPU_PARALLEL_LOOP(collapse=2)
1617+
$:GPU_PARALLEL_LOOP(private='[l,k]', collapse=2)
16181618
do l = idwbuff(2)%beg, idwbuff(2)%end
16191619
do k = idwbuff(1)%beg, idwbuff(1)%end
16201620
select case (bc_type(3, 1)%sf(k, l, 0))
@@ -1633,7 +1633,7 @@ contains
16331633
end select
16341634
end do
16351635
end do
1636-
#:endcall GPU_PARALLEL_LOOP
1636+
$:END_GPU_PARALLEL_LOOP
16371637
end if
16381638

16391639
end subroutine s_populate_F_igr_buffers

src/common/m_chemistry.fpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ contains
129129
real(wp), dimension(num_species) :: Ys
130130
real(wp), dimension(num_species) :: omega
131131

132-
#:call GPU_PARALLEL_LOOP(collapse=3, private='[Ys, omega, T]')
132+
$:GPU_PARALLEL_LOOP(collapse=3, private='[x,y,z,Ys, omega, T]')
133133
do z = bounds(3)%beg, bounds(3)%end
134134
do y = bounds(2)%beg, bounds(2)%end
135135
do x = bounds(1)%beg, bounds(1)%end
@@ -159,7 +159,7 @@ contains
159159
end do
160160
end do
161161
end do
162-
#:endcall GPU_PARALLEL_LOOP
162+
$:END_GPU_PARALLEL_LOOP
163163

164164
end subroutine s_compute_chemistry_reaction_flux
165165

@@ -191,7 +191,7 @@ contains
191191
offsets = 0
192192
offsets(idir) = 1
193193

194-
#:call GPU_PARALLEL_LOOP(collapse=3, private='[Ys_L, Ys_R, Ys_cell, Xs_L, Xs_R, mass_diffusivities_mixavg1, mass_diffusivities_mixavg2, mass_diffusivities_mixavg_Cell, h_l, h_r, Xs_cell, h_k, dXk_dxi,Mass_Diffu_Flux]', copyin='[offsets]')
194+
$:GPU_PARALLEL_LOOP(collapse=3, private='[x,y,z,Ys_L, Ys_R, Ys_cell, Xs_L, Xs_R, mass_diffusivities_mixavg1, mass_diffusivities_mixavg2, mass_diffusivities_mixavg_Cell, h_l, h_r, Xs_cell, h_k, dXk_dxi,Mass_Diffu_Flux]', copyin='[offsets]')
195195
do z = isc3%beg, isc3%end
196196
do y = isc2%beg, isc2%end
197197
do x = isc1%beg, isc1%end
@@ -298,7 +298,7 @@ contains
298298
end do
299299
end do
300300
end do
301-
#:endcall GPU_PARALLEL_LOOP
301+
$:END_GPU_PARALLEL_LOOP
302302
end if
303303

304304
end subroutine s_compute_chemistry_diffusion_flux

0 commit comments

Comments
 (0)