Skip to content

Add GPURodas3 and GPURodas42 support to EnsembleGPUKernel#429

Open
AJ0070 wants to merge 4 commits intoSciML:masterfrom
AJ0070:fix/gpu-support-Rodas
Open

Add GPURodas3 and GPURodas42 support to EnsembleGPUKernel#429
AJ0070 wants to merge 4 commits intoSciML:masterfrom
AJ0070:fix/gpu-support-Rodas

Conversation

@AJ0070
Copy link
Copy Markdown

@AJ0070 AJ0070 commented Apr 6, 2026

Checklist

  • Appropriate tests were added
  • Any code changes were done in a way that does not break public API
  • All documentation related to code changes were updated
  • The new code follows the
    contributor guidelines, in particular the SciML Style Guide and
    COLPRAC.
  • Any new documentation only uses public API

Additional context

This PR introduces GPU kernel solver support for Rodas3 and Rodas42 in DiffEqGPU, following the existing Rosenbrock-style implementation pattern.

Key changes

  • Added new implicit GPU algorithm types: GPURodas3 and GPURodas42
  • Implemented method metadata and order wiring for both algorithms
  • Added Rodas tableaus and coefficients required for kernel execution
  • Updated stiff integrator type and initialization paths for Rodas3 and Rodas42
  • Implemented kernel perform-step logic for Rodas3, along with module includes and exports
  • Expanded test coverage across GPU kernel tests, lower-level API tests, and JET checks

AI Disclosure: used copilot for understanding previous code and generating parts of code(tested and verified manually)

@oscardssmith
Copy link
Copy Markdown
Member

At some point we should unify all the rosenbrocks (like we've done on the OrdinaryDiffEq side), but this looks reasonable.

@ChrisRackauckas
Copy link
Copy Markdown
Member

I really don't see the point of this.

@oscardssmith
Copy link
Copy Markdown
Member

oscardssmith commented Apr 6, 2026

George Gkountouras requested it (presumably to have a low order rosenbrock method that works for DAE GPUs).

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.

3 participants