From e196767d48a4d2ea57989337532e0b5da4e6c5c5 Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Tue, 13 Oct 2026 16:12:57 +0200 Subject: [PATCH] Skip KernelAbstractions' private-memory tests on the LTS stack The LTS IGC on Aurora (2.11.29) segfaults compiling KernelAbstractions 0.10's private "in-place" test kernel, which passes a `@private` array to a non-inlined function. IGC's LowerGEPForPrivMem promotes the array to a register even though its address escapes, leaving IR that PrivateMemoryResolution crashes on. IGC 2.22 and later compile it. The testsuite can only skip its private-memory tests as a whole, so skip "Private" when ONEAPI_LTS is set, until ALCF's LTS stack picks up a fix. --- test/kernelabstractions.jl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/kernelabstractions.jl b/test/kernelabstractions.jl index e3f3b56cb..a78dfa6a4 100644 --- a/test/kernelabstractions.jl +++ b/test/kernelabstractions.jl @@ -11,6 +11,12 @@ skip_tests=Set([ "CPU synchronization", "fallback test: callable types", ]) +if oneL0.LTS[] + # IGC before 2.22 segfaults on a private array whose address escapes, as in the + # "in-place" test (passing a `@private` array to a non-inlined function). The testsuite + # only allows skipping all private-memory tests. + push!(skip_tests, "Private") +end Testsuite.testsuite(()->oneAPIBackend(), "oneAPI", oneAPI, oneArray, oneDeviceArray; skip_tests) KA.@kernel function store_global_linear!(A)