From d9774eaed20ebe9121a98d3655a32c57737aa408 Mon Sep 17 00:00:00 2001 From: Nils Wildt Date: Wed, 10 Jun 2026 18:39:07 +0200 Subject: [PATCH 1/2] Rename test variables m_thr/y_thr to appease typos spell check --- test/core_tests.jl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/core_tests.jl b/test/core_tests.jl index 2b45be1..39ad9df 100644 --- a/test/core_tests.jl +++ b/test/core_tests.jl @@ -306,10 +306,10 @@ end @test m_def.coef ≈ m_ref.coef # throttled: must run, converge, and predict close to the reference - m_thr = FastARD.FastARDRegressor(beta_recompute_tol = 1.0e-3) - FastARD.fit!(m_thr, X, y) - @test sum(m_thr.active) > 0 + m_throttled = FastARD.FastARDRegressor(beta_recompute_tol = 1.0e-3) + FastARD.fit!(m_throttled, X, y) + @test sum(m_throttled.active) > 0 y_ref = FastARD.predict(m_ref, X) - y_thr = FastARD.predict(m_thr, X) - @test maximum(abs.(y_ref .- y_thr)) / maximum(abs.(y_ref)) < 0.05 + y_throttled = FastARD.predict(m_throttled, X) + @test maximum(abs.(y_ref .- y_throttled)) / maximum(abs.(y_ref)) < 0.05 end From 90d60d68e81522c2f92c6a5ec0d57aca3fffad2f Mon Sep 17 00:00:00 2001 From: Nils Wildt Date: Wed, 10 Jun 2026 22:37:46 +0200 Subject: [PATCH 2/2] README: document startup.jl pattern for automatic per-machine BLAS backend --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bbd267e..570ab27 100755 --- a/README.md +++ b/README.md @@ -52,8 +52,13 @@ y_pred, y_std = predict_with_uncertainty(model, Psi_test) - **Use a fast BLAS backend.** The fitting loop is dense linear algebra. On Apple silicon, `using AppleAccelerate` before `using FastARD` activates the bundled package extension and swaps the BLAS backend (~3.5× faster on large problems); - on Intel CPUs use `using MKL`. Add the backend package to your environment — - FastARD only declares them as optional (weak) dependencies. + on Intel CPUs use `using MKL` (AMD users may also like `BLISBLAS.jl`). Add the + backend package to your environment — FastARD only declares them as optional + (weak) dependencies. To make this automatic on a given machine, put the + `using` line in `~/.julia/config/startup.jl`; Julia loads it in every session, + so the right backend for that CPU is always active. (Swapping BLAS is a + process-global effect, which is why FastARD leaves the choice to you instead + of forcing it.) - **Large active sets:** if fits select many basis functions, the per-iteration statistics refresh dominates. `FastARDRegressor(beta_recompute_tol=1e-3)` throttles it for a ~5–15× speedup with an essentially unchanged model