Skip to content

Revert "Enable Ahead-of-Time Compilation by hiding the runtime functions in the GLOBAL_METHOD_TABLE"#788

Merged
maleadt merged 2 commits into
masterfrom
revert-749-ap/aot-compilation
May 5, 2026
Merged

Revert "Enable Ahead-of-Time Compilation by hiding the runtime functions in the GLOBAL_METHOD_TABLE"#788
maleadt merged 2 commits into
masterfrom
revert-749-ap/aot-compilation

Conversation

@maleadt
Copy link
Copy Markdown
Member

@maleadt maleadt commented May 5, 2026

Reverts #749. The PR puts things in the global method table, which isn't used by back-ends that define their own.

@maleadt maleadt merged commit 8aa6e7c into master May 5, 2026
36 of 37 checks passed
@maleadt maleadt deleted the revert-749-ap/aot-compilation branch May 5, 2026 20:37
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>
@KSepetanc
Copy link
Copy Markdown

Any other fix for AOT compile?

KSepetanc added a commit to KSepetanc/GPUCompiler.jl that referenced this pull request May 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants