Repository navigation
Test kernels that spill past 128 KB of scratch - #763
Merged
Merged
Conversation
On Gen12LP, IGC corrupted such spills: HWord scratch offsets wrapped around past 128 KB (intel/intel-graphics-compiler#469), and with at least 60% of 128 KB of private memory the post-RA spill/fill propagation dropped OWord spills (intel/intel-graphics-compiler#471). Both are fixed in libigc_jll 2.41.5+4.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #763 +/- ##
==========================================
- Coverage 87.02% 86.81% -0.21%
==========================================
Files 55 55
Lines 5193 5135 -58
==========================================
- Hits 4519 4458 -61
- Misses 674 677 +3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a regression test for two IGC miscompilations on Gen12LP (Tiger Lake, DG1, Alder Lake, ...) that corrupted kernels spilling a lot of registers:
Both are fixed in libigc_jll 2.41.5+4 (JuliaPackaging/Yggdrasil#15504), which also includes a fix for intel/intel-graphics-compiler#472 (OWord spills of indirectly accessed registers used the wrong slot, which hung the GPU in AcceleratedKernels.jl's tests). I couldn't trigger that one from Julia in a compact test.
No compat bump is needed: libigc_jll comes in through NEO_jll, which doesn't pin its build, so a fresh resolve picks the latest one, 2.41.5+4 (existing environments may need
Pkg.update()). On a Tiger Lake with 2.41.5+2 both test cases fail; with 2.41.5+4 they pass (about 40 s, mostly compilation). The test needs a device that supports a sub-group size of 32 and is skipped otherwise.