Releases
v3.5
Release notes
MPI support:
Python-level: MPI-distributed NumPy arrays.
C-level: code generation for sub-domains, staggered grids, operators with coupled PDEs.
C-level: performance optimizations (e.g., computation-communication overlap).
Lazy evaluation of derivatives.
Revisited staggered grids API (now Dimension-based, previously mask-based).
Re-engineered clustering (which means smarter loop fusion/fission).
DSE: Improved aliases detection.
DLE: OpenMP nested parallelism; hierarchical loop blocking.
Auto-padding for Functions/TimeFunctions.
Improved data dependency analysis.
Smarter Operator auto-tuning.
New tutorials: Operator application, MPI, new propagators, custom stencils, and more.
Revisited benchmarking scripts.
Revisited examples, new models and propagators (e.g., visco-elastic).
Smarter continuous integration: now Travis sided by Azure Pipelines; dropped Jenkins.
Misc bug fixes.
Hundreds of tests added.
More sophisticated platform auto-detection.
Update in checkpointing (via PyRevolve) to significantly reduce memory consumption and overall runtimes. Not backward compatible.
Experimental support for lossy compression of checkpoints through PyRevolve + ZFP.
You can’t perform that action at this time.