Make EnzymeCore.jl a strong dependency of OrdinaryDiffEqCore.jl#3032
Merged
ChrisRackauckas merged 1 commit intoSciML:masterfrom Feb 4, 2026
Merged
Make EnzymeCore.jl a strong dependency of OrdinaryDiffEqCore.jl#3032ChrisRackauckas merged 1 commit intoSciML:masterfrom
ChrisRackauckas merged 1 commit intoSciML:masterfrom
Conversation
5 tasks
Member
It does not. |
Contributor
Author
But how do you explain that: (jl_trc7s7) pkg> why EnzymeCore
OrdinaryDiffEqCore → DiffEqBase → BracketingNonlinearSolve → NonlinearSolveBase → EnzymeCore
(jl_trc7s7) pkg> st
Status `/tmp/jl_trc7s7/Project.toml`
[bbf590c4] OrdinaryDiffEqCore v3.4.0
(jl_trc7s7) pkg> st -m
Status `/tmp/jl_trc7s7/Manifest.toml`
[47edcb42] ADTypes v1.21.0
[7d9f7c33] Accessors v0.1.43
[79e6a3ab] Adapt v4.4.0
[4fba245c] ArrayInterface v7.22.0
[62783981] BitTwiddlingConvenienceFunctions v0.1.6
[70df07ce] BracketingNonlinearSolve v1.6.2
[2a0fbf3d] CPUSummary v0.2.7
[fb6a15b2] CloseOpenIntervals v0.1.13
[38540f10] CommonSolve v0.2.6
[f70d9fcc] CommonWorldInvalidations v1.0.0
[34da2185] Compat v4.18.1
[a33af91c] CompositionsBase v0.1.2
[2569d6c7] ConcreteStructs v0.2.3
[187b0558] ConstructionBase v1.6.0
[adafc99b] CpuId v0.3.1
[864edb3b] DataStructures v0.19.3
[2b5f629d] DiffEqBase v6.200.0
[a0c0ee7d] DifferentiationInterface v0.7.16
[ffbed154] DocStringExtensions v0.9.5
[4e289a0a] EnumX v1.0.6
[f151be2c] EnzymeCore v0.8.18
[e2ba6199] ExprTools v0.1.10
[55351af7] ExproniconLite v0.10.14
[7034ab61] FastBroadcast v0.3.5
[9aa1b823] FastClosures v0.3.2
[a4df4552] FastPower v1.3.1
[1a297f60] FillArrays v1.16.0
[069b7b12] FunctionWrappers v1.1.3
[77dc65aa] FunctionWrappersWrappers v0.1.3
[46192b85] GPUArraysCore v0.2.0
[615f187c] IfElse v0.1.1
[3587e190] InverseFunctions v0.1.17
[82899510] IteratorInterfaceExtensions v1.0.0
[ae98c720] Jieko v0.2.1
[10f19ff3] LayoutPointers v0.1.17
[e6f89c97] LoggingExtras v1.2.0
[1914dd2f] MacroTools v0.5.16
[d125e4d3] ManualMemory v0.1.8
[bb5d69b7] MaybeInplace v0.1.4
[2e0e35c7] Moshi v0.3.7
[46d2c3a1] MuladdMacro v0.2.4
[be0214bd] NonlinearSolveBase v2.11.2
[bac558e1] OrderedCollections v1.8.1
[bbf590c4] OrdinaryDiffEqCore v3.4.0
[f517fe37] Polyester v0.7.18
[1d0040c9] PolyesterWeave v0.2.2
[d236fae5] PreallocationTools v1.1.2
[aea7be01] PrecompileTools v1.3.3
[21216c6a] Preferences v1.5.1
[3cdcf5f2] RecipesBase v1.3.4
[731186ca] RecursiveArrayTools v3.47.0
[189a3867] Reexport v1.2.2
[ae029012] Requires v1.3.1
[7e49a35a] RuntimeGeneratedFunctions v0.5.17
[94e857df] SIMDTypes v0.1.0
[0bca4576] SciMLBase v2.136.0
[19f34311] SciMLJacobianOperators v0.1.12
[a6db7da4] SciMLLogging v1.8.0
[c0aeaf25] SciMLOperators v1.15.1
[431bcebd] SciMLPublic v1.0.1
[53ae85a6] SciMLStructures v1.10.0
[efcf1570] Setfield v1.1.2
[aedffcd0] Static v1.3.1
[0d7ed370] StaticArrayInterface v1.8.0
[1e83bf80] StaticArraysCore v1.4.4
[10745b16] Statistics v1.11.1
[7792a7ef] StrideArraysCore v0.5.8
[2efcf032] SymbolicIndexingInterface v0.3.46
[8290d209] ThreadingUtilities v0.5.5
[a759f4b9] TimerOutputs v0.5.29
[781d530d] TruncatedStacktraces v1.4.0
[56f22d72] Artifacts v1.11.0
[2a0f44e3] Base64 v1.11.0
[ade2ca70] Dates v1.11.0
[8ba89e20] Distributed v1.11.0
[9fa8497b] Future v1.11.0
[b77e0a4c] InteractiveUtils v1.11.0
[ac6e5ff7] JuliaSyntaxHighlighting v1.12.0
[8f399da3] Libdl v1.11.0
[37e2e46d] LinearAlgebra v1.12.0
[56ddb016] Logging v1.11.0
[d6f4376e] Markdown v1.11.0
[de0858da] Printf v1.11.0
[9a3f8284] Random v1.11.0
[ea8e919c] SHA v0.7.0
[9e88b42a] Serialization v1.11.0
[6462fe0b] Sockets v1.11.0
[f489334b] StyledStrings v1.11.0
[fa267f1f] TOML v1.0.3
[cf7118a7] UUIDs v1.11.0
[4ec0a83e] Unicode v1.11.0
[e66e0078] CompilerSupportLibraries_jll v1.3.0+1
[4536629a] OpenBLAS_jll v0.3.29+0
[8e850b90] libblastrampoline_jll v5.15.0+0 |
Member
|
Okay then say it's NonlinearSolveBase 😅 @wsmoses is there a way to do https://github.com/SciML/NonlinearSolve.jl/blob/ed96792bf00e5d42c7a01ea7da676d78ea37489a/lib/NonlinearSolveBase/src/autodiff.jl#L7-L17 without the dep? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checklist
contributor guidelines, in particular the SciML Style Guide and
COLPRAC.
Additional context
This fixes #3025 and closes #3031. As noted by @devmotion (edit: #3031 (comment)), it does not make sense to make EnzymeCore.jl only a weak dependency of OrdinaryDiffEqCore.jl because OrdinaryDiffEqCore.jl depends on EnzymeCore.jl via DiffEqBase.jl. I verified locally that this also fixes the circular dependency issue on Julia v1.10.