Repository navigation
Skip the GPUArrays sum/prod tests on Intel's CPU runtime - #566
Merged
Merged
Conversation
The runtime's kernel compiler segfaults in SimplifyCFG, run from its vpo-directive-cleanup pass, while building the kernel behind `mapreduce(*, +, A, B)` on multi-dimensional arrays, which the "sum prod" testsuite checks for inference. This is the crash from #559, reported upstream as intel/llvm#23518 (and #558 as intel/llvm#23517); the reduction over two arrays broadcast together is what trips it. Which element types are affected differs between hosts (Complex{Int16} here, others on the CI runners), so the Windows CI job crashed intermittently and the test is now skipped on this runtime like the other affected GPUArrays tests.
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.
The Windows
intel_cpuCI job started crashing inintel/gpuarrays/reductions/sum prod(#565's run, and the merge commit's run onmain): an access violation insideintelocl64.dllduringclBuildProgram. It is not caused by #565, which doesn't change the device code: the pre-PR commit d2b2f1f crashes the same way locally (Linux, Ryzen 9950X) and in a Windows VM, and the crash is deterministic for the kernel at fault. Minimal reproducer:That's the crash from #559 (
SimplifyCFGunder Intel'svpo-directive-cleanup, on a reduction over two arrays broadcast together), reached through the@inferred mapreduce(*, +, A, B)check at the end of thesum prodtestsuite. The crash doesn't depend on the requested sub-group size (none, 8, 16 or 32 all crash), the TBB worker count, or the allocator; it does depend on the host: hereComplex{Int16}10×10 andComplexF3210×10×10 crash while the real types don't, and the CI runners (EPYC 7763, no AVX-512) crash on other kernels of the same test (prod!through AcceleratedKernels' 1D mapreduce, anInt163D reduction in a VM on this host) and passed the Linux job. That host dependence is why the job used to pass.This skips
gpuarrays/reductions/sum prodon the Intel CPU runtime, alongside the five GPUArrays tests already skipped for #558/#559. Both crashes are now reported upstream with reduced standalone SPIR-V reproducers: intel/llvm#23517 (#558) and intel/llvm#23518 (#559, including this kernel).