Revert "Enable Ahead-of-Time Compilation by hiding the runtime functions in the GLOBAL_METHOD_TABLE"#788
Merged
Merged
Conversation
This was referenced May 6, 2026
ChrisRackauckas-Claude
pushed a commit
to ChrisRackauckas-Claude/DiffEqGPU.jl
that referenced
this pull request
May 6, 2026
The CUDA-side docs build was previously masked by the misaligned-address kernel error on Julia 1.12. After Tim Besard reverted the AOT change in JuliaGPU/GPUCompiler.jl#788, the build now reaches every @example block and surfaces several pre-existing problems. Fixed: - examples/ad.md (forward-mode AD block): `SciMLBase.FullSpecialize` was qualified by an unimported module. Drop the type-parameter form; ODEProblem auto-detects the in-place signature. - examples/bruss.md: Rosenbrock23() failed with "First call to automatic differentiation for time gradient failed" on the CuArray-backed problem. Switch to Rosenbrock23(autodiff = AutoFiniteDiff()) per the error message recommendation; add ADTypes to docs/Project.toml. - examples/gpu_ensemble_random_decay.md (CPU stats block): cpu_sol_plot[1].t failed because EnsembleSolution scalar indexing returns a flat element rather than a per-trajectory ODESolution. Mirror the GPU block: solutions_vector_cpu = cpu_sol_plot.u, then index into that. - tutorials/gpu_ensemble_basic.md: Rodas5 is no longer reachable from `using OrdinaryDiffEq` in this v7 install. Switch to Rosenbrock23(); the example provides analytical jac and tgrad so AD is not invoked. - tutorials/weak_order_conv_sde.md: missing `using StochasticDiffEq` caused UndefVarError on SDEProblem. Also fix the EnsembleGPUKernel call to pass an explicit backend (CUDA.CUDABackend(), 0.0). Tolerated (deeper upstream issues; tracked via :example_block warnonly): - examples/ad.md (Lux/Optimisers/Zygote training loop): ChainRulesCore ProjectTo DimensionMismatch. - tutorials/modelingtoolkit.md GPU ensemble block: MTKParameters contain non-inline fields that CuArray rejects. - tutorials/modelingtoolkit.md symbolic-indexing block: per-trajectory EnsembleGPUKernel solutions don't carry MTK symbolic metadata. Add `:example_block` to docs/make.jl warnonly so these render with their captured error output instead of failing the whole docs build. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Any other fix for AOT compile? |
KSepetanc
added a commit
to KSepetanc/GPUCompiler.jl
that referenced
this pull request
May 15, 2026
…" (JuliaGPU#788) This reverts commit 8aa6e7c.
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.
Reverts #749. The PR puts things in the global method table, which isn't used by back-ends that define their own.