ADIOS2 (Adaptable Input Output System) is a unified, high-performance I/O framework designed for extreme-scale scientific data. It provides a consistent abstraction API to transport and transform groups of self-describing data variables and attributes across various media, including files, wide-area networks, in-memory staging, and more.
Key characteristics include:
- Streaming-oriented: The framework favors asynchronous transfers of variable groups. Synchronous, single-variable transfers are treated as special cases.
- Step-based: Data is organized into "steps" representing groups of variables, suitable for both streaming and random-access (file) media.
- MPI-compatible: Supports both parallel MPI applications and serial codes.
- Scalable: Designed for supercomputer applications handling petabytes of data.
- Multi-language support: While native in C++, it provides bindings for Python, C, Fortran, and Matlab.