[MPICH] Serial read-in of MPI-2 I/O

Peter Diamessis pjd38 at cornell.edu
Tue Sep 18 10:45:49 CDT 2007


Hi folks,

I have a naive question regarding MPI-2 I/O so please bear with me.
I'm working with a local visualization expert who wants to visualize
some results of my parallel CFD simulations.

The computational domain is a 3-D box and generated by an MPI-
based simulation, where the domain has been partitioned according
to a 1-D domain decomposition. I've generated snapshots (i.e. sample
fields) of my basic/primitive 3-D variables (velocity vector & density, a scalar)
that I output at specific times during the simulations using non-contiguous
MPI-2 parallel I/O . I read in that data through a separate postprocessor
code to perform any necessary analysis.

The viz expert would like to read in the data from some of these snapshots serially onto his Linux box.
Note that the data was generated on a Linux cluster using the 'native' option.
I've attached the actual F90 source code for the output. As you can see, the
four 3-D arrays containing the primitive variables are outputted, followed by
some secondary information on domain size & grid-spacing.

The "Using MPI-2" book says that files created by 'native' representation 
are not portable. However, I'm assuming that Linux works with Little Endian
and thus this MPI-2 generated data can be read serially on another Linux machine ?
Given that the data is outputted in a contiguous manner, totally analogous to
the way it's stored in memory, how different is this file from the equivalent binary
file a serial F90 code would output ? I'm particularly concerned as to whether there
is any header information preceding each 3-D array block. If not I'm assuming that,
since my 3-D variables are 4-byte reals, the viz guy can just read through the data
in 4-byte chunks ?

Any clarifications would be hugely appreciated.

Sincerely,

Peter Diamessis




More information about the mpich-discuss mailing list