1 ! Common source for CUF parse tree and unparsing tests.
2 !@cuf subroutine atcuf;
11 real, allocatable, pinned ::pa(:)
13 attributes(device) subroutine devicesub; end
14 attributes(device) real function devicefunc(); devicefunc = 1.; end
15 attributes(global) subroutine globalsub; end
16 attributes(grid_global) subroutine gridglobalsub; end
17 attributes(host) subroutine hostsub; end
18 attributes(global) launch_bounds(1, 2) subroutine lbsub; end
19 attributes(global) cluster_dims(1, 2, 3) subroutine cdsub; end
20 attributes(device) subroutine attrs
21 attributes(device) :: devx1
28 !$cuf kernel do(1) <<<*, *, stream = 1>>>
31 !$cuf kernel do <<<1, (2, 3), stream = 1>>>
37 !$cuf kernel do <<<*, *>>> reduce(+:x,y) reduce(*:z)
43 call globalsub<<<1, 2>>>
44 call globalsub<<<1, 2, 3>>>
45 call globalsub<<<1, 2, 3, 4>>>
46 call globalsub<<<*,5>>>
47 allocate(pa(32), pinned = isPinned)