Skip to content

Releases: ornladios/ADIOS2

v2.11.0

16 Nov 23:43
Immutable release. Only release title and notes can be modified.
a3eb1ab

Choose a tag to compare

What's new in 2.11?

This is a major release with new features and lots of bug fixes. The main
highlights include enhanced derived variables, remote data access, GPU
improvements, campaign management overhaul, and advanced compression operators.

Summary

Derived Variables

Support for reader-side computed variables with expression evaluation. This
release adds comprehensive functionality including new mathematical operations
(trigonometric functions, multiplication, division, power) and the
ability to apply derived variables to aggregated arrays.

Remote Data Access Infrastructure

Implementation of XRootD and remote server capabilities enabling distributed
file access. This includes support for remote streaming, metadata caching, and
optimized query handling across networked systems.

GPU and Memory Space Improvements

Enhanced GPU backend support with memory selection adjustments, Kokkos
integration improvements, and bindings for cuPy pointers and torch tensors.
Addresses layout mismatches between user code and device memory.

Campaign Management System Overhaul

Significant updates to campaign tracking using SQLite databases replacing JSON
files, configuration file support, and attribute handling. Includes multi-host
support and improved metadata organization.

CampainReader is a new engine to read .aca files created by hpc-campaign 0.6.
https://adios2.readthedocs.io/en/latest/advanced/campaign_management.html, https://hpc-campaign.readthedocs.io

Compression and Data Format Advances

New operators including BigWhoop compression and MGARD for compressing complex arrays. ZFP now
supports 4D arrays, and improved MGARD efficiency through zstd compression of
lossless data portions.

OpenSSF Best Practices

ADIOS2 now adopts OpenSSF (Open Source Security Foundation) best practices
including enhanced security measures, automated vulnerability scanning, and
adherence to industry-standard development practices.

Other features

  • BP5 has a new aggregator, Data size based aggregation, that performs best for highly imbalanced IO situations, i.e., when different processes produce wildly different amount of data.
    https://adios2.readthedocs.io/en/latest/advanced/aggregation.html
  • TimeSeries is an engine to handle a series of individual BP files as one. Enumerate entries in .ats YAML file.

What's Changed

Read more

v2.11.0-rc1

07 Nov 01:27
Immutable release. Only release title and notes can be modified.
ce49c36

Choose a tag to compare

v2.11.0-rc1 Pre-release
Pre-release

What's new in 2.11?

This is a major release with new features and lots of bug fixes. The main new feature is ...

New/updated notable features

  • CampainReader is a new engine to read .aca files created by hpc-campaign 0.6.
    https://adios2.readthedocs.io/en/latest/advanced/campaign_management.html, https://hpc-campaign.readthedocs.io
  • TimeSeries is an engine to handle a series of individual BP files as one. Enumerate entries in .ats YAML file.
  • BP5 has a new aggregator, Data size based aggregation, that performs best for highly imbalanced IO situations, i.e., when different processes produce wildly different amount of data.
  • mgard_complex is a new operator to compress complex and complex arrays

New experimental features

What's Changed

Read more

v2.10.2

26 Oct 19:36
a19dad6

Choose a tag to compare

What's Changed

Full Changelog: v2.10.1...v2.10.2

v2.10.1

29 May 01:44
f626281

Choose a tag to compare

What's Changed

Full Changelog: v2.10.0...v2.10.1

v2.10.0

03 Apr 22:44
6b7b4e4

Choose a tag to compare

What's new in 2.10?

This is a major release with new features and lots of bug fixes. The main new feature is the new Python API.

Python

Before, ADIOS had two separate APIs for Python. The low-level ("Full") API was written with Pybind11 and directly mimicked the C++ API. The high-level API was another, smaller, and more pythonesque API that allowed for easier scripting with Python. The main problems with these two were that they were independent, and that the high-level API was not complete. Once a developer needed a feature only available in the full API, they had to start from scratch writing a script with the full API.

In 2.10, there is officially one Python API, written in Python, which in turn uses the old Pybind11 classes. The new API combines the high-level features of the old high-level API and the full feature set of the low-level bindings.

Note:

Old scripts that used the full API can still run without almost any modification, just change the import line from import adios2 to import adios2.bindings as adios2

Old scripts that used the high-level API must be modified to make them work with the new API, see Transition from old API to new API: Transition from old API to new API

See Python API

New/updated notable features

  • BP5 is supported on Windows now
  • SST and DataMan staging engines are GPU-Aware now
  • SYCL support added for Intel GPUs (besides CUDA and HIP for NVidia and AMD GPUs)
  • the SST/libfabric data transport now works on Frontier (besides the MPI data transport)

New experimental features

What's Changed

Read more

v2.10.0-rc1

30 Dec 01:28
68f8b41

Choose a tag to compare

What's Changed

Read more

ADIOS v2.9.2 Production Release

01 Nov 22:12
83cb06a

Choose a tag to compare

Breaking changes

BP5 is the default engine wince 2.9.0 that behaves differently from BP3/BP4. Read the notes in the 2.9.0 release.

What's Changed

Full Changelog: v2.9.1...v2.9.2

ADIOS v2.9.1 Production Release

03 Aug 16:34
d143154

Choose a tag to compare

Breaking changes

BP5 is the default engine wince 2.9.0 that behaves differently from BP3/BP4. Read the notes in the 2.9.0 release.

Pull Requests backported

PR Title
#3676 Version constants plus functions to retrieve list of ...
#3697 build(deps): bump cryptography from 41.0.0 to 41.0.2 in /docs
#3698 added gitattributes file
#3704 build(deps): bump pygments from 2.14.0 to 2.15.0 in /docs
#3712 build(deps): bump certifi from 2022.12.7 to 2023.7.22 in /docs
#3687 Fix for the issue #3646.
#3699 Update files with new EOL
#3690 Merge pull request #3689 from vicentebolea/fix-evpath-modules
#3689 cmake,evpath: namespace modules install dir
#3684 Fix memory leak when there are Joined Arrays in streaming mode
#3652 work around with include <unistd.h> on windows
#3650 Bump cryptography from 39.0.1 to 41.0.0 in /docs
#3673 ci,ascent: disable install tests
#3681 Fix: std::min w/ windows.h in C-Blosc2
#3657 Allow Span in files opened for Append
#3623 ci: use nvcc_wrapper in adiosKokkos
#3619 Backports bp5 bugfix
#3605 Adding missing HIP specific functionality
#3607 Backport: Heat Transfer Example: MPI Datatype #3593
#3593 Heat Transfer Example: MPI Datatype
#3591 Implement BP5 (and BP4) reader-side memory selection, do testing

Full Changelog: v2.9.0...v2.9.1

ADIOS v2.9.0 Production Release

30 Mar 20:06
aac4a45

Choose a tag to compare

Summary

This is a major release with new features and lots of bug fixes.

Breaking changes

BP5 is the default engine that behaves differently from BP3/BP4. Read mode is proper streaming mode, i.e., Open does not process the metadata and hence io.AvailableVariables() will return empty. Variables and attributes are only available after engine.BeginStep(), and only those that exist in the given step. Also, because of this, the pointer returned by io.InquireVariable() becomes invalid after EndStep. Note, that there is now a new ReadRandomAccess mode to process all metadata in Open and to see all the variables with all their steps at once.

General

  • GPU-Aware I/O enabled by using Kokkos. Device pointers can be passed to Put()/Get() calls directly. Kokkos 3.7.x required for this release. Works with CUDA, HIP and Kokkos applications. https://adios2.readthedocs.io/en/latest/advanced/gpu_aware.html#gpu-aware-i-o
  • GPU-compression. MGARD and ZFP operators can compress data on GPU if they are built for GPU. MGARD operator can be fed with host/device pointers and will move data automaticaly. ZFP operator requires matching data and compressor location.
  • Joined Array concept (besides Global Array and Local Array), which lets writers dump Local Arrays (no offsets no global shape) that are put together into a Global Array by the reader. One dimension of the arrays is selected for this join operation, while other dimensions must be the same for all writers. https://adios2.readthedocs.io/en/latest/components/components.html?highlight=Joined#shapes

File I/O

  • Default File engine is now BP5. If for some reason this causes problems, manually specify using "BP4" for your application.
  • BP5 is semantically identical to the staging engines, and any code that works with BP5 will work in situ without changes.
  • BP5 engine supports multithreaded reading to accelerate read performance for low-core counts.
  • BP5 Two level metadata aggregation and reduction reduced memory impact of collecting metadata and therefore is more scalable in terms of numbers of variables and writers than BP4.
  • Uses Blosc-2 instead of Blosc for lossless compression. The new compression operator is backward compatible with old files compressed with blosc. The name of the operator remains "blosc".

Staging

  • UCX dataplane added for SST staging engine to support networks under the UCX consortium
  • MPI dataplane added for SST staging engine. It relies on MPI intercommunicators to connect multiple independent MPI applications for staging purposes. Applications must enable multithreaded MPI for this dataplane.

Experimental features

  • Preliminary support for data structs. A struct can have single variables of basic types, and 1D fixed size arrays of basic types. Supported by BP5, SST and SSC engines.

What's Changed

Read more

ADIOS v2.9.0-rc1 Production Release

08 Feb 02:34
c01b496

Choose a tag to compare

Pre-release
Merge pull request #3476 from vicentebolea/bump-release-version

release: Bump version to v2.9.0-rc1