Skip to content

Commit 0d0e036

Browse files
Reuse direct BLAS LU workspaces during refactorization (#1099)
* Reuse Apple Accelerate LU workspaces Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> * Avoid boxed Apple Accelerate log bindings Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> * Reuse direct OpenBLAS and BLIS LU workspaces Keep factor, pivot, and status storage stable across direct BLAS refactorizations, and expose transient factorization views to reverse-mode rules. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> * Use stdlib pivots in Apple factorization views Convert Accelerate's Int32 pivots only when constructing the transient generic LU view used by reverse-mode rules. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> * Dispatch adjoint factorization reuse by solver Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> * Audit reverse factorization reuse Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> * Add allocation QA for direct LU refactorization Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> * Resolve Julia 1.13 BLAS symbols eagerly Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> --------- Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
1 parent f0a4c87 commit 0d0e036

36 files changed

Lines changed: 1271 additions & 339 deletions

Project.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
213213
IterativeSolvers = "42fd0dbc-a981-5370-80f2-aaf504508153"
214214
JacobiDavidson = "11c68b98-9c9b-11e8-267b-bbb95576cead"
215215
KrylovKit = "0b1a1467-8014-51b9-945f-bf0ae24f4b77"
216+
LAPACK_jll = "51474c39-65e3-53ba-86ba-03b1b862ec14"
216217
MultiFloats = "bdf0d083-296b-4888-a5b6-7498122e68a5"
217218
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
218219
PureUMFPACK = "b7e1f0a2-3c4d-4e5f-9a0b-1c2d3e4f5a6b"
@@ -228,6 +229,7 @@ StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"
228229
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
229230
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
230231
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
232+
blis_jll = "6136c539-28a5-5bf0-87cc-b183200dce32"
231233

232234
[targets]
233-
test = ["AlgebraicMultigrid", "Arpack", "ArnoldiMethod", "BandedMatrices", "BlockDiagonals", "CliqueTrees", "ComponentArrays", "FastAlmostBandedMatrices", "FastLapackInterface", "FiniteDiff", "FixedSizeArrays", "ForwardDiff", "InteractiveUtils", "IterativeSolvers", "JacobiDavidson", "KrylovKit", "MultiFloats", "Pkg", "PureUMFPACK", "Random", "RecursiveFactorization", "STRUMPACK_jll", "SafeTestsets", "SciMLTesting", "SparseArrays", "Sparspak", "SpecializingFactorizations", "StableRNGs", "StaticArrays", "Test", "Zygote"]
235+
test = ["AlgebraicMultigrid", "Arpack", "ArnoldiMethod", "BandedMatrices", "BlockDiagonals", "CliqueTrees", "ComponentArrays", "FastAlmostBandedMatrices", "FastLapackInterface", "FiniteDiff", "FixedSizeArrays", "ForwardDiff", "InteractiveUtils", "IterativeSolvers", "JacobiDavidson", "KrylovKit", "LAPACK_jll", "MultiFloats", "Pkg", "PureUMFPACK", "Random", "RecursiveFactorization", "STRUMPACK_jll", "SafeTestsets", "SciMLTesting", "SparseArrays", "Sparspak", "SpecializingFactorizations", "StableRNGs", "StaticArrays", "Test", "Zygote", "blis_jll"]

0 commit comments

Comments
 (0)