From c6143dffeb0b1b0a9291d4bcec96704c428fd28a Mon Sep 17 00:00:00 2001 From: ChrisRackauckas Date: Wed, 13 Aug 2025 09:51:00 -0400 Subject: [PATCH 1/2] Add warning messages when algorithms are skipped in autotune benchmarking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When algorithms exceed maxtime during benchmarking, they are correctly skipped for larger matrix sizes. However, users only saw the initial "exceeded maxtime" warning but not when algorithms were subsequently skipped, making it unclear why some algorithms weren't being tested on larger matrices. This adds explicit warning messages when algorithms are skipped, providing better visibility into the autotuning process. Fixes the issue where users would see: - "Algorithm X exceeded maxtime" warnings - But no indication that Algorithm X was being skipped for larger sizes Now users will see both: - "Algorithm X exceeded maxtime (Y.Zs > maxtime) for size N" - "Algorithm X skipped for size M (exceeded maxtime on size N matrix)" 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- lib/LinearSolveAutotune/src/benchmarking.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/LinearSolveAutotune/src/benchmarking.jl b/lib/LinearSolveAutotune/src/benchmarking.jl index 8d92d0b8c..4b1146a34 100644 --- a/lib/LinearSolveAutotune/src/benchmarking.jl +++ b/lib/LinearSolveAutotune/src/benchmarking.jl @@ -148,6 +148,7 @@ function benchmark_algorithms(matrix_sizes, algorithms, alg_names, eltypes; if haskey(blocked_algorithms[string(eltype)], name) max_allowed_size = blocked_algorithms[string(eltype)][name] if n > max_allowed_size + @warn "Algorithm $name skipped for size $n (exceeded maxtime on size $max_allowed_size matrix)" # Still need to update progress bar ProgressMeter.next!(progress) # Record as skipped due to exceeding maxtime on smaller matrix From 0c6ed22825c2a0dcb6ef016c2f2ef488e82d47c1 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas Date: Wed, 13 Aug 2025 10:34:22 -0400 Subject: [PATCH 2/2] Improve readability of skip warning messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a newline before skip warnings to ensure they appear cleanly separated from progress bar output, making them much easier to read. Before: Skip warnings were mixed inline with progress bar After: Skip warnings appear on clean new lines 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- lib/LinearSolveAutotune/src/benchmarking.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/LinearSolveAutotune/src/benchmarking.jl b/lib/LinearSolveAutotune/src/benchmarking.jl index 4b1146a34..7f7e233de 100644 --- a/lib/LinearSolveAutotune/src/benchmarking.jl +++ b/lib/LinearSolveAutotune/src/benchmarking.jl @@ -148,6 +148,8 @@ function benchmark_algorithms(matrix_sizes, algorithms, alg_names, eltypes; if haskey(blocked_algorithms[string(eltype)], name) max_allowed_size = blocked_algorithms[string(eltype)][name] if n > max_allowed_size + # Clear progress line and show warning on new line + println() # Ensure we're on a new line @warn "Algorithm $name skipped for size $n (exceeded maxtime on size $max_allowed_size matrix)" # Still need to update progress bar ProgressMeter.next!(progress)