Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
22 changes: 1 addition & 21 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,6 @@ TerminalLoggers = "5d786b92-1e48-4d6f-9151-6b4477ca9bed"
[sources.OptimizationBase]
path = "lib/OptimizationBase"

[sources.OptimizationLBFGSB]
path = "lib/OptimizationLBFGSB"

[sources.OptimizationMOI]
path = "lib/OptimizationMOI"

[sources.OptimizationOptimJL]
path = "lib/OptimizationOptimJL"

Expand All @@ -35,17 +29,14 @@ path = "lib/OptimizationOptimisers"
[compat]
ADTypes = "1.18"
ArrayInterface = "7.10"
BenchmarkTools = "1"
Boltz = "1"
ComponentArrays = ">= 0.13.9"
ConsoleProgressMonitor = "0.1.1"
DiffEqFlux = "2, 3, 4"
DocStringExtensions = "0.9.5"
Enzyme = "0.13"
FiniteDiff = "2"
Flux = "0.13, 0.14, 0.15, 0.16"
ForwardDiff = "0.10, 1"
Ipopt = "1"
IterTools = "1.3"
LinearAlgebra = "1.10"
LinearSolve = "3.64.0"
Expand All @@ -54,12 +45,9 @@ LoggingExtras = "0.4, 1"
Lux = "1.12.4"
MLUtils = "0.4"
ModelingToolkit = "11"
Mooncake = "0.4.138, 0.5"
Optim = ">= 1.4.1"
Optimisers = ">= 0.2.5"
OptimizationBase = "5"
OptimizationLBFGSB = "1.2"
OptimizationMOI = "1"
OptimizationOptimJL = "0.4.10"
OptimizationOptimisers = "0.3.16"
OrdinaryDiffEqTsit5 = "1, 2"
Expand All @@ -77,30 +65,23 @@ SparseArrays = "1.10"
Symbolics = "7"
TerminalLoggers = "0.1"
Test = "1.10"
Tracker = "0.2"
Zygote = "0.6, 0.7"
julia = "1.10"

[extras]
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
Boltz = "4544d5e4-abc5-4dea-817f-29e4c205d9c8"
ComponentArrays = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66"
DiffEqFlux = "aae7a2af-3d4f-5e19-a356-7da93b79d9d0"
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41"
Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9"
IterTools = "c8e1da08-722c-5040-9ed9-7db0dc04731e"
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
Lux = "b2108857-7c20-44ae-9111-449ecde12c47"
MLUtils = "f1d291b0-491e-4a28-83b9-f70985020b54"
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2"
OptimizationLBFGSB = "22f7324a-a79d-40f2-bebe-3af60c77bd15"
OptimizationMOI = "fd9f6733-72f4-499f-8506-86b2bdd0dea1"
OptimizationOptimJL = "36348300-93cb-4f02-beb5-3c3902f8871e"
OptimizationOptimisers = "42dfb2eb-d2b4-4451-abcd-913932933ac1"
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
Expand All @@ -114,8 +95,7 @@ SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"

[targets]
test = ["BenchmarkTools", "Boltz", "ComponentArrays", "DiffEqFlux", "Enzyme", "FiniteDiff", "Flux", "ForwardDiff", "Ipopt", "IterTools", "LinearSolve", "Lux", "MLUtils", "ModelingToolkit", "Optim", "OptimizationLBFGSB", "OptimizationMOI", "OptimizationOptimJL", "OptimizationOptimisers", "OrdinaryDiffEqTsit5", "Pkg", "Random", "ReverseDiff", "SafeTestsets", "SciMLSensitivity", "SciMLTesting", "SparseArrays", "Symbolics", "Test", "Tracker", "Zygote", "Mooncake", "SciMLLogging"]
test = ["Boltz", "ComponentArrays", "DiffEqFlux", "FiniteDiff", "Flux", "ForwardDiff", "IterTools", "LinearSolve", "Lux", "MLUtils", "ModelingToolkit", "Optim", "OptimizationOptimJL", "OptimizationOptimisers", "OrdinaryDiffEqTsit5", "Pkg", "Random", "ReverseDiff", "SafeTestsets", "SciMLSensitivity", "SciMLTesting", "SparseArrays", "Symbolics", "Test", "Zygote", "SciMLLogging"]
File renamed without changes.
File renamed without changes.
49 changes: 49 additions & 0 deletions test/AD/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
[deps]
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9"
Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
OptimizationBase = "bca83a33-5cc9-4baa-983d-23429ab6bcbb"
OptimizationLBFGSB = "22f7324a-a79d-40f2-bebe-3af60c77bd15"
OptimizationMOI = "fd9f6733-72f4-499f-8506-86b2bdd0dea1"
OptimizationOptimJL = "36348300-93cb-4f02-beb5-3c3902f8871e"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"

[sources]
Optimization = {path = "../.."}
OptimizationBase = {path = "../../lib/OptimizationBase"}
OptimizationLBFGSB = {path = "../../lib/OptimizationLBFGSB"}
OptimizationMOI = {path = "../../lib/OptimizationMOI"}
OptimizationOptimJL = {path = "../../lib/OptimizationOptimJL"}

[compat]
ADTypes = "1.18"
BenchmarkTools = "1"
Enzyme = "0.13"
FiniteDiff = "2"
ForwardDiff = "0.10, 1"
Ipopt = "1"
Mooncake = "0.4.138, 0.5"
Optimization = "5"
OptimizationBase = "5"
OptimizationLBFGSB = "1.2"
OptimizationMOI = "1"
OptimizationOptimJL = "0.4.10"
Random = "1.10"
ReverseDiff = "1"
SafeTestsets = "0.1"
SciMLTesting = "2.1"
Test = "1.10"
Tracker = "0.2"
Zygote = "0.6, 0.7"
julia = "1.10"
15 changes: 13 additions & 2 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,6 @@ const LIB_DIR = joinpath(dirname(@__DIR__), "lib")
core = function ()
@safetestset "Utils Tests" include("utils.jl")
@safetestset "Verbosity Tests" include("verbosity.jl")
@safetestset "AD Tests" include("ADtests.jl")
@safetestset "AD Performance Regression Tests" include("AD_performance_regression.jl")
@safetestset "Optimization" include("native.jl")
@safetestset "Mini batching" include("minibatch.jl")
# DiffEqFlux test temporarily skipped due to ForwardDiff gradient dispatch
Expand All @@ -70,6 +68,19 @@ const LIB_DIR = joinpath(dirname(@__DIR__), "lib")
@safetestset "Sense Handling" include("sense_tests.jl")
end,
groups = Dict(
# The AD tests are their own group with their own environment
# (test/AD/Project.toml) so their Enzyme-family dependencies stay out
# of the main test env, and so the group can be excluded from the Julia
# `pre` channel in test_groups.toml: Enzyme is expected to fail on
# prereleases until a fixed Enzyme release lands.
# See https://github.com/SciML/Optimization.jl/issues/1260.
"AD" => (;
env = joinpath(@__DIR__, "AD"),
body = function ()
@safetestset "AD Tests" include("AD/ADtests.jl")
@safetestset "AD Performance Regression Tests" include("AD/AD_performance_regression.jl")
end,
),
"GPU" => (;
env = joinpath(@__DIR__, "downstream"),
body = function ()
Expand Down
6 changes: 6 additions & 0 deletions test/test_groups.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
[Core]
versions = ["lts", "1", "pre"]

# Enzyme is expected to fail on Julia prereleases (see
# https://github.com/SciML/Optimization.jl/issues/1260), so the Enzyme-dependent
# AD tests run their own group and are excluded from the "pre" channel.
[AD]
versions = ["lts", "1"]

[QA]
versions = ["lts", "1"]
Loading