@@ -66,7 +66,7 @@ CONTAINS
66
66
ENDIF
67
67
68
68
SELECT CASE (LAST_CONTIG_DIM)
69
- #:if defined('CUDA ')
69
+ #:if defined('WITH_HIC ')
70
70
CASE (${ft.rank}$)
71
71
FUNC => ${ftn}$_COPY_DIM${ft.rank}$_CONTIGUOUS
72
72
#:for d1 in range (ft.rank)
@@ -111,19 +111,15 @@ CONTAINS
111
111
112
112
#:for d in range (0, ft.rank+1)
113
113
SUBROUTINE ${ftn}$_COPY_DIM${d}$_CONTIGUOUS (HST, DEV, MAP_DEVPTR, KDIR, QUEUE)
114
- #ifdef _OPENACC
115
114
$:offload_macros.RuntimeApiImport(indent=2)
116
- #endif
117
115
USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : INT64
118
116
${ft.type}$, POINTER :: HST (${ft.shape}$), DEV (${ft.shape}$)
119
117
LOGICAL, INTENT (IN) :: MAP_DEVPTR
120
118
INTEGER (KIND=JPIM), INTENT (IN) :: KDIR
121
119
INTEGER (KIND=JPIM), OPTIONAL, INTENT (IN) :: QUEUE
122
120
INTEGER (KIND=INT64) :: ISIZE
123
121
INTEGER :: ${', '.join (['J'] + list (map (lambda i: 'J' + str (i+1), range (d, ft.rank))))}$
124
- #ifdef _OPENACC
125
122
$:offload_macros.CDevptrDecl(symbols=['DEVPTR'], indent=4)
126
- #endif
127
123
128
124
#:for e in range (ft.rank, d, -1)
129
125
${' ' * (ft.rank - e)}$DO J${e}$ = LBOUND (HST, ${e}$), UBOUND (HST, ${e}$)
@@ -132,7 +128,7 @@ $:offload_macros.CDevptrDecl(symbols=['DEVPTR'], indent=4)
132
128
#:set lbdiff = lambda i: f'LBOUND(DEV,{i}) - LBOUND (HST,{i})'
133
129
#:set ard = ', '.join ([':'] * d + ['J' + str(i+1) + ' + ' + lbdiff(i+1) for i in range (d, ft.rank)])
134
130
#:set indent = ' ' * (ft.rank - e)
135
- #ifdef _OPENACC
131
+ #ifdef WITH_GPU_OFFLOAD
136
132
${indent}$ IF(MAP_DEVPTR)THEN
137
133
$:offload_macros.HostDataStart(symbols=[f'DEV ({ard})'], indent=ft.rank - e)
138
134
${indent}$ DEVPTR = ${offload_macros.DevptrCLOC(f'DEV ({ard})')}$
@@ -149,7 +145,7 @@ $:offload_macros.DataEnd(indent=ft.rank - e)
149
145
${indent}$ ISIZE = SIZEOF ( HST(${ar}$) )
150
146
#:endif
151
147
${indent}$ IF (KDIR == NH2D) THEN
152
- #ifdef _OPENACC
148
+ #ifdef WITH_GPU_OFFLOAD
153
149
${indent}$ IF(PRESENT(QUEUE))THEN
154
150
$:offload_macros.CopyToDevice1DAsync(dev='DEVPTR', host=f'HST ({ar})', size='ISIZE', queue='QUEUE', indent=ft.rank - e + 10)
155
151
${indent}$ ELSE
@@ -159,7 +155,7 @@ $:offload_macros.CopyToDevice1D(dev='DEVPTR', host=f'HST ({ar})', size='ISIZE',
159
155
${indent}$ DEV (${ard}$) = HST (${ar}$)
160
156
#endif
161
157
${indent}$ ELSEIF (KDIR == ND2H) THEN
162
- #ifdef _OPENACC
158
+ #ifdef WITH_GPU_OFFLOAD
163
159
${indent}$ IF(PRESENT(QUEUE))THEN
164
160
$:offload_macros.CopyFromDevice1DAsync(dev='DEVPTR', host=f'HST ({ar})', size='ISIZE', queue='QUEUE', indent=ft.rank - e + 10)
165
161
${indent}$ ELSE
@@ -176,7 +172,7 @@ $:offload_macros.CopyFromDevice1D(dev='DEVPTR', host=f'HST ({ar})', size='ISIZE'
176
172
177
173
#:endfor
178
174
179
- #:if defined('CUDA ')
175
+ #:if defined('WITH_HIC ')
180
176
#:for d1 in range (0, ft.rank)
181
177
#:for d2 in range (d1+1, ft.rank+1)
182
178
SUBROUTINE ${ftn}$_COPY_2D_DIM${d1}$_${d2}$_CONTIGUOUS (HST, DEV, MAP_DEVPTR, KDIR, QUEUE)
0 commit comments