openPMD-api

C++ & Python API for Scientific I/O

LGPL-3.0 License

Downloads
18.6K
Stars
138
Committers
32

Bot releases are hidden (Show)

openPMD-api - ADIOS2 Preview, Python & MPI Improved

Published by ax3l almost 5 years ago

This release adds a first (preview) implementation of ADIOS2 (BP4). Python 3.8 support as well as improved pip builds on macOS and Windows have been added. ADIOS1 and HDF5 now support non-collective (independent) store and load operations with MPI. More HPC compilers, such as IBM XL, ICC and PGI have been tested. The manual has been improved with more details on APIs, examples, installation, and backends.

DOI

Thanks to Axel Huebl, Franz Poeschel, Ligia Diana Amorim, and Glenn Richardson for contributing to this release!

openPMD-api - Improved Builds and Packages

Published by ax3l about 5 years ago

This release improves PyPI releases with proper declaration of build dependencies (use pip 19.0+). For Makefile-based projects, an openPMD.pc file to be used with pkg-config is added on install. RecordComponent now supports a makeEmpty method to write a zero-extent, yet multi-dimensional record component. We are now building as shared library by default.

DOI

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

openPMD-api - Python mpi4py and Slice Support

Published by ax3l over 5 years ago

We implemented MPI support for the Python frontend via mpi4py and added []-slice access to Record_Component loads and stores. A bug requiring write permissions for read-only series was fixed and memory provided by users is now properly checked for being contiguous. Introductory chapters in the manual have been greatly extended.

DOI

Thanks to Axel Huebl, and Fabian Koller for contributing to this release!

openPMD-api - Bug Fixes in Multi-Platform Builds

Published by ax3l over 5 years ago

This release fixes several issues with libstdc++ (e.g. on OSX), cross-compiles and modern compilers.

Thanks to Axel Huebl, and Ray Donnelly for contributing to this release!

DOI

openPMD-api - JSON Support, Interface Simplification and Stability

Published by ax3l almost 6 years ago

This release introduces serial JSON (.json) support. Our API has been unified with slight breaking changes such as a new Python module name (import openpmd_api from now on) as well as re-ordered store/loadChunk argument orders.

Please see our new "upgrade guide" section in the manual on how to update existing scripts. Additionally, many little bugs have been fixed. Official Python 3.7 support and a parallel benchmark example have been added.

Thanks to Axel Huebl, Franz Poeschel, Sergei Bastrakov, and Ray Donnelly for contributing to this release!

DOI

openPMD-api - Reading Varying Iteration Padding

Published by ax3l almost 6 years ago

Support reading series with varying iteration padding (or no padding at all) as currently used in PIConGPU.

Thanks to Axel Huebl for contributing to this release!

DOI

openPMD-api - Relaxed Python Stride Checks

Published by ax3l about 6 years ago

Python stride checks have been relaxed and one-element n-d arrays are allowed for scalars.

Thanks to Axel Huebl for contributing to this release!

DOI

openPMD-api - Relaxed Python Stride Checks

Published by ax3l about 6 years ago

Python stride checks have been relaxed and one-element n-d arrays are allowed for scalars.

Thanks to Axel Huebl for contributing to this release!

DOI

openPMD-api - Patches, Const Scalars, Py Containers

Published by ax3l about 6 years ago

Scalar records properly support const-ness. The Particle Patch load interface was changed, loading now all patches at once, and Python bindings are available. Numpy dtype is now a first-class citizen for Python Datatype control, being accepted and returned instead of enums. Python lifetime in garbage collection for containers such as meshes, particles and iterations is now properly implemented.

Thanks to Axel Huebl and Fabian Koller for contributing to this release!

DOI

openPMD-api - Refactored Type System

Published by ax3l about 6 years ago

The type system for Datatype::s was refactored. Integer types are now represented by SHORT, INT, LONG and LONGLONG as fundamental C/C++ types. Python support enters "alpha" stage with fixed floating point storage and Attribute handling.

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

DOI

openPMD-api - Improved output handling

Published by ax3l about 6 years ago

Refactored and hardened for fileBased output. Records are not flushed before the ambiguity between scalar and vector records are resolved. Trying to write globally zero-extent records will throw gracefully instead of leading to undefined behavior in backends.

Thanks to Fabian Koller and Axel Huebl for contributing to this release!

DOI

openPMD-api - Refined fileBased Series & Python Data Load

Published by ax3l over 6 years ago

A specification for iteration padding in filenames for fileBased series is introduced. Padding present in read iterations is detected and conserved in processing. Python builds have been simplified and python data loads now work for both meshes and particles.

Thanks to Fabian Koller, Axel Huebl, Carsten Fortmann-Grote, and Dominik Stańczak for contributing to this release!

DOI

openPMD-api - Py Attributes, Better FS & Checks

Published by ax3l over 6 years ago

This release exposes openPMD attributes to Python. A new independent mechanism for verifying internal conditions is now in place. Filesystem support is now more robust on varying directory separators.

Thanks to Fabian Koller and Axel Huebl for contributing to this release!

DOI

openPMD-api - First developer release

Published by ax3l over 6 years ago

Both HDF5 and ADIOS1 are implemented as backends with serial and parallel I/O support. The C++11 API is considered alpha state with few changes expected to come. We also ship an unstable preview of the Python3 API.

Thanks to Fabian Koller and Axel Huebl for contributing to this release!

openPMD-api - Initial Numpy Bindings

Published by ax3l over 6 years ago

Adds first bindings for record component reading and writing. Fixes some minor CMake issues.

Thanks to Fabian Koller and Axel Huebl for contributing to this release!

openPMD-api - ADIOS1 Build Fixes & Less Flushes

Published by ax3l over 6 years ago

We fixed build issues with the ADIOS1 backend. The number of performed flushes in backends was generally minimized.

Thanks to Fabian Koller and Axel Huebl for contributing to this release!

DOI