File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change 87
87
! CHECK: func.func private @llvm.nvvm.barrier0.and(i32) -> i32
88
88
! CHECK: func.func private @llvm.nvvm.barrier0.popc(i32) -> i32
89
89
! CHECK: func.func private @llvm.nvvm.barrier0.or(i32) -> i32
90
+
91
+ subroutine host1()
92
+ integer, device :: a(32)
93
+ integer :: i, j
94
+
95
+ block; use cudadevice
96
+ !$cuf kernel do(1) <<<*,32>>>
97
+ do i = 1, 32
98
+ a(i) = a(i) * 2.0
99
+ call syncthreads()
100
+ a(i) = a(i) + a(j) - 34.0
101
+ end do
102
+ end block
103
+ end
Original file line number Diff line number Diff line change @@ -192,3 +192,16 @@ program main
192
192
enddo
193
193
enddo
194
194
end
195
+
196
+ subroutine host1()
197
+ integer, device :: a(32)
198
+ integer :: i, j
199
+
200
+ !$cuf kernel do(1) <<<*,32>>>
201
+ do i = 1, 32
202
+ a(i) = a(i) * 2.0
203
+ !ERROR: 'syncthreads' may not be called in device code
204
+ call syncthreads() ! missing explicit use cudadevice
205
+ a(i) = a(i) + a(j) - 34.0
206
+ end do
207
+ end
You can’t perform that action at this time.
0 commit comments