Skip to content

Conversation

@ChrisRackauckas-Claude
Copy link

Summary

This PR adds IRKGL16 methods from IRKGaussLegendre.jl to the Non-stiff ODE benchmark suite, providing comprehensive performance comparisons with both normal and SIMD versions of high-precision 16th-order implicit Runge-Kutta Gauss-Legendre methods.

Changes Made

New Dependency

  • Added IRKGaussLegendre.jl v0.2.11 to Project.toml

Methods Added

  • IRKGL16(simd=false) - Standard high-precision 16th-order implementation
  • IRKGL16(simd=true) - SIMD-vectorized version (6x faster per documentation)

Benchmark Files Modified

  1. LotkaVolterra_wpd.jmd - Added to low order, higher order, interpolation, and non-RK comparison sections
  2. ThreeBody_wpd.jmd - Added to 5th order, higher order, and comparison sections
  3. Pleiades_wpd.jmd - Added to low order, higher order, interpolation, and comparison sections
  4. RigidBody_wpd.jmd - Added to low order and higher order sections

Technical Details

  • Includes both regular and static array versions (:prob_choice => 2) for comprehensive coverage
  • Updated all import statements to include IRKGaussLegendre
  • Updated solution names in comparative benchmarks for proper labeling
  • Applied SciMLStyle formatting to all modified files

Performance Benefits

The IRKGL16 methods are particularly valuable for:

  • High-precision non-stiff ODE integration
  • Hamiltonian systems (as noted in IRKGaussLegendre.jl documentation)
  • Performance comparison between normal and SIMD implementations
  • Demonstrating cutting-edge implicit Runge-Kutta Gauss-Legendre collocation methods

Test Plan

  • Verified IRKGaussLegendre.jl package installs successfully
  • Confirmed IRKGL16 methods are available and callable
  • Applied proper code formatting with JuliaFormatter SciMLStyle
  • Ensured all import statements and method calls are syntactically correct

🤖 Generated with Claude Code

ChrisRackauckas and others added 4 commits September 7, 2025 21:31
This commit integrates IRKGL16 methods from IRKGaussLegendre.jl into the
Non-stiff ODE benchmark suite, providing both normal and SIMD versions
of high-precision 16th-order implicit Runge-Kutta Gauss-Legendre methods.

Changes:
• Add IRKGaussLegendre.jl dependency to Project.toml
• Add IRKGL16(simd=false) and IRKGL16(simd=true) to LotkaVolterra benchmarks
• Add IRKGL16 methods to ThreeBody benchmarks across all test sections
• Add IRKGL16 methods to Pleiades benchmarks for comprehensive comparison
• Add IRKGL16 methods to RigidBody benchmarks in low and higher order sections
• Update import statements and solution names in all modified benchmarks
• Include both regular and static array versions for complete coverage

The SIMD version provides 6x performance improvement over the standard
implementation according to the IRKGaussLegendre.jl documentation, making
these methods particularly valuable for high-precision non-stiff ODE integration.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
IRKGL16 methods from IRKGaussLegendre.jl are in-place only and cannot
be used with static arrays (prob_choice => 2). This commit removes all
static array versions and updates solution names accordingly.

Changes:
• Remove all Dict(:alg=>IRKGL16(...), :prob_choice => 2) entries
• Update solution names to remove references to static versions
• Keep only in-place compatible IRKGL16(simd=false/true) methods
• Reformat files for consistent styling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Regenerated Manifest.toml using Julia v1.10.10 instead of v1.11.6
for consistency with project standards.

Changes:
• Removed v1.11.6 generated Manifest.toml
• Ran ]instantiate with Julia v1.10.10 to generate proper manifest
• Verified IRKGaussLegendre.jl v0.2.11 resolves correctly on v1.10

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@ChrisRackauckas ChrisRackauckas merged commit 3d302bc into SciML:master Sep 8, 2025
1 of 2 checks passed
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