ADIOS2

Next generation of ADIOS developed in the Exascale Computing Program

Github stars Tracking Chart

License
Documentation

GitHub (pre-)release
Spack Version

Circle CI
Travis CI
AppVeyor CI

Coverity Scan Build Status

ADIOS 2 : The Adaptable Input Output System version 2

This is ADIOS 2 : The Adaptable Input/Output (I/O) System, ADIOS 2 is developed as part of the United States Department of Energy's Exascale Computing Program.

ADIOS 2 is a framework designed for scientific data I/O to publish and subscribe (put/get) data when and where required.

ADIOS 2 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. ADIOS 2 can be used on supercomputers, cloud systems, and personal computers.

ADIOS 2 focuses on:

  1. Performance I/O scalability in high performance computing (HPC) applications.
  2. Adaptability unified interfaces to allow for several modes of transport (files, memory-to-memory)
  3. 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, ADIOS 2 APIs are based on:

  • MPI ADIOS 2 is MPI-based, it can be used in non-MPI serial code. Non-MPI 100% serial build is optional.

  • Data Groups ADIOS 2 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 ADIOS 2 follows the actual production/consumption of data using an I/O “steps” abstraction removing the need to manage extra indexing information.

  • Data Engines ADIOS 2 Engine abstraction allows for reusing the APIs for different transport modes removing the need for drastic code changes.

Documentation

Please find The ADIOS 2 User Guide at readthedocs

Getting ADIOS2

Once ADIOS 2 is installed refer to:

Releases

Reporting Bugs

If you found a bug, please open an issue on ADIOS2 github repository

Contributing

We invite the community to contribute, see Contributor's Guide to ADIOS 2 for instructions on how to contribute. ADIOS 2 will always be free and open-source.

License

ADIOS >= 2.0 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

Main metrics

Overview
Name With Ownerornladios/ADIOS2
Primary LanguageC++
Program languagePython (Language Count: 14)
Platform
License:Apache License 2.0
所有者活动
Created At2016-12-06 16:39:55
Pushed At2025-07-08 18:10:09
Last Commit At2025-07-03 08:41:36
Release Count26
Last Release Namev2.10.2 (Posted on 2024-10-26 15:34:56)
First Release Namev2.0.0 (Posted on )
用户参与
Stargazers Count289
Watchers Count22
Fork Count131
Commits Count10.6k
Has Issues Enabled
Issues Count1189
Issue Open Count66
Pull Requests Count2728
Pull Requests Open Count11
Pull Requests Close Count601
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private