m_io_backend Module

(ADaptive Input Output System v2) library. It acts as a translation layer converting generic I/O calls from the session interface into specific calls to the ADIOS2 API.

The adios2_reader_t and adios2_writer_t types defined here extend the abstract base types from m_io_base and implement required procedures

This backend leverages several key features of the underlying ADIOS2 library - engine abstraction - the same API can be used for different transport methods (e.g. BP4, BP5, HDF5) - Asynchronous I/O - by default ADIOS2 uses a deferred transport mode which can improve performance by overlapping computation and I/O - MPI integration - it is designed for large-scale paralle I/O and integrates with MPI, though serial operation is also supported

All user interaction must go through m_io_session.


Uses

  • module~~m_io_backend~~UsesGraph module~m_io_backend m_io_backend adios2 adios2 module~m_io_backend->adios2 module~m_common m_common module~m_io_backend->module~m_common module~m_io_base m_io_base module~m_io_backend->module~m_io_base mpi mpi module~m_io_backend->mpi module~m_common->mpi module~m_io_base->module~m_common

Used by

  • module~~m_io_backend~~UsedByGraph module~m_io_backend m_io_backend module~m_io_session m_io_session module~m_io_session->module~m_io_backend module~m_checkpoint_manager m_checkpoint_manager module~m_checkpoint_manager->module~m_io_session module~m_solver m_solver module~m_checkpoint_manager->module~m_solver module~m_io_field_utils m_io_field_utils module~m_checkpoint_manager->module~m_io_field_utils module~m_ibm m_ibm module~m_ibm->module~m_io_session module~m_snapshot_manager m_snapshot_manager module~m_snapshot_manager->module~m_io_session module~m_snapshot_manager->module~m_solver module~m_snapshot_manager->module~m_io_field_utils module~m_io_manager m_io_manager module~m_io_manager->module~m_checkpoint_manager module~m_io_manager->module~m_snapshot_manager module~m_io_manager->module~m_solver module~m_solver->module~m_ibm module~m_base_case m_base_case module~m_base_case->module~m_io_manager module~m_base_case->module~m_solver module~m_case_channel m_case_channel module~m_case_channel->module~m_solver module~m_case_channel->module~m_base_case module~m_case_generic m_case_generic module~m_case_generic->module~m_solver module~m_case_generic->module~m_base_case module~m_case_tgv m_case_tgv module~m_case_tgv->module~m_solver module~m_case_tgv->module~m_base_case module~m_io_field_utils->module~m_solver program~xcompact xcompact program~xcompact->module~m_base_case program~xcompact->module~m_case_channel program~xcompact->module~m_case_generic program~xcompact->module~m_case_tgv

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: IO_BACKEND_DUMMY = 0
integer, public, parameter :: IO_BACKEND_ADIOS2 = 1

Functions

public function get_default_backend() result(backend)

Arguments

None

Return Value integer


Subroutines

public subroutine allocate_io_reader(reader)

Arguments

Type IntentOptional Attributes Name
class(io_reader_t), intent(out), allocatable :: reader

public subroutine allocate_io_writer(writer)

Arguments

Type IntentOptional Attributes Name
class(io_writer_t), intent(out), allocatable :: writer