Skip to content

Releases: openPMD/openPMD-api

New Backends, Extension, Perf. & Memory

08 Oct 01:44
0.16.0
b4615dd
Compare
Choose a tag to compare

ADIOS2 Joined arrays, API simplification, HDF5 subfiling, TOML backend, wildcard file extensions, Performance & Memory: This release adds support for additional I/O features in all backends, and additionally a completely new TOML backend, useful for openPMD-formatted configuration files in scientific workflows. The ADIOS1 backend, previously deprecated, has been removed in favor of ADIOS2.

The openPMD-api has been simplified by no longer requiring explicit specification for scalar components via RecordComponent::SCALAR in its object model. The addition of wildcard filename extensions (e.g. simData.%E or simData_%T.%E) simplifies the generic implementation of backend-independent logic, such as post-processing routines.

Thanks to Franz Pöschel @franzpoeschel, Axel Huebl @ax3l, David Grote @dpgrote, Davide Terzani @titoiride, Ilian Kara-Mostefa @IlianCS, Junmin Gu @guj, Luca Fedeli @lucafedeli88, Nils Schild @DerNils-git, Paweł Ordyna @pordyna and Ulrik Günther @skalarproduktraum for contributing to this release!

New Contributors

Python, ADIOS2 and HDF5 Fixes

19 Aug 02:18
0.15.2
e8e2aeb
Compare
Choose a tag to compare

This release fixed regressions in the Python frontend as well as the ADIOS2 and HDF5 backends.
Supported macOS versions are now 11.0+ and Python versions are 3.8+.

DOI

Thanks to Franz Poeschel, Axel Huebl, David P. Grote, Ulrik Günther and Ilian Kara-Mostefa for contributing to this release!

Build Regressions

03 Apr 06:46
0.15.1
32cb87d
Compare
Choose a tag to compare

This release fixes build regressions and minor documentation updates for the 0.15.0 release.

DOI

Thanks to Axel Huebl and Franz Poeschel for contributing to this release!

C++17, Error Recovery, ADIOS2 BP5, Append & Read-Linear Modes, Performance & Memory

25 Mar 22:47
0.15.0
102e907
Compare
Choose a tag to compare

This release adds error recovery mechanisms, in order to access erroneous datasets, created e.g. by crashing simulations. The BP5 engine of ADIOS2 v2.9 is fully supported by this release, including access to its various features for more fine-grained control of memory usage. Various I/O performance improvements for HDF5 are activated by default. Runtime configuration of openPMD and its backends, e.g. selection of backends and compression, is now consistently done via JSON, and alternatively via TOML for better readability. The data storage/retrieval API now consistently supports all common C++ pointer types (raw and smart pointers), implementing automatic memory optimizations for ADIOS2 BP5 if using unique pointers.

The miminum required C++ version is now C++17. Supported Python versions add Python 3.10 and 3.11.

DOI

Thanks to Axel Huebl, Franz Poeschel, Jean Luc Bez, Junmin Gu, Bernhard Manfred Gruber, and Nils Schild for contributing to this release!

Improve Series Parsing, Python & Fix Backend Bugs

07 Jun 17:21
0.14.5
ce25526
Compare
Choose a tag to compare

This release improves reading back iterations that overflow the specified zero-pattern. ADIOS1, ADIOS2 and HDF5 backend stability and performance were improved. Python bindings got additional wheel platform support and various smaller issues were fixed.

DOI

Thanks to Axel Huebl, Franz Poeschel, and Jean Luca Bez for contributing to this release!

Increased Compatibility & Python Install Bug

21 Jan 23:01
0.14.4
756bffc
Compare
Choose a tag to compare

This release fixes various read/parsing bugs and increases compatibility with upcoming versions of ADIOS and old releases of Intel icpc. An installation issue for pip-based installs from source in the last release was fixed and Python 3.10 support added. Various documentation and installation warnings have been fixed.

DOI

Thanks to Axel Huebl and Franz Poeschel for contributing to this release!

Read Bugs, C++17 Mixing and HDF5 Performance

04 Nov 01:16
0.14.3
00532a7
Compare
Choose a tag to compare

This release makes reads more robust by fixing small API, file-based parsing and test bugs. Building the library in C++14 and using it in C++17 will not result in incompatible ABIs anymore. HDF5 1.10.1+ performance was improved significantly.

DOI

Thanks to Axel Huebl, Franz Poeschel and Jean Luca Bez for contributing to this release!

Various Reader Fixes

18 Aug 03:52
0.14.2
e00bede
Compare
Choose a tag to compare

This releases fixes regressions in reads, closing files properly, avoiding inefficient parsing and allowing more permissive casts in attribute reads. (Inofficial) support for HDF5 vlen string reads has been fixed.

DOI

Thanks to Franz Poeschel and Axel Huebl for contributing to this release!

ADIOS2 Close Regressions & ADIOS1 Build

05 Aug 01:12
0.14.1
7f499d4
Compare
Choose a tag to compare

Fix a regression with file handling for ADIOS2 when using explicit close logic, especially with interleaved writes to multiple iterations. Also fix an issue with ADIOS1 builds that potentially picked up headers from older, installed openPMD-api versions.

DOI

Thanks to Franz Poeschel and Axel Huebl for contributing to this release!

Resize, Dask, openpmd-pipe and new ADIOS2 Iteration Encoding

30 Jul 01:04
0.14.0
a1f9257
Compare
Choose a tag to compare

This release adds support for resizable data sets. For data-processing, support for Dask (parallel) and Pandas (serial) are added and lazy reader parsing of iterations is now supported. ADIOS2 adds an experimental variable-based iteration encoding. An openPMD Series can now be flushed from non-Series objects and write buffers can be requested upfront to avoid unnecessary data copies in some situations.

DOI

Thanks to Axel Huebl, Franz Poeschel, Erik Schnetter, Junmin Gu, John Kirkham, and Dmitry Ganyushin for contributing to this release!