Skip to content

Commit 548ff24

Browse files
authored
Tests for @ka_code_typed
1 parent 9571e48 commit 548ff24

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

test/reflection.jl

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
using KernelAbstractions, Test
2+
3+
@kernel function mul2(A)
4+
I = @index(Global)
5+
A[I] = 2 * A[I]
6+
end
7+
8+
function test_typed_kernel_dynamic()
9+
A = ones(1024, 1024)
10+
kernel = mul2(CPU())
11+
res = @ka_code_typed kernel(A, ndrange=size(A), workgroupsize=16)
12+
@test isa(res, Pair{Core.CodeInfo, DataType})
13+
@test isa(res[1].code, Array{Any,1})
14+
end
15+
16+
function test_typed_kernel_dynamic_no_info()
17+
A = ones(1024, 1024)
18+
kernel = mul2(CPU())
19+
res = @ka_code_typed kernel(A, ndrange=size(A))
20+
@test isa(res, Pair{Core.CodeInfo, DataType})
21+
@test isa(res[1].code, Array{Any,1})
22+
end
23+
24+
function test_typed_kernel_static()
25+
A = ones(1024, 1024)
26+
kernel = mul2(CPU(), 16)
27+
res = @ka_code_typed kernel(A, ndrange=size(A))
28+
@test isa(res, Pair{Core.CodeInfo, DataType})
29+
@test isa(res[1].code, Array{Any,1})
30+
end
31+
32+
function test_typed_kernel_no_optimize()
33+
A = ones(1024, 1024)
34+
kernel = mul2(CPU(), 16)
35+
res = @ka_code_typed optimize=false kernel(A, ndrange=size(A))
36+
@test isa(res, Pair{Core.CodeInfo, DataType})
37+
res_opt = @ka_code_typed kernel(A, ndrange=size(A))
38+
@test size(res[1].code) < size(res_opt[1].code)
39+
end
40+
41+
test_typed_kernel_dynamic()
42+
test_typed_kernel_dynamic_no_info()
43+
test_typed_kernel_static()
44+
test_typed_kernel_no_optimize()

0 commit comments

Comments
 (0)