SciML / DiffEqGPU.jl

GPU-acceleration routines for DifferentialEquations.jl and the broader SciML scientific machine learning ecosystem
https://docs.sciml.ai/DiffEqGPU/stable/
MIT License
272 stars 27 forks source link

Add immutable ODE Problem for GPU compilation #306

Closed utkarsh530 closed 8 months ago

utkarsh530 commented 8 months ago

@ChrisRackauckas I am not very fond of having ImmutableODEProblem as it cannot be kept entirely internal. We need to expose some implementation in the lower-level API case. We should probably tag this as a breaking release.

ChrisRackauckas commented 8 months ago

Yeah... this is only meant to be temporary to appease @wsmoses

wsmoses commented 8 months ago

Yeah the reason it needed to be mutable is because otherwise there's a mixedactivity state when differentiating it since it contains both pointer-to-float data [aka vector{float64}] and a float64, meaning there's no single (either via in place since mutable, or via return since its immutable) way to update it.

We've been working on some big type-based activity analysis things that just landed, so it may be time in the near future for us to look at a better workaround.