2.1.2-beta (revision 4707)
OTF2 I/O recording

Known OTF2 I/O paradigms

The introduction of I/O recording with OTF2 made it necessary to distinguish different I/O paradigms. Like it is done with the parallel paradigms, like MPI, OpenMP. Though instead of the usual enum used to identify the paradigm, the I/O paradigms are expressed in a dynamic way with the help of a definition record. While this has the advantage that the API does not need to be changed only to add new I/O paradigms, it also lacks confidence in the definition. To overcome this, OTF2 textually defines known I/O paradigms and their expected definition.
"POSIX"

This is the I/O interface of the POSIX standard.

Required properties:
Class
OTF2_IO_PARADIGM_CLASS_SERIAL
Flags
OTF2_IO_PARADIGM_FLAG_OS
"ISOC"

This is the I/O interface of the ISO C standard.

Required properties:
Class
OTF2_IO_PARADIGM_CLASS_SERIAL
"MPI-IO"

This is the I/O interface of the Message Passing Interface.

Required properties:
Class
OTF2_IO_PARADIGM_CLASS_PARALLEL
Flags
OTF2_IO_PARADIGM_FLAG_NONE
"netCDF"

This is the Network Common Data Form. The class depends on whether the NetCDF library was built with or without MPI support.

Required properties:
Class
OTF2_IO_PARADIGM_CLASS_SERIAL or OTF2_IO_PARADIGM_CLASS_PARALLEL
Flags
OTF2_IO_PARADIGM_FLAG_NONE
"PnetCDF"

This is the Parallel netCDF.

Required properties:
Class
OTF2_IO_PARADIGM_CLASS_PARALLEL
Flags
OTF2_IO_PARADIGM_FLAG_NONE
"HDF5"

This is the I/O interface of The HDF Group. The class depends on whether the HDF5 library was built with or without MPI support.

Required properties:
Class
OTF2_IO_PARADIGM_CLASS_SERIAL or OTF2_IO_PARADIGM_CLASS_PARALLEL
Flags
OTF2_IO_PARADIGM_FLAG_NONE
"ADIOS"

This is the Adaptable IO System.

Required properties:
Class
OTF2_IO_PARADIGM_CLASS_PARALLEL
Flags
OTF2_IO_PARADIGM_FLAG_NONE

Event order for I/O operation records

These diagrams show valid event orders of I/O operations, which also denotes the lifetime of the (IoHandle, matchingId) tuple.If the OTF2_IO_OPERATION_FLAG_NON_BLOCKING is not set in the IoOperationBegin record, then the event order must follow:
If the OTF2_IO_OPERATION_FLAG_NON_BLOCKING is set in the IoOperationBegin record, then the event order must follow: