The Adaptable Input Output System version 2
Project description
ADIOS2 : The Adaptable Input Output System version 2
This is ADIOS2: The Adaptable Input/Output (I/O) System.
ADIOS2 is developed as part of the United States Department of Energy's Exascale Computing Project. It is a framework for scientific data I/O to publish and subscribe to data when and where required.
ADIOS2 transports data as groups of self-describing variables and attributes across different media types (such as files, wide-area-networks, and remote direct memory access) using a common application programming interface for all transport modes. ADIOS2 can be used on supercomputers, cloud systems, and personal computers.
ADIOS2 focuses on:
- Performance I/O scalability in high performance computing (HPC) applications.
- Adaptability unified interfaces to allow for several modes of transport (files, memory-to-memory)
- Ease of Use two-level application programming interface (APIs)
- Full APIs for HPC applications: C++11, Fortran 90, C 99, Python 2 and 3
- Simplified High-Level APIs for data analysis: Python 2 and 3, C++11, Matlab
In addition, ADIOS2 APIs are based on:
-
MPI Although ADIOS2 is MPI-based, it can also be used in non-MPI serial code.
-
Data Groups ADIOS2 favors a deferred/prefetch/grouped variables transport mode by default to maximize data-per-request ratios. Sync mode, one variable at a time, is treated as the special case.
-
Data Steps ADIOS2 follows the actual production/consumption of data using an I/O “steps” abstraction removing the need to manage extra indexing information.
-
Data Engines ADIOS2 Engine abstraction allows for reusing the APIs for different transport modes removing the need for drastic code changes.
Documentation
Documentation is hosted at readthedocs.
Citing
If you find ADIOS2 useful, please cite our SoftwareX paper, which also gives a high-level overview to the motivation and goals of ADIOS; complementing the documentation.
Getting ADIOS2
-
From source: Install ADIOS2 documentation. For a
cmake
configuration example see scripts/runconf/runconf.sh -
Conda packages:
-
Spack: adios2 package
-
Docker images: under scripts/docker
Once ADIOS2 is installed refer to:
Releases
-
Latest release: v2.10.0
-
Previous releases: https://github.com/ornladios/ADIOS2/releases
Community
ADIOS2 is an open source project: Questions, discussion, and contributions are welcome. Join us at:
- Mailing list: adios-ecp@kitware.com
- Github Discussions: https://github.com/ornladios/ADIOS2/discussions
Reporting Bugs
If you find a bug, please open an issue on ADIOS2 github repository
Contributing
See the Contributor's Guide to ADIOS 2 for instructions on how to contribute.
License
ADIOS2 is licensed under the Apache License v2.0. See the accompanying Copyright.txt for more details.
Directory layout
-
bindings - public application programming interface, API, language bindings (C++11, C, Fortran, Python and Matlab)
-
cmake - Project specific CMake modules
-
examples - Simple set of examples in different languages
-
scripts - Project maintenance and development scripts
-
source - Internal source code for private components
-
adios2 - source directory for the ADIOS2 library to be installed under install-dir/lib/libadios2.
-
utils - source directory for the binary utilities, to be installed under install-dir/bin
-
testing - Tests using gtest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for adios2-2.10.0.1132-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f8176fb3283801ff75b674329daa20770e8c91101ea5a83403b1f31478d063b |
|
MD5 | a8c04e7b2bba53f58c6df7a5cf6810d5 |
|
BLAKE2b-256 | fd6505af0592c9d200e95b00ab78cec08e1c66f672fe3f7ff42b18315ddeeda1 |
Hashes for adios2-2.10.0.1132-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60b1354070f7b2804949ac9084935e0aa609cd5b47ec17375f8fcec0755725d7 |
|
MD5 | a71c35f411e352a71eeb19b412a23f37 |
|
BLAKE2b-256 | 337855bc230c2e85e4d542e832bcd3a3474c7448255317f35aaade69deee39c8 |
Hashes for adios2-2.10.0.1132-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3be0e29a6159c68e93e0601ab91389d2e84c06ad3c18b8902aae7892c7909d1f |
|
MD5 | 5da4ad2bf2e8f493151d1a61339ea4a7 |
|
BLAKE2b-256 | 56b1e9c3367a76836231166f46d0632efc89499252cf6a90ed58015fbdd7adb5 |
Hashes for adios2-2.10.0.1132-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5982b55a8de8a0d37e0a4bef980b15bf9339ba017542f84442e4316c85ca77f6 |
|
MD5 | b88c1b560885181efb376b34e8a6a09f |
|
BLAKE2b-256 | 5d5dab36f5decca0d23e60e36324d31f572b5f0dd6e17691a552f2c8491224cd |
Hashes for adios2-2.10.0.1132-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68f4b932017177922ae53fa8bf3dbc696f4355da20a4673ab04ed27817221b67 |
|
MD5 | c49a8cd4a2ab9e96eadee9756a9d502e |
|
BLAKE2b-256 | f85086f04cd26aad8ce4347fcdc769cb39c7bb98f17ddc6947d73814c79e7c13 |