From b31180ec8ddbf02ed43031095806833a9c5a0315 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 7 Oct 2026 14:01:04 +0000 Subject: [PATCH] Tests: split test_numeric_lu per element type; cite #92 in the T19 report test_numeric_lu ran unsplit in one worker for 2511 s on the CPU CI job of #85, twice the longest other part (1241 s), and set the 42-min wall time. Every testset in it loops over ELTYPES, so it joins SPLIT_FILES as is. TASKS.md: the T19 follow-up on perm_row of a uniform batch now cites its found-by-agent issue #92. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01AvwMxoGmJm3eSmpzxAy72A --- TASKS.md | 3 ++- test/runtests.jl | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/TASKS.md b/TASKS.md index b8c856d3..ee5b5229 100644 --- a/TASKS.md +++ b/TASKS.md @@ -2577,7 +2577,8 @@ uniform-batch LU tests pass; `random_general` residuals `≤ tol(T)`. - #84 (found-by-agent): views `'L'`/`'U'` with `"G"`. - Regime-C performance (vendor BLAS-3, parallel pivot search) with #75 in T25. The pivot search is serial on work item 1 (`O(f)` per column, cheaper than the LDLᵀ fallback scan). - - `perm_row` reports batch member 1 for a uniform batch (each member has its own local row order). + - #92 (found-by-agent): `perm_row` reports batch member 1 for a uniform batch (each member has its own local + row order). - CUDA path exercised only by CI. - Device arithmetic fuses multiply-adds (GPUCompiler `-nvptx-fma-level=1`), so device-vs-reference equality is bitwise on the CPU backend only. On `weak_diagonal_general` with `pivot_threshold = 0.01` (growth ≈ 3e2) CUDA diff --git a/test/runtests.jl b/test/runtests.jl index cf4a777e..426c1adb 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -45,8 +45,8 @@ end # worker compiles the solver for every element type it tests, and that compilation, not the tests, sets the wall # time. The testsets that do not loop over the element types run in the Float64 part (`RUN_SHARED`). const SPLIT_FILES = ["test_api", "test_dense", "test_fgmres", "test_numeric_cholesky_a", "test_numeric_cholesky_b", - "test_numeric_cholesky_c", "test_numeric_ldlt", "test_ported", "test_refinement", "test_solve", - "test_ubatch"] + "test_numeric_cholesky_c", "test_numeric_ldlt", "test_numeric_lu", "test_ported", "test_refinement", + "test_solve", "test_ubatch"] const SPLIT_ELTYPES = (Float32, Float64, ComplexF32, ComplexF64) # the seed goes with the test, not into `init_code`: ParallelTestRunner seeds with 1 after `init_code`