Skip to content

heyoka.py 0.17.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@bluescarni bluescarni released this 25 Jan 07:22
· 785 commits to main since this release
1ec5276

This new version of heyoka.py comes with a big new feature, several quality-of-life improvements and a few fixes.

Ensemble propagations 馃殌

The big new feature is support for ensemble propagations. In ensemble mode, multiple distinct instances of the same ODE system are integrated in parallel, typically using different sets of initial conditions and/or runtime parameters. Monte Carlo simulations and parameter searches are two typical examples of tasks in which ensemble mode is particularly useful.

The combination of ensemble mode with batch integrators can lead to substantial speedups (e.g., a floating-point throughput increase of 23x was observed on a modern desktop computer using 8 threads of execution, see here).

Quality of life improvements

  • Several functions in the batch integration API now also accept scalar time values in input, instead of just vectors. This change improves the usability of batch mode by reducing the amount of typing necessary to interact with batch integrators;
  • a function to compute the suggested SIMD size for the CPU in use was added;
  • it is now possible to access the internal representation of the integrator's time variable as a double-length float.

The full changelog, as usual, is available here:

https://bluescarni.github.io/heyoka.py/changelog.html