|
84 | 84 | $:deviceptr_val |
85 | 85 | #:enddef |
86 | 86 |
|
87 | | -#:def OMP_ATTACH_STR(attach) |
88 | | - #! #:if attach is not None |
89 | | - #! #:stop 'attach is not supported yet' |
90 | | - #! #:endif |
91 | | - #:set attach_val = '' |
92 | | - $:attach_val |
93 | | -#:enddef |
| 87 | +#! #:def OMP_ATTACH_STR(attach) |
| 88 | + #! #:set attach_val = OMP_MAP_STR('always,to', attach) |
| 89 | + #! $:attach_val |
| 90 | +#! #:enddef |
| 91 | + |
| 92 | +#! #:def OMP_DETACH_STR(detach) |
| 93 | + #! #:set detach_val = OMP_MAP_STR('always,from', detach) |
| 94 | + #! $:detach_val |
| 95 | +#! #:enddef |
94 | 96 |
|
95 | 97 | #:def OMP_TO_STR(to) |
96 | 98 | #:set to_val = GEN_PARENTHESES_CLAUSE('to', to) |
|
130 | 132 | #:set no_create_val = OMP_NOCREATE_STR(no_create) |
131 | 133 | #:set present_val = OMP_PRESENT_STR(present) |
132 | 134 | #:set deviceptr_val = OMP_DEVICEPTR_STR(deviceptr) |
133 | | - #:set attach_val = OMP_MAP_STR('tofrom', attach) |
| 135 | + #:set attach_val = OMP_MAP_STR('always,tofrom', attach) |
134 | 136 | #:set extraOmpArgs_val = GEN_EXTRA_ARGS_STR(extraOmpArgs) |
135 | 137 | #:set omp_clause_val = default_val.strip('\n') + private_val.strip('\n') + reduction_val.strip('\n') + & |
136 | 138 | & copy_val.strip('\n') + copyin_val.strip('\n') + & |
|
164 | 166 | #:set no_create_val = OMP_NOCREATE_STR(no_create) |
165 | 167 | #:set present_val = OMP_PRESENT_STR(present) |
166 | 168 | #:set deviceptr_val = OMP_DEVICEPTR_STR(deviceptr) |
167 | | - #:set attach_val = OMP_MAP_STR('tofrom', attach) |
| 169 | + #:set attach_val = OMP_MAP_STR('always,tofrom', attach) |
168 | 170 | #:set extraOmpArgs_val = GEN_EXTRA_ARGS_STR(extraOmpArgs) |
169 | 171 | #:set clause_val = collapse_val.strip('\n') + parallelism_val.strip('\n') + & |
170 | 172 | & default_val.strip('\n') + private_val.strip('\n') + reduction_val.strip('\n') + & |
|
255 | 257 | #:set no_create_val = OMP_NOCREATE_STR(no_create) |
256 | 258 | #:set present_val = OMP_PRESENT_STR(present) |
257 | 259 | #:set deviceptr_val = OMP_DEVICEPTR_STR(deviceptr) |
258 | | - #:set attach_val = OMP_MAP_STR('tofrom', attach) |
| 260 | + #:set attach_val = OMP_MAP_STR('always,tofrom', attach) |
259 | 261 | #:set default_val = OMP_DEFAULT_STR(default) |
260 | 262 | #:set extraOmpArgs_val = GEN_EXTRA_ARGS_STR(extraOmpArgs) |
261 | 263 | #:set clause_val = copy_val.strip('\n') + copyin_val.strip('\n') + & |
|
273 | 275 | #:def OMP_ENTER_DATA(copyin=None, copyinReadOnly=None, create=None, attach=None, extraOmpArgs=None) |
274 | 276 | #:set copyin_val = OMP_COPYIN_STR(copyin).strip('\n') + OMP_COPYIN_STR(copyinReadOnly).strip('\n') |
275 | 277 | #:set create_val = OMP_CREATE_STR(create) |
276 | | - #:set attach_val = OMP_MAP_STR('to', attach) |
| 278 | + #:set attach_val = OMP_MAP_STR('always,to', attach) |
277 | 279 | #:set extraOmpArgs_val = GEN_EXTRA_ARGS_STR(extraOmpArgs) |
278 | 280 | #:set omp_clause_val = copyin_val.strip('\n') + create_val.strip('\n') + attach_val.strip('\n') |
279 | 281 | #:set omp_directive = '!$omp target enter data ' + omp_clause_val + extraOmpArgs_val.strip('\n') |
|
283 | 285 | #:def OMP_EXIT_DATA(copyout=None, delete=None, detach=None, extraOmpArgs=None) |
284 | 286 | #:set copyout_val = OMP_COPYOUT_STR(copyout) |
285 | 287 | #:set delete_val = OMP_DELETE_STR(delete) |
286 | | - #:set detach_val = OMP_MAP_STR('from', detach) |
| 288 | + #:set detach_val = OMP_MAP_STR('always,from', detach) |
287 | 289 | #:set extraOmpArgs_val = GEN_EXTRA_ARGS_STR(extraOmpArgs) |
288 | 290 | #:set clause_val = copyout_val.strip('\n') + delete_val.strip('\n') + detach_val.strip('\n') |
289 | 291 | #:set omp_directive = '!$omp target exit data ' + clause_val + extraOmpArgs_val.strip('\n') |
|
339 | 341 | #:endif |
340 | 342 | #:enddef |
341 | 343 |
|
| 344 | +#:def DEF_AMD(code) |
| 345 | + #:if MFC_COMPILER == AMD_COMPILER_ID |
| 346 | + $:code |
| 347 | + #:endif |
| 348 | +#:enddef |
| 349 | + |
342 | 350 | #:def UNDEF_CCE(code) |
343 | 351 | #:if MFC_COMPILER != CCE_COMPILER_ID |
344 | 352 | $:code |
345 | 353 | #:endif |
346 | 354 | #:enddef |
347 | 355 |
|
| 356 | +#:def DEF_CCE(code) |
| 357 | + #:if MFC_COMPILER == CCE_COMPILER_ID |
| 358 | + $:code |
| 359 | + #:endif |
| 360 | +#:enddef |
| 361 | + |
348 | 362 | #:def UNDEF_NVIDIA(code) |
349 | 363 | #:if MFC_COMPILER != NVIDIA_COMPILER_ID and MFC_COMPILER != PGI_COMPILER_ID |
350 | 364 | $:code |
|
0 commit comments