JuliaGPU / JuliaGPU/KernelAbstractions.jl
1.11: reduce_private test generates gcframe under --check-bounds=yes
- Dominant language
- Julia
- Stars
- 523
- Forks
- 88
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 25
Description
MWE, reduced from the tests:
```julia
using KernelAbstractions
@kernel function reduce_private(out, A)
I = @index(Global, NTuple)
i = @index(Local)
priv = @private eltype(A) (1,)
@inbounds begin
priv[1] = zero(eltype(A))
for k in 1:size(A, ndims(A))
priv[1] += A[I..., k]
end
out[I...] = priv[1]
end
end
KernelAbstractions.ka_code_llvm(
reduce_private(CPU(), (8,)), Tuple{Array{Float64, 1}, Array{Float64, 2}},
optimize=true, ndrange = (64,), debuginfo=:none
)
```
This generates a `gcframe` (the absence of which is being tested) when running on 1.11 under `--check-bounds=yes`, as done by Pkg.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by running the provided reduce_private MWE with Julia 1.11 and --check-bounds=yes, then inspect the existing reduce_private tests and the LLVM from ka_code_llvm. Compare the generated output with the no-gcframe expectation. Done means the test behaves as intended on the affected Julia configuration or the incompatibility is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- compilers, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100