JuliaGPU / JuliaGPU/KernelAbstractions.jl

1.11: reduce_private test generates gcframe under --check-bounds=yes

Open
#528 1 comment 1 reaction 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.