Skip to content

Skip ComplexF16 sparse tests on the LTS stack - #760

Merged
maleadt merged 1 commit into
mainfrom
tb/lts-complexf16-sparse
Nov 6, 2026
Merged

maleadt merged 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/

@codecov

codecov Bot commented Nov 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.62%. Comparing base (c5846c8) to head (9768026).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #760      +/-   ##
==========================================
- Coverage   86.83%   86.62%   -0.22%     
==========================================
  Files          55       55              
  Lines        5136     5077      -59     
==========================================
- Hits         4460     4398      -62     
- Misses        676      679       +3     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@maleadt
maleadt merged commit a735e80 into main Nov 6, 2026
4 of 5 checks passed
@maleadt
maleadt deleted the tb/lts-complexf16-sparse branch November 6, 2026 09:02
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