Skip to content

Require SPIRVIntrinsics 1.5.1 for local union arrays - #740

Merged
maleadt merged 1 commit into
mainfrom
tb/local-union-stride
Oct 25, 2026
Merged

maleadt merged 1 commit into
mainfrom
tb/local-union-stride

Conversation

@maleadt

@maleadt maleadt commented Oct 24, 2026

Copy link
Copy Markdown
Member

Local arrays of Union{Int64,NTuple{3,Int32}} need a 16-byte element stride, but SPIRVIntrinsics 1.5.0 allocates only 12 bytes per element. Require 1.5.1, which fixes the allocation, now that oneAPI's union arrays use the aligned stride.

The regression test exchanges elements between work-items through local memory and checks that four elements reserve 68 bytes, including their selector bytes. The allocation check fails with 1.5.0 (52 bytes), even though the kernel's result happens to pass on the tested driver.

Tested on an Arc A770: all 254 tests in test/unions.jl pass on Julia 1.10.12 and 1.13.2 with SPIRVIntrinsics 1.5.1.

Fixes #737.

@codecov

codecov Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.37%. Comparing base (d90fdd8) to head (83f597f).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #740      +/-   ##
==========================================
- Coverage   86.84%   86.37%   -0.47%     
==========================================
  Files          56       55       -1     
  Lines        5123     4984     -139     
==========================================
- Hits         4449     4305     -144     
- Misses        674      679       +5     

☔ 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 force-pushed the tb/local-union-stride branch from d56bfbf to 83f597f Compare October 24, 2026 15:48
@maleadt
maleadt merged commit 7e94a97 into main Oct 25, 2026
5 checks passed
@maleadt
maleadt deleted the tb/local-union-stride branch October 25, 2026 06:15
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.

Require SPIRVIntrinsics 1.5.1 for local arrays of isbits unions

1 participant