github ornladios/ADIOS2 v2.6.0
ADIOS v2.6.0 Production Release

latest releases: v2.10.0, v2.10.0-rc1, v2.9.2...
3 years ago

Summary

This is a major release with a wide variety of features in all areas including staging, file I/O, build system, and many others.

Features

Build System

  • When enabling MPI the build system now generates both serial and parallel libraries. One installation of ADIOS is needed only for building both parallel and serial applications
  • CMake targets now support components for each supported language, i.e. instead of just adios2 there are now adios2::cxx11 and adios2::cxx11_mpi
  • All third party dependencies can now be provided externally rather than use internal copies

Engines

  • BP4 Engine: Burst buffer support for writing. File on the final target file system can still be read step-by-step in situ by other apps. Appending to an existing file, however, is NOT supported.
  • New engine SSC: MPI-based engine for code coupling and in situ processing
  • DataMan engine: new reliable mode, that guarantees that every step arrives at the reader
  • Inline engine: is now being elevated from experimental to beta.
  • SST engine:
    • With the non-RDMA transport, IP Port range now defaults to "any", rather than "26000-26100". (The desired range can be specified with the ADIOS2_PORT_RANGE environment variable, see sst_conn_tool documentation for more information.)
    • SST now has a "push mode" where written data is pro-actively sent to readers without waiting for specific requests. This "push mode" is either speculative (based on an assumption that data will be used) or learned (based on actual usage).
      • Speculative push mode is enabled automatically in certain circumstances, managed by SST engine parameters SpeculativePreloadMode and SpecAutoNodeThreshold.
      • Learned preload mode is triggered when the reader and writer indicate that their data consumption/production patterns are static by calling LockReaderSelections and LockWriterDefinitions, respectively.

API Changes (do not break compilation)

  • DebugMode now deprecated from the public constructor and factory interfaces. In previous releases this flag controlled enabling or disabling additional error checking. Through extensive bench-marking of API calls it was determined that the savings was negligible so the appropriate error checking (null pointer, bounds, etc.) is now always performed within API calls and throwing exceptions (in C++) or returning error codes (C and Fortran) where appropriate.
  • Python available_variables() now has a filter list argument: available_variables(['type']) will return faster but only provides names and types of variables. For backward compatibility, available_variables() without arguments is identical to a call with the full list available_variables(['Type', 'Min', 'Max', 'SingleValue','Shape','AvailableStepsCount']). The filter names are case-insensitive.
  • YAML configuration file. adios2::ADIOS constructor can now accept a configuration file using the YAML format and it must have the *.yaml or *.yml extension. See section in docs.

Don't miss a new ADIOS2 release

NewReleases is sending notifications on new releases.