Skip to content

Commit d61f6a9

Browse files
authored
Add AMD section to memcopy.jl example
1 parent 045fab2 commit d61f6a9

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

examples/memcopy.jl

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using KernelAbstractions
2-
using CUDAKernels
32
using CUDA
3+
using CUDAKernels
4+
using AMDGPU
5+
using ROCKernels
46
using Test
57

68
@kernel function copy_kernel!(A, @Const(B))
@@ -34,3 +36,26 @@ if has_cuda_gpu()
3436
wait(event)
3537
@test A == B
3638
end
39+
40+
function has_rocm_gpu()
41+
for agent in AMDGPU.get_agents()
42+
if agent.type == :gpu
43+
return true
44+
end
45+
end
46+
return false
47+
end
48+
49+
if has_rocm_gpu()
50+
51+
function mycopy!(A::ROCArray, B::ROCArray)
52+
@assert size(A) == size(B)
53+
copy_kernel!(ROCDevice(), 256)(A, B, ndrange=length(A))
54+
end
55+
56+
A = zeros(Float32, 1024) |> ROCArray
57+
B = ones(Float32, 1024) |> ROCArray
58+
event = mycopy!(A, B)
59+
wait(event)
60+
@test A == B
61+
end

0 commit comments

Comments
 (0)