heyoka 6.0.0 #457
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
-
Improved support for mega-kernels ⚡
The main focus of this new heyoka release is improved support for very large computational graphs in both Taylor integrators and compiled functions. Specifically:
compact_mode
is active, heyoka now splits the LLVM IR code in multiple modules rather than keeping it all in a single module - this leads to noticeable improvements in compilation time;parjit
boolean flag (that can optionally be passed to the constructors of Taylor integrators and compiled functions) can be used to enable parallel compilation incompact_mode
- this can lead to dramatically-reduced compilation times on multicore machines;small
code model is used, but very large computational graphs (which would error out in previous heyoka versions) might require thelarge
model.Warning
Due to several LLVM issues around parallel JIT compilation discovered during this latest heyoka development cycle, the
parjit
flag is currently off by default on Unix platforms and completely disabled on Windows. Turning onparjit
on Unix platforms is considered safe but can very rarely result in a runtime exception being thrown. See the "known issues" page for more details:https://bluescarni.github.io/heyoka/known_issues.html
We expect the
parjit
feature to become more stable in later LLVM releases, at which point it will be turned on by default.Improvements to the integrator API 🔨
pow()
improvements 💥Exponentiations with non-numerical exponents are now supported in the right-hand side of ODEs.
Update on supported LLVM versions 🔁
The minimum supported LLVM version is now 15. This release also adds support for the recently-released LLVM 19.
Miscellanea
As usual, the full changelog is available here:
https://bluescarni.github.io/heyoka/changelog.html
This discussion was created from the release heyoka 6.0.0.
Beta Was this translation helpful? Give feedback.
All reactions