Skip to content

Commit

Permalink
Don't default to MKL on EPYC (#518)
Browse files Browse the repository at this point in the history
* Don't default to MKL on EPYC

* import correctly

* Update Project.toml

* Update Project.toml

Co-authored-by: Chris Elrod <[email protected]>

* Update qa.jl

* Update static_arrays.jl

* Update test/static_arrays.jl

* Update test/static_arrays.jl

* Update adjoint.jl

* Update test/adjoint.jl

* Update static_arrays.jl

* Update static_arrays.jl

* Update test/static_arrays.jl

* Update static_arrays.jl

* Update test/static_arrays.jl

* Update test/static_arrays.jl

Co-authored-by: Chris Elrod <[email protected]>

---------

Co-authored-by: Chris Elrod <[email protected]>
  • Loading branch information
ChrisRackauckas and chriselrod authored Jul 30, 2024
1 parent 844253c commit e63fade
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 8 deletions.
2 changes: 2 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ version = "2.30.2"
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
ConcreteStructs = "2569d6c7-a4a2-43d3-a901-331e8e4be471"
CpuId = "adafc99b-e345-5852-983c-f28acb93d879"
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
EnumX = "4e289a0a-7415-4d19-859d-a7e5c4648b56"
FastLapackInterface = "29a986be-02c6-4525-aec4-84b980013641"
Expand Down Expand Up @@ -72,6 +73,7 @@ CUDA = "5"
CUDSS = "0.1, 0.2, 0.3"
ChainRulesCore = "1.22"
ConcreteStructs = "0.2.3"
CpuId = "0.3.1"
DocStringExtensions = "0.9.3"
EnumX = "1.0.4"
Enzyme = "0.11.15, 0.12"
Expand Down
3 changes: 2 additions & 1 deletion src/LinearSolve.jl
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@ import PrecompileTools
import Krylov
using SciMLBase
import Preferences
import CpuId

const CRC = ChainRulesCore

if Preferences.@load_preference("LoadMKL_JLL", true)
if Preferences.@load_preference("LoadMKL_JLL", !occursin("EPYC", CpuId.cpubrand()))
using MKL_jll
const usemkl = MKL_jll.is_available()
else
Expand Down
2 changes: 1 addition & 1 deletion test/adjoint.jl
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ db12 = FiniteDiff.finite_difference_gradient(
db22 = FiniteDiff.finite_difference_gradient(
x -> f3(eltype(x).(A), eltype(x).(b1), x), copy(b1))

@test dAdA2 atol=1e-4
@test dAdA2 rtol=1e-3
@test db1 db12
@test db2 db22

Expand Down
2 changes: 1 addition & 1 deletion test/qa.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ using LinearSolve, Aqua
Aqua.test_piracies(LinearSolve,
treat_as_own = [LinearProblem])
Aqua.test_project_extras(LinearSolve)
Aqua.test_stale_deps(LinearSolve)
Aqua.test_stale_deps(LinearSolve, ignore = [:MKL_jll])
Aqua.test_unbound_args(LinearSolve)
Aqua.test_undefined_exports(LinearSolve)
end
8 changes: 3 additions & 5 deletions test/static_arrays.jl
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,11 @@ for alg in (nothing, LUFactorization(), SVDFactorization(), CholeskyFactorizatio
sol = solve(LinearProblem(A, b), alg)
@inferred solve(LinearProblem(A, b), alg)
@test norm(A * sol .- b) < 1e-10

if __non_native_static_array_alg(alg)
@test_broken __solve_no_alloc(A, b, alg)
if alg isa KrylovJL{typeof(LinearSolve.Krylov.gmres!)}
@test_broken __solve_no_alloc(A, b, alg) isa SciMLBase.LinearSolution
else
@test_nowarn __solve_no_alloc(A, b, alg)
@test_nowarn __solve_no_alloc(A, b, alg) isa SciMLBase.LinearSolution
end

cache = init(LinearProblem(A, b), alg)
sol = solve!(cache)
@test norm(A * sol .- b) < 1e-10
Expand Down

0 comments on commit e63fade

Please sign in to comment.