Skip to content

Commit 59980c3

Browse files
authored
Merge pull request #331 from JuliaGPU/vc/fix_private
Fix stmt form of at_private
2 parents 4b44e0b + 86ec108 commit 59980c3

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/KernelAbstractions.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ Creates a private local of `mem` per item in the workgroup. This can be safely u
190190
across [`@synchronize`](@ref) statements.
191191
"""
192192
macro private(expr)
193-
expr
193+
esc(expr)
194194
end
195195

196196
"""

test/private.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
using KernelAbstractions
22
using Test
33

4+
@kernel function stmt_form()
5+
@uniform bs = @groupsize()[1]
6+
@private s = bs ÷ 2
7+
@synchronize
8+
end
9+
410
@kernel function typetest(A, B)
511
priv = @private eltype(A) (1,)
612
I = @index(Global, Linear)
@@ -54,6 +60,7 @@ end
5460

5561
function private_testsuite(backend, ArrayT)
5662
@testset "kernels" begin
63+
wait(stmt_form(backend(), 16)(ndrange=16))
5764
A = ArrayT{Int}(undef, 64)
5865
wait(private(backend(), 16)(A, ndrange=size(A)))
5966
@test all(A[1:16] .== 16:-1:1)

0 commit comments

Comments
 (0)