Hardware Reference
In-Depth Information
Changing the CGNS implementation to use HDF5 helped focus the team's
development effort on the actual details of the standard, avoiding time spent
on porting or maintaining the supporting middleware. But it also should be
noted that the CGNS/HDF5 mapping has made it possible to create new
implementations of the mapping. As the representation to and from the CGNS
data model node to its corresponding HDF5 form was public, some alternative
implementations [8] have arisen.
16.4.3.2
Applications
CGNS/HDF5 is used for archival and interoperability in multi-physics sim-
ulations [9] involving computer fluid dynamics solvers. A CFD solver is a very
compute-intensive application. For example, current applications in aerody-
namics require a large number of points and parameters with a large number
of iterations on these sets of data. The usual parallel strategy splits the config-
uration into separate sets of points, distributes those sets onto the processors
and exchanges the required information at interfaces. The overall simulation
is quite synchronous, with many barriers required to coordinate sending data
from pre-processing stages to the solvers.
The file-per-processor mapping is usually split into two strategies, shown in
Figure 16.6. The first strategy is used for structured meshes, where the CGNS
data model defines a set of groups per processor, the application uses one
file per processor, and there is no concurrent write access between processors.
The second strategy is used for unstructured meshes where a CGNS group is
shared by several processors and write access can be performed in parallel.
Both strategies use more than one CGNS/HDF5 file, which are gathered into
one or more top-level files by means of HDF5 symbolic links. With HDF5, the
whole simulation file layout can be defined in advance, as the symbolic links
need not to have an actual file target. This link-based approach is preferred for
very large results, such as unsteady simulations that could produce hundreds
of gigabytes per processor.
By now, HDF5 is widely used by CGNS pre- and post-processing tools.
Most preprocessing tools are running on standalone workstations, before the
simulation is submitted to the HPC cluster. The generation, modifications,
and distribution of the files is performed by FORTRAN, C, or Python scripts,
all manipulating HDF5 files. The post-processing is performed on dedicated
workstations, using HDF5 as well in combination with third-party software
coming from various well-established software companies.
The CGNS standard was first designed for archival. Now we see multi-
physics applications using the CGNS standard to define a common interface
and data model at the conceptual level and HDF5 as the common storage
mechanism. Using HDF5 as the storage standard for simulations has helped
the CFD community achieve true interoperability in the complete simulation
workflow, and at the same time opens applications up to a wide range of
HDF5-based tools, such as that shown in Figure 16.7.
 
Search WWH ::




Custom Search