Skip to content

Test appending a batch to an idle stream after host syncs - #709

Merged
maleadt merged 1 commit into
mainfrom
tb/batch-append-idle
Oct 18, 2026
Merged

maleadt merged 1 commit into
mainfrom
tb/batch-append-idle

Conversation

@maleadt

@maleadt maleadt commented Oct 17, 2026

Copy link
Copy Markdown
Member

Adds a regression test for an abort in NEO 26.35 (intel/compute-runtime#1027), which made the test suite crash sporadically since launches are batched (#693), e.g. in the fft tests on #707:

Abort was called at 90 line in file:
.../shared/source/command_stream/linear_stream.h

When a batch is appended to an in-order immediate list with nothing pending (after mkl_boundary! drained it, for example), NEO dispatches the regular list's own command buffer as the batch buffer. If the driver recycled its ring buffer just before, it wrote a pending tag update into that full buffer and aborted. NEO_jll 26.35.39758+2 (JuliaPackaging/Yggdrasil#15175) carries the fix; our =26.35.39758 compat already picks up that build.

The test aborts in its first iteration with NEO_jll +1 and passes with +2, where it takes under a second. With +2, the execution, fft and level-zero tests pass on Tiger Lake. The LTS driver (25.18) predates the code involved and isn't affected.

@github-actions

Copy link
Copy Markdown
Contributor

Your PR requires formatting changes to meet the project's style guidelines.
Please consider running Runic (git runic main) to apply these changes.

Click here to view the suggested changes.
diff --git a/test/execution.jl b/test/execution.jl
index 78bec08..b965fc5 100644
--- a/test/execution.jl
+++ b/test/execution.jl
@@ -1024,7 +1024,7 @@ end
         end
         oneAPI.mkl_boundary!()
     end
-    @test Array(x) == fill(8000f0, 1024)
+    @test Array(x) == fill(8000.0f0, 1024)
 
     # a failed submission is reported until the stream is synchronized
     @test fetch(@async begin

@codecov

codecov Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.44%. Comparing base (f644589) to head (33e6dfc).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #709      +/-   ##
==========================================
+ Coverage   82.40%   83.44%   +1.04%     
==========================================
  Files          52       51       -1     
  Lines        4415     4253     -162     
==========================================
- Hits         3638     3549      -89     
+ Misses        777      704      -73     

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

When a batch is appended to an in-order immediate list with nothing pending, NEO
dispatches the regular list's own command buffer as the batch buffer. NEO 26.35
then wrote a pending UC tag update into that full buffer and aborted in
LinearStream::getSpace (intel/compute-runtime#1027), which crashed the test suite
sporadically since launches are batched. Fixed in NEO_jll 26.35.39758+2.
@maleadt
maleadt force-pushed the tb/batch-append-idle branch from 86d7ee9 to 33e6dfc Compare October 18, 2026 13:07
@maleadt
maleadt merged commit 656a5f9 into main Oct 18, 2026
5 checks passed
@maleadt
maleadt deleted the tb/batch-append-idle branch October 18, 2026 15:31
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