heyoka.py 7.10.0 #267
bluescarni
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
This latest heyoka.py release comes with several new features and improvements.
On-disk cache 💾
Debuting in these release, is the on-disk JIT compilation cache, complementing the existing in-memory cache.
The on-disk compilation cache persistently stores compiled LLVM modules on disk, so that repeated compilations of the same integrators, compiled functions, etc. across different program executions skip the expensive LLVM optimization and codegen steps entirely. Combined with the existing in-memory cache, this provides a two-level caching system that can dramatically reduce startup times for common workflows.
Please refer to the tutorial in order to understand how to work with the on-disk cache:
https://bluescarni.github.io/heyoka.py/notebooks/jit_caching.html
Improved support for combined
sincoscomputations ⚡When both sine and cosine of the same argument are needed, heyoka.py now automatically detects these pairs and fuses them into single
sincos()calls, nearly halving the trigonometric computation cost. While this optimisation existed in previous versions for scalar computations, in this release it has been extended to support vectorized and quadruple/multiple-precision computations.This optimization is applied transparently during expression decomposition and benefits both user-defined expressions and internal Kepler equation solvers.
Performance improvements 🏎️
Bugfixes 🐞
fast_mathcompilation flag does not set the LLVMnnanandninfflags any more. This should improve the behaviour of the Kepler solvers whenfast_mathis active.As usual, the full changelog is available here:
https://bluescarni.github.io/heyoka.py/changelog.html
This discussion was created from the release heyoka.py 7.10.0.
All reactions