Skip to content

Skip ComplexF16 sparse tests on the LTS stack - #760

Open
maleadt wants to merge 1 commit into
mainfrom
tb/lts-complexf16-sparse
Open

maleadt wants to merge 1 commit into
mainfrom
tb/lts-complexf16-sparse

Conversation

@maleadt

@maleadt maleadt commented Nov 5, 2026

Copy link
Copy Markdown
Member

Since GPUArrays 12.2, the Aurora test:lts:1.13 job fails gpuarrays/sparse: sum(A; dims) of a ComplexF16 sparse matrix returns wrong real parts, while the imaginary parts are correct. Julia 1.10 on the same machine passes, and so does every other device.

This is an IGC bug in the 2.11 LTS line. IGC's load/store combining packs the complex accumulator of the new sparse reduction kernel into a layout struct, and copying that struct emits a stray mov that overwrites the real field with another lane's data. It reproduces on an Arc A770 with the kernel compiled by the LTS IGC 2.11.7. Bisecting over IGC releases, 2.24.8 is wrong and 2.27.10 is correct. The fix is intel/intel-graphics-compiler@15614f2 (IGC 2.26.0, backported to 2.25.10). It is not on releases/2.11.x, up to and including v2.11.54. Building with -igc_opts 'EnableLdStCombine=0' also avoids it.

This PR drops ComplexF16 from the sparse tests on the LTS stack, as #710 did for ComplexF32 accumulate, and documents the issue in docs/src/lts.md. A backport to the LTS IGC is being requested separately.

Locally, gpuarrays/sparse passes with ONEAPI_LTS=1 (898 tests, ComplexF16 dropped) and without it (1174 tests, unchanged). The ALCF job on this PR is the real check.

GPUArrays 12.2's sparse reduction kernels return wrong real parts for
ComplexF16 when compiled by the LTS IGC (2.11) with Julia 1.13, which
broke the Aurora CI. IGC's load/store combining packs the accumulator
into a layout struct and miscompiles a copy of it. The bug reproduces
on DG2 with IGC 2.11.7, and was fixed upstream in IGC 2.26.0 by
intel/intel-graphics-compiler@15614f2, which has not been backported
to the 2.11 LTS line.
@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Documentation preview: https://juliagpu.github.io/oneAPI.jl/previews/PR760/

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant