Skip to content

Commit 64b302c

Browse files
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.
1 parent 82a4be5 commit 64b302c

File tree

1 file changed

+36
-31
lines changed

1 file changed

+36
-31
lines changed

src/LinearSolve.jl

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,42 @@ if isdefined(Base, :Experimental) &&
33
isdefined(Base.Experimental, Symbol("@max_methods"))
44
@eval Base.Experimental.@max_methods 1
55
end
6-
using ArrayInterface
7-
using RecursiveFactorization
8-
using Base: cache_dependencies, Bool
9-
using LinearAlgebra
10-
using SparseArrays
11-
using SparseArrays: AbstractSparseMatrixCSC, nonzeros, rowvals, getcolptr
12-
using SciMLBase: AbstractLinearAlgorithm
13-
using SciMLOperators
14-
using SciMLOperators: AbstractSciMLOperator, IdentityOperator
15-
using Setfield
16-
using UnPack
17-
using SuiteSparse
18-
using KLU
19-
using Sparspak
20-
using FastLapackInterface
21-
using DocStringExtensions
22-
using EnumX
23-
using Requires
24-
import InteractiveUtils
25-
26-
using LinearAlgebra: BlasInt, LU
27-
using LinearAlgebra.LAPACK: require_one_based_indexing, chkfinite, chkstride1,
28-
@blasfunc, chkargsok
29-
30-
import GPUArraysCore
31-
import Preferences
32-
33-
# wrap
34-
import Krylov
6+
7+
import PrecompileTools
8+
9+
PrecompileTools.@recompile_invalidations begin
10+
using ArrayInterface
11+
using RecursiveFactorization
12+
using Base: cache_dependencies, Bool
13+
using LinearAlgebra
14+
using SparseArrays
15+
using SparseArrays: AbstractSparseMatrixCSC, nonzeros, rowvals, getcolptr
16+
using SciMLBase: AbstractLinearAlgorithm
17+
using SciMLOperators
18+
using SciMLOperators: AbstractSciMLOperator, IdentityOperator
19+
using Setfield
20+
using UnPack
21+
using SuiteSparse
22+
using KLU
23+
using Sparspak
24+
using FastLapackInterface
25+
using DocStringExtensions
26+
using EnumX
27+
using Requires
28+
import InteractiveUtils
29+
30+
using LinearAlgebra: BlasInt, LU
31+
using LinearAlgebra.LAPACK: require_one_based_indexing, chkfinite, chkstride1,
32+
@blasfunc, chkargsok
33+
34+
import GPUArraysCore
35+
import Preferences
36+
37+
# wrap
38+
import Krylov
39+
40+
using SciMLBase
41+
end
3542

3643
using Reexport
3744
@reexport using SciMLBase
@@ -124,8 +131,6 @@ end
124131
const IS_OPENBLAS = Ref(true)
125132
isopenblas() = IS_OPENBLAS[]
126133

127-
import PrecompileTools
128-
129134
PrecompileTools.@compile_workload begin
130135
A = rand(4, 4)
131136
b = rand(4)

0 commit comments

Comments
 (0)