Database Reference
In-Depth Information
multiple destinations in multiple formats, and apply data-aware compression
techniques.
Several key high-performance computing (HPC) applications' driving ca-
pacity computing for petascale machines have been converted to using ADIOS,
with early developments of ADIOS based on two key HPC applications: GTC
(a fusion modeling code) and Chimera (an astrophysics supernova code). 12
Prior to its use of ADIOS, GTC employed a mixture of MPI-IO, HDF-5,
netCDF, and straight Fortran I/O; and Chimera used straight Fortran I/O
routines for writing binary files. Both of these codes provided different I/O re-
quirements that drove the development of the API. Specifically, in GTC, there
are seven different data formats, corresponding to various restart, diagnostic,
and analysis values. Some of the data storage format requirements, such as
combining some data types together in the same file, represent a good exer-
cise of the capabilities of the ADIOS API. Chimera exercises the ADIOS API
in three different ways. First, it contains approximately 475 different scalars
and arrays for a single restart format. Second, this data ideally needs to be
stored in both an ecient binary format and a readable text format. Third,
the large number of elements encouraged the development of an experimental
data reading extension for the ADIOS API that follows similar API semantics
as used for writing, and leverages the writing infrastructure as much as possi-
ble. A simple code fragment showing how ADIOS is used is presented below:
call adios{\_}init ('config.xml')
...
! do main loop
call adios{\_}begin{\_}calculation ()
! do non-communication work
call adios{\_}end{\_}calculation ()
...
! perform restart write
...
! do communication work
call adios{\_}end{\_}iteration ()
! end loop
Search WWH ::




Custom Search