1+ #:mute
2+
13#:def ASSERT_LIST(data , datatype)
24 #:assert data is not None
35 #:assert isinstance(data , list)
79
810#:def GEN_PARENTHESES_CLAUSE(clause_name, clause_str)
911 #:set clause_regex = re.compile(' ,(?![^(]*\\))' )
10-
1112 #:assert isinstance(clause_name, str)
1213 #:if clause_str is not None
1314 #:set count = 0
203204 & default= ' present' , firstprivate= None, reduction= None, reductionOp= None, &
204205 & copy= None, copyin= None, copyinReadOnly= None, copyout= None, create= None, &
205206 & no_create= None, present= None, deviceptr= None, attach= None, extraAccArgs= None)
206-
207207 #:set collapse_val = GEN_COLLAPSE_STR(collapse)
208-
209208 #:set parallelism_val = GEN_PARALLELISM_STR(parallelism)
210-
211209 #:set default_val = GEN_DEFAULT_STR(default)
212-
213210 #:set private_val = GEN_PRIVATE_STR(private, False).strip(' \n' ) + GEN_PRIVATE_STR(firstprivate, True).strip(' \n' )
214-
215211 #:set reduction_val = GEN_REDUCTION_STR(reduction, reductionOp)
216-
217212 #:set copy_val = GEN_COPY_STR(copy)
218-
219213 #:set copyin_val = GEN_COPYIN_STR(copyin, False).strip(' \n' ) + GEN_COPYIN_STR(copyinReadOnly, True).strip(' \n' )
220-
221214 #:set copyout_val = GEN_COPYOUT_STR(copyout)
222-
223215 #:set create_val = GEN_CREATE_STR(create)
224-
225216 #:set no_create_val = GEN_NOCREATE_STR(no_create)
226-
227217 #:set present_val = GEN_PRESENT_STR(present)
228-
229218 #:set deviceptr_val = GEN_DEVICEPTR_STR(deviceptr)
230-
231219 #:set attach_val = GEN_ATTACH_STR(attach)
232-
233220 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
234-
235221 #:set clause_val = collapse_val.strip(' \n' ) + parallelism_val.strip(' \n' ) + &
236222 & default_val.strip(' \n' ) + private_val.strip(' \n' ) + reduction_val.strip(' \n' ) + &
237223 & copy_val.strip(' \n' ) + copyin_val.strip(' \n' ) + &
246232#:def GPU_ROUTINE(function_name= None, parallelism= None, nohost= False, cray_inline= False, extraAccArgs= None)
247233 #:assert isinstance(cray_inline, bool)
248234 #:set parallelism_val = GEN_PARALLELISM_STR(parallelism)
249-
250235 #:assert isinstance(nohost, bool)
251236 #:if nohost == True
252237 #:set nohost_val = ' nohost'
253238 #:else
254239 #:set nohost_val = ' '
255240 #:endif
256-
257241 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
258-
259242 #:set clause_val = parallelism_val.strip(' \n' ) + nohost_val.strip(' \n' )
260243 #:set acc_directive = ' !$acc routine ' + &
261244 & clause_val + extraAccArgs_val.strip(' \n' )
275258#:enddef
276259
277260#:def GPU_DECLARE(copy= None, copyin= None, copyinReadOnly= None, copyout= None, create= None, present= None, deviceptr= None, link= None, extraAccArgs= None)
278-
279261 #:set copy_val = GEN_COPY_STR(copy)
280-
281262 #:set copyin_val = GEN_COPYIN_STR(copyin, False).strip(' \n' ) + GEN_COPYIN_STR(copyinReadOnly, True).strip(' \n' )
282-
283263 #:set copyout_val = GEN_COPYOUT_STR(copyout)
284-
285264 #:set create_val = GEN_CREATE_STR(create)
286-
287265 #:set present_val = GEN_PRESENT_STR(present)
288-
289266 #:set deviceptr_val = GEN_DEVICEPTR_STR(deviceptr)
290-
291267 #:set link_val = GEN_LINK_STR(link)
292-
293268 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
294-
295269 #:set clause_val = copy_val.strip(' \n' ) + copyin_val.strip(' \n' ) + &
296270 & copyout_val.strip(' \n' ) + create_val.strip(' \n' ) + &
297271 & present_val.strip(' \n' ) + deviceptr_val.strip(' \n' ) + &
301275#:enddef
302276
303277#:def GPU_LOOP(collapse= None, parallelism= None, data_dependency= None, reduction= None, reductionOp= None, private= None, extraAccArgs= None)
304-
305278 #:set collapse_val = GEN_COLLAPSE_STR(collapse)
306-
307279 #:set parallelism_val = GEN_PARALLELISM_STR(parallelism)
308-
309280 #:if data_dependency is not None
310281 #:assert isinstance(data_dependency, str)
311282 #:assert (data_dependency == ' auto' or data_dependency == ' independent' )
312283 #:set data_dependency_val = data_dependency
313284 #:else
314285 #:set data_dependency_val = ' '
315286 #:endif
316-
317287 #:set private_val = GEN_PRIVATE_STR(private, False)
318-
319288 #:set reduction_val = GEN_REDUCTION_STR(reduction, reductionOp)
320-
321289 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
322-
323290 #:set clause_val = collapse_val.strip(' \n' ) + parallelism_val.strip(' \n' ) + &
324291 & data_dependency_val.strip(' \n' ) + private_val.strip(' \n' ) + &
325292 & reduction_val.strip(' \n' )
334301 #:if code == ' ' or code.isspace()
335302 #:stop ' GPU_DATA macro has no effect on the code as it is not surrounding any code'
336303 #:endif
337-
338304 #:set copy_val = GEN_COPY_STR(copy)
339-
340305 #:set copyin_val = GEN_COPYIN_STR(copyin, False).strip(' \n' ) + GEN_COPYIN_STR(copyinReadOnly, True).strip(' \n' )
341-
342306 #:set copyout_val = GEN_COPYOUT_STR(copyout)
343-
344307 #:set create_val = GEN_CREATE_STR(create)
345-
346308 #:set no_create_val = GEN_NOCREATE_STR(no_create)
347-
348309 #:set present_val = GEN_PRESENT_STR(present)
349-
350310 #:set deviceptr_val = GEN_DEVICEPTR_STR(deviceptr)
351-
352311 #:set attach_val = GEN_ATTACH_STR(attach)
353-
354312 #:set default_val = GEN_DEFAULT_STR(default)
355-
356313 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
357-
358314 #:set clause_val = copy_val.strip(' \n' ) + copyin_val.strip(' \n' ) + &
359315 & copyout_val.strip(' \n' ) + create_val.strip(' \n' ) + &
360316 & no_create_val.strip(' \n' ) + present_val.strip(' \n' ) + &
375331 #:endif
376332 #:set use_device_val = GEN_USE_DEVICE_STR(use_device)
377333 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
378-
379334 #:set clause_val = use_device_val.strip(' \n' )
380335 #:set acc_directive = ' !$acc host_data ' + clause_val + extraAccArgs_val.strip(' \n' )
381336 #:set end_acc_directive = ' !$acc end host_data'
386341
387342#:def GPU_ENTER_DATA(copyin= None, copyinReadOnly= None, create= None, attach= None, extraAccArgs= None)
388343 #:set copyin_val = GEN_COPYIN_STR(copyin, False).strip(' \n' ) + GEN_COPYIN_STR(copyinReadOnly, True).strip(' \n' )
389-
390344 #:set create_val = GEN_CREATE_STR(create)
391-
392345 #:set attach_val = GEN_ATTACH_STR(attach)
393-
394346 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
395-
396347 #:set clause_val = copyin_val.strip(' \n' ) + create_val.strip(' \n' ) + attach_val.strip(' \n' )
397348 #:set acc_directive = ' !$acc enter data ' + clause_val + extraAccArgs_val.strip(' \n' )
398349 $:acc_directive
399350#:enddef
400351
401352#:def GPU_EXIT_DATA(copyout= None, delete= None, detach= None, extraAccArgs= None)
402353 #:set copyout_val = GEN_COPYOUT_STR(copyout)
403-
404354 #:set delete_val = GEN_DELETE_STR(delete)
405-
406355 #:set detach_val = GEN_DETACH_STR(detach)
407-
408356 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
409-
410357 #:set clause_val = copyout_val.strip(' \n' ) + delete_val.strip(' \n' ) + detach_val.strip(' \n' )
411358 #:set acc_directive = ' !$acc exit data ' + clause_val + extraAccArgs_val.strip(' \n' )
412359 $:acc_directive
413360#:enddef
414361
415362#:def GPU_CACHE(cache, extraAccArgs= None)
416363 #:set cache_val = GEN_PARENTHESES_CLAUSE(' cache' , cache)
417-
418364 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
419-
420365 #:set clause_val = cache_val.strip(' \n' )
421366 #:set acc_directive = ' !$acc ' + clause_val + extraAccArgs_val.strip(' \n' )
422367 $:acc_directive
425370#:def GPU_ATOMIC(atomic, extraAccArgs= None)
426371 #:assert isinstance(atomic, str)
427372 #:assert (atomic == ' read' or atomic == ' write' or atomic == ' update' or atomic == ' capture' )
428-
429373 #:set atomic_val = atomic
430-
431374 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
432-
433375 #:set clause_val = atomic_val.strip(' \n' )
434376 #:set acc_directive = ' !$acc atomic ' + clause_val + extraAccArgs_val.strip(' \n' )
435377 $:acc_directive
436378#:enddef
437379
438380#:def GPU_UPDATE(host= None, device= None, extraAccArgs= None)
439381 #:set host_val = GEN_HOST_STR(host)
440-
441382 #:set device_val = GEN_DEVICE_STR(device)
442-
443383 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
444-
445384 #:set clause_val = host_val.strip(' \n' ) + device_val.strip(' \n' )
446385 #:set acc_directive = ' !$acc update ' + clause_val + extraAccArgs_val.strip(' \n' )
447386 $:acc_directive
448387#:enddef
449388
450389#:def GPU_WAIT(extraAccArgs= None)
451390 #:set extraAccArgs_val = GEN_EXTRA_ARGS_STR(extraAccArgs)
452-
453391 #:set clause_val = ' '
454392 #:set acc_directive = ' !$acc wait ' + clause_val + extraAccArgs_val.strip(' \n' )
455393 $:acc_directive
456394#:enddef
457- ! New line at end of file is required for FYPP
395+
396+ #:endmute
397+ ! New line at end of file is required for FYPP
0 commit comments