Skip to content

CI: build the support library with the Conda compiler (backport of #636) - #744

Merged
michel2323 merged 1 commit into
release-2.9from
ci-conda-icpx-2.9
Oct 27, 2026
Merged

michel2323 merged 1 commit into
release-2.9from
ci-conda-icpx-2.9

Conversation

@michel2323

Copy link
Copy Markdown
Member

Backports the two CI-only hunks of #636 to release-2.9 so the ALCF Aurora check is meaningful on the 2.9 branch:

  • deps/build_local.jl: use the Conda icpx (and LIBRARY_PATH) explicitly. With a bare icpx, a site oneAPI module on PATH is picked up and the support library links against its libsycl, which on Aurora fails with undefined reference to ur*Exp@LIBUR_LOADER_0.12 (see the build:support failure on Fix @index(Global, Linear) for padded ndranges (2.9 backport) #738).
  • .gitlab-ci.yml: strip /opt/aurora/*/oneapi/ from LD_LIBRARY_PATH in test:lts, so the Conda SYCL runtime is not mixed with the site UR adapter.

The oneMKL 2026.1.0 wrapper bump from #636 is not included; the release branch keeps the 2025.3.1 wrappers and oneAPI_Support_jll 0.10. No package code changes.

A bare `icpx` resolves to the site oneAPI installation when one is on PATH, which
links the support library against that installation's libsycl instead of the Conda
toolkit the RPATH points at. On Aurora this fails with
`undefined reference to ur*Exp@LIBUR_LOADER_0.12` in the `build:support` job.
The test job also drops the site oneAPI entries from LD_LIBRARY_PATH so SYCL is
pure Conda, as on main.

Only the two CI hunks of #636 are backported; the oneMKL 2026.1.0 wrapper bump
stays on main.

(cherry picked from commit 5093529)
@codecov

codecov Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.48%. Comparing base (1112d2e) to head (8f729b0).

Additional details and impacted files
@@               Coverage Diff               @@
##           release-2.9     #744      +/-   ##
===============================================
- Coverage        81.54%   81.48%   -0.06%     
===============================================
  Files               50       50              
  Lines             3608     3608              
===============================================
- Hits              2942     2940       -2     
- Misses             666      668       +2     

☔ 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.

@michel2323
michel2323 merged commit ce39444 into release-2.9 Oct 27, 2026
5 checks passed
@michel2323
michel2323 deleted the ci-conda-icpx-2.9 branch October 27, 2026 13:38
michel2323 referenced this pull request Oct 27, 2026
The KernelAbstractions back-end returned the hardware global id for
`@index(Global, Linear)`. That only equals the linear index into `ndrange`
when the work-group size divides every dimension of it; otherwise
KernelAbstractions pads the range and kernels skip elements and write out
of bounds. GPUArrays' `getindex`, `permutedims` and `rmul!` kernels all
rely on this index, so e.g. `x[:, 1:2]` on a 513x3 matrix returned zeros,
`x[:, 2, :, :]` on a (64, 4, 500, B) array was wrong for every B >= 2, and
`rmul!` on a (64, 1000, 16) ComplexF32 array page-faulted.

Map the id through the iteration space instead, as the CPU back-end and
CUDA.jl do, and add regression tests for padded N-d ranges with automatic
and explicit work-group sizes plus the reported `getindex`, `permutedims`
and `rmul!` cases.

Backport to the 2.9 series (KernelAbstractions 0.9 / GPUArrays 11); main
gets this through the KernelInterface back-end (#653).

Analysis and patch by Wilkie Olin-Ammentorp (@wilkieolin).

Fixes #509

Co-authored-by: Wilkie Olin-Ammentorp <10157823+wilkieolin@users.noreply.github.com>
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