Goobley/Lightweaver: Performance Focused Improvements
Creators
- 1. University of Glasgow
- 2. Instituto de Astrofisica de Canarias
Description
The v0.8 release of Lightweaver focuses significantly on performance enhancements in the backend, with some improved frontend flexibility regarding the printing of results. If you've been using a v0.8.0rc* version then you will already have most/all of these features.
Notable features:
- Manual SIMD (x86_64) vectorisation throughout the opacity/emissivity gathering process and calculation of the radiative Gamma matrix. This can be a >50% performance uplift on iterative schemes depending on available instruction sets. (SSE2 seems fully supported on Apple M1, thanks J. Jenkins for testing)
- Reduced multithreading overhead.
- Assured data over-alignment where possible.
- Optimised interpolation schemes and parallelisation of PRD/hPRD scattering integral calculations.
Ability to override the iteration scheme with dynamic libraries, similar to the formal solver.
Added
IterationUpdateclass, returning a lot more information about the updates going on in the backend. (This also ties in with the ability to override the iteration scheme -- consider how a GS method works :eyes:)- Finally added default function to iterate context to statistical equilibrium convergence. See
lw.iterate_ctx_se - Added a benchmark and config file system to select the optimal SIMD implementation for the current machine. Home folder config can be overriden with a
lightweaverrcin the folder where a script is run. - Minor documentation improvements.
Files
Goobley/Lightweaver-v0.8.0.zip
Files
(3.0 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:c4b8c56cce4d5afeef4ad3966f861b33
|
3.0 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/Goobley/Lightweaver/tree/v0.8.0 (URL)