General RemarksΒΆ

The Parallel CGNS mid-level library, or PMLL, is built on top of the collective I/O support in HDF5 using MPI-IO. PMLL provides specialized routines to open and close a file for parallel I/O and read and write grid coordinates, element data, solution data, and general arrays in a collective fashion. The PMLL functions are prefixed with cgp_, and documented in The CGNS/PMLL Software Library.

All additional accesses to the data use the standard serial Mid-Level Library (MLL) functions. A typical use of the PMLL routines in a parallel I/O program would be:

cgp_open              --- open file for parallel I/O
cg_base_write         --- create base and zone using MLL
cg_zone_write
cgp_coord_write       --- create coordinate dataset for parallel I/O
cgp_coord_write_data  --- write the coordinates collectively
cgp_close             --- close the file

An example Fortran and C program are given in Example Program.

A detailed discussion on the implementation may be found in the PDF paper An Efficient and Flexible Parallel I/O implementation for the CFD General Notation System by Horne, Bensen, and Hauser.