<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
  <maintainer type="person">
    <email>lssndrbarbieri@gmail.com</email>
    <name>Alessandro Barbieri</name>
  </maintainer>
  <upstream>
    <bugs-to>https://github.com/ornladios/ADIOS2/issues</bugs-to>
    <remote-id type="github">ornladios/ADIOS2</remote-id>
  </upstream>
  <longdescription lang="en">
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.
  </longdescription>
  <use>
    <flag name="blosc">Enable support for Blosc transforms</flag>
    <flag name="endian-reverse">Enable support for Little/Big Endian Interoperability</flag>
    <flag name="sodium">Enable support for Sodium for encryption</flag>
    <flag name="sst">Enable support for SST</flag>
    <flag name="zeromq">Enable support for ZeroMQ</flag>
    <flag name="zfp">Enable support for ZFP transforms</flag>
  </use>
</pkgmetadata>
