From 64b302c61544bd5cb360951fc0abdaef82e99d80 Mon Sep 17 00:00:00 2001 From: Chris Rackauckas Date: Mon, 18 Sep 2023 07:07:58 -0400 Subject: [PATCH 1/2] Recompile invalidations post LoopVectorization This captures all of the issues introduced by SparseArrays and LoopVectorization and starts us afresh. The precompile time change is not noticable. --- src/LinearSolve.jl | 67 +++++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git a/src/LinearSolve.jl b/src/LinearSolve.jl index 95115b32b..fb82c7535 100644 --- a/src/LinearSolve.jl +++ b/src/LinearSolve.jl @@ -3,35 +3,42 @@ if isdefined(Base, :Experimental) && isdefined(Base.Experimental, Symbol("@max_methods")) @eval Base.Experimental.@max_methods 1 end -using ArrayInterface -using RecursiveFactorization -using Base: cache_dependencies, Bool -using LinearAlgebra -using SparseArrays -using SparseArrays: AbstractSparseMatrixCSC, nonzeros, rowvals, getcolptr -using SciMLBase: AbstractLinearAlgorithm -using SciMLOperators -using SciMLOperators: AbstractSciMLOperator, IdentityOperator -using Setfield -using UnPack -using SuiteSparse -using KLU -using Sparspak -using FastLapackInterface -using DocStringExtensions -using EnumX -using Requires -import InteractiveUtils - -using LinearAlgebra: BlasInt, LU -using LinearAlgebra.LAPACK: require_one_based_indexing, chkfinite, chkstride1, - @blasfunc, chkargsok - -import GPUArraysCore -import Preferences - -# wrap -import Krylov + +import PrecompileTools + +PrecompileTools.@recompile_invalidations begin + using ArrayInterface + using RecursiveFactorization + using Base: cache_dependencies, Bool + using LinearAlgebra + using SparseArrays + using SparseArrays: AbstractSparseMatrixCSC, nonzeros, rowvals, getcolptr + using SciMLBase: AbstractLinearAlgorithm + using SciMLOperators + using SciMLOperators: AbstractSciMLOperator, IdentityOperator + using Setfield + using UnPack + using SuiteSparse + using KLU + using Sparspak + using FastLapackInterface + using DocStringExtensions + using EnumX + using Requires + import InteractiveUtils + + using LinearAlgebra: BlasInt, LU + using LinearAlgebra.LAPACK: require_one_based_indexing, chkfinite, chkstride1, + @blasfunc, chkargsok + + import GPUArraysCore + import Preferences + + # wrap + import Krylov + + using SciMLBase +end using Reexport @reexport using SciMLBase @@ -124,8 +131,6 @@ end const IS_OPENBLAS = Ref(true) isopenblas() = IS_OPENBLAS[] -import PrecompileTools - PrecompileTools.@compile_workload begin A = rand(4, 4) b = rand(4) From 60ae26a15e9eafbcebd8fcdce60c2dd931a6a811 Mon Sep 17 00:00:00 2001 From: Christopher Rackauckas Date: Mon, 18 Sep 2023 09:57:55 -0400 Subject: [PATCH 2/2] Update Project.toml --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 4081ee050..57f017c8b 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "LinearSolve" uuid = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" authors = ["SciML"] -version = "2.5.1" +version = "2.6.0" [deps] ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"