Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change to LinearSolve.jl #1543

Merged
merged 66 commits into from
Dec 20, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
a0a51fc
WIP: Change to LinearSolve.jl
ChrisRackauckas Dec 11, 2021
cf3d04e
change linsolve defaults
ChrisRackauckas Dec 11, 2021
226d4fd
fix standard preconditioning
ChrisRackauckas Dec 12, 2021
6e50d2f
add LinearSolve lower bound
ChrisRackauckas Dec 12, 2021
46c928d
try to fix weird error
ChrisRackauckas Dec 12, 2021
2b48a72
WOperator IIP
ChrisRackauckas Dec 12, 2021
7fadc16
fix namespace choice
ChrisRackauckas Dec 12, 2021
ac8d5ba
fix WOperator IIP
ChrisRackauckas Dec 13, 2021
3735744
fix operator form
ChrisRackauckas Dec 13, 2021
fd02dbe
Update everything to LinearSolve.jl
ChrisRackauckas Dec 13, 2021
693eaa1
fix klast
ChrisRackauckas Dec 13, 2021
756dee8
fix oop caches
ChrisRackauckas Dec 14, 2021
0973324
use prec fix
ChrisRackauckas Dec 14, 2021
ac9c4bd
add missing opts
ChrisRackauckas Dec 14, 2021
b801a02
more linsolve updates
ChrisRackauckas Dec 14, 2021
4fc9b96
do not handle out of place at this time
ChrisRackauckas Dec 14, 2021
824c9a9
get opts from integrator
ChrisRackauckas Dec 14, 2021
d7eed7d
fix opts usage
ChrisRackauckas Dec 14, 2021
c123ef3
add weight to Rosenbrocks
ChrisRackauckas Dec 14, 2021
37c9b5a
more opts usage
ChrisRackauckas Dec 14, 2021
d09d93a
fix a few linearsolve gets
ChrisRackauckas Dec 14, 2021
e77e28e
vec the construction
ChrisRackauckas Dec 14, 2021
c0cf312
remove show
ChrisRackauckas Dec 14, 2021
ef9afbb
fail fast
ChrisRackauckas Dec 14, 2021
aa9f105
setup LinearSolve in more algorithms and event handling
ChrisRackauckas Dec 14, 2021
362d408
a few fixes
ChrisRackauckas Dec 14, 2021
3f6d4a9
Update Project.toml
ChrisRackauckas Dec 15, 2021
6a5b6eb
fix rebase issues
ChrisRackauckas Dec 15, 2021
bec49a8
Some how this redefined nothing=Val{:forward}?
ChrisRackauckas Dec 15, 2021
9b2d424
fix cache aliasing
ChrisRackauckas Dec 15, 2021
9c6da35
up versions and fix a few tests
ChrisRackauckas Dec 15, 2021
9f484f9
fix a bunch of convergence tests
ChrisRackauckas Dec 15, 2021
fde263a
fix RAdau
ChrisRackauckas Dec 15, 2021
2248b61
change extrapolation
ChrisRackauckas Dec 15, 2021
23a999a
fix RadauIIA3
ChrisRackauckas Dec 16, 2021
de7ebcc
fix firk and cache tests
ChrisRackauckas Dec 16, 2021
68ca830
fix some rosenbrock loops
ChrisRackauckas Dec 16, 2021
f51a9e1
update to proper preconditioners
ChrisRackauckas Dec 16, 2021
017eca4
fix caching
ChrisRackauckas Dec 17, 2021
c517fea
fix cache type stability
ChrisRackauckas Dec 17, 2021
9ed2df9
fix , in caches
ChrisRackauckas Dec 17, 2021
a257920
weight before usage
ChrisRackauckas Dec 17, 2021
61ca1d0
better inference
ChrisRackauckas Dec 17, 2021
e74ed62
fix linearsolve iterative solving initial condition
ChrisRackauckas Dec 17, 2021
fca2f9e
no weights for extrapolation
ChrisRackauckas Dec 18, 2021
7f7d7e6
what the firk
ChrisRackauckas Dec 18, 2021
4e5dbfe
a bunch of small fixes
ChrisRackauckas Dec 19, 2021
428f9eb
fix most caches and setup for LinearSolve v0.3
ChrisRackauckas Dec 19, 2021
2a5d539
a few update fixes
ChrisRackauckas Dec 19, 2021
3868f6b
test broken due to ad alias check
ChrisRackauckas Dec 19, 2021
087018e
Fix typos
ChrisRackauckas Dec 19, 2021
b036c9f
bump required patch for sparse lu
ChrisRackauckas Dec 19, 2021
c8955e3
_vec, bump linear solve, and greatly simplify Rosenbrock code
ChrisRackauckas Dec 19, 2021
24a6155
revert some Rosenbrock simplifications
ChrisRackauckas Dec 20, 2021
82a3637
tests should pass!@!@!!@!
ChrisRackauckas Dec 20, 2021
6172f5e
fix a bit
ChrisRackauckas Dec 20, 2021
2538da5
fix a few typos
ChrisRackauckas Dec 20, 2021
dd7bf60
refactor linsolve calls now that tests are passing
ChrisRackauckas Dec 20, 2021
61749fa
fix Rosenbrock refactor
ChrisRackauckas Dec 20, 2021
5c40c65
last commit!
ChrisRackauckas Dec 20, 2021
4f89c76
a few last patches
ChrisRackauckas Dec 20, 2021
33612a1
bump a few things
ChrisRackauckas Dec 20, 2021
c0e3ee9
fix really dumb typo
ChrisRackauckas Dec 20, 2021
a2e7b2f
missing vec
ChrisRackauckas Dec 20, 2021
7f6119f
fix addsteps linsolve choices
ChrisRackauckas Dec 20, 2021
da30362
last minute fixes
ChrisRackauckas Dec 20, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 124 additions & 5 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
steps:
- label: "Julia 1"
- label: "GPU"
plugins:
- JuliaCI/julia#v1:
version: "1"
Expand All @@ -8,11 +8,130 @@ steps:
agents:
queue: "juliagpu"
cuda: "*"
env:
GROUP: 'GPU'
JULIA_PKG_SERVER: "" # it often struggles with our large artifacts
# SECRET_CODECOV_TOKEN: "..."
timeout_in_minutes: 30
# Don't run Buildkite if the commit message includes the text [skip tests]
if: build.message !~ /\[skip tests\]/

env:
GROUP: GPU
JULIA_PKG_SERVER: "" # it often struggles with our large artifacts
# SECRET_CODECOV_TOKEN: "..."
- label: "Regression_I"
plugins:
- JuliaCI/julia#v1:
version: "1"
- JuliaCI/julia-test#v1:
coverage: false
julia_args: "--threads=auto"
agents:
queue: "juliaecosystem"
env:
GROUP: 'Regression_I'
timeout_in_minutes: 240
# Don't run Buildkite if the commit message includes the text [skip tests]
if: build.message !~ /\[skip tests\]/

- label: "Regression_I LTS"
plugins:
- JuliaCI/julia#v1:
version: "1.6"
- JuliaCI/julia-test#v1:
coverage: false
julia_args: "--threads=auto"
agents:
queue: "juliaecosystem"
env:
GROUP: 'Regression_I'
timeout_in_minutes: 240
# Don't run Buildkite if the commit message includes the text [skip tests]
if: build.message !~ /\[skip tests\]/

- label: "Regression_II"
plugins:
- JuliaCI/julia#v1:
version: "1"
- JuliaCI/julia-test#v1:
coverage: false
julia_args: "--threads=auto"
agents:
queue: "juliaecosystem"
env:
GROUP: 'Regression_II'
timeout_in_minutes: 240
# Don't run Buildkite if the commit message includes the text [skip tests]
if: build.message !~ /\[skip tests\]/

- label: "Regression_II LTS"
plugins:
- JuliaCI/julia#v1:
version: "1.6"
- JuliaCI/julia-test#v1:
coverage: false
julia_args: "--threads=auto"
agents:
queue: "juliaecosystem"
env:
GROUP: 'Regression_II'
timeout_in_minutes: 240
# Don't run Buildkite if the commit message includes the text [skip tests]
if: build.message !~ /\[skip tests\]/

- label: "Multithreading"
plugins:
- JuliaCI/julia#v1:
version: "1"
- JuliaCI/julia-test#v1:
coverage: false
julia_args: "--threads=auto"
agents:
queue: "juliaecosystem"
env:
GROUP: 'Multithreading'
timeout_in_minutes: 240
# Don't run Buildkite if the commit message includes the text [skip tests]
if: build.message !~ /\[skip tests\]/

- label: "Multithreading LTS"
plugins:
- JuliaCI/julia#v1:
version: "1.6"
- JuliaCI/julia-test#v1:
coverage: false
julia_args: "--threads=auto"
agents:
queue: "juliaecosystem"
env:
GROUP: 'Multithreading'
timeout_in_minutes: 240
# Don't run Buildkite if the commit message includes the text [skip tests]
if: build.message !~ /\[skip tests\]/

- label: "Integrators_II"
plugins:
- JuliaCI/julia#v1:
version: "1"
- JuliaCI/julia-test#v1:
coverage: false
julia_args: "--threads=auto"
agents:
queue: "juliaecosystem"
env:
GROUP: 'Integrators_II'
timeout_in_minutes: 240
# Don't run Buildkite if the commit message includes the text [skip tests]
if: build.message !~ /\[skip tests\]/

- label: "Integrators_II LTS"
plugins:
- JuliaCI/julia#v1:
version: "1.6"
- JuliaCI/julia-test#v1:
coverage: false
julia_args: "--threads=auto"
agents:
queue: "juliaecosystem"
env:
GROUP: 'Integrators_II'
timeout_in_minutes: 240
# Don't run Buildkite if the commit message includes the text [skip tests]
if: build.message !~ /\[skip tests\]/
5 changes: 1 addition & 4 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,13 @@ jobs:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.group == 'Downstream' }}
strategy:
fail-fast: false
#fail-fast: false
matrix:
group:
- InterfaceI
- InterfaceII
- InterfaceIII
- Integrators_I
- Integrators_II
- Regression_I
- Regression_II
- AlgConvergence_I
- AlgConvergence_II
- AlgConvergence_III
Expand Down
2 changes: 2 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ FastClosures = "9aa1b823-49e4-5ca5-8b0f-3971ec8bab6a"
FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
ChrisRackauckas marked this conversation as resolved.
Show resolved Hide resolved
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890"
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
Expand All @@ -38,6 +39,7 @@ ExponentialUtilities = "1.2"
FastClosures = "0.3"
FiniteDiff = "2"
ForwardDiff = "0.10.3"
LinearSolve = "1"
LoopVectorization = "0.12"
MacroTools = "0.5"
MuladdMacro = "0.2.1"
Expand Down
4 changes: 3 additions & 1 deletion src/OrdinaryDiffEq.jl
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ using DocStringExtensions

using LoopVectorization

using LinearSolve

# Interfaces
import DiffEqBase: solve!, step!, initialize!, isadaptive

Expand Down Expand Up @@ -72,7 +74,7 @@ using DocStringExtensions
ForwardDiff.Dual{ForwardDiff.Tag{T,W},K,3} where {T,W<:Union{Float64,Float32},
K<:Union{Float64,Float32}}}

struct OrdinaryDiffEqTag end
struct OrdinaryDiffEqTag end

include("misc_utils.jl")
include("algorithms.jl")
Expand Down
Loading