Revert "Added free-threading CPython mode support in MLIR Python bindings (#107103)"
[llvm-project.git] / flang / test / Parser / cuf-sanity-common
blob816e03bed7220a19da6a378148458c1844394fce
1 ! Common source for CUF parse tree and unparsing tests.
2 !@cuf subroutine atcuf;
3 end
5 #ifdef _CUDA
6     subroutine cudadefd;
7 end
8 #endif
10 module m
11   real, allocatable, pinned ::pa(:)
12  contains
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
22     real, device :: devx2
23   end subroutine
24   subroutine test
25     logical isPinned
26     real, device :: a(10)
27     real :: x, y, z
28     !$cuf kernel do(1) <<<*, *, stream = 1>>>
29     do j = 1, 10
30     end do
31     !$cuf kernel do <<<1, (2, 3), stream = 1>>>
32     do j = 1, 10
33     end do
34     !$cuf kernel do
35     do j = 1, 10
36     end do
37     !$cuf kernel do <<<*, *>>> reduce(+:x,y) reduce(*:z)
38     do j = 1, 10
39       x = x + a(j)
40       y = y + a(j)
41       z = z * a(j)
42     end do
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)
48   end subroutine
49 end module