[mpich-discuss] logical to physical in collective I/O
Rob Latham
robl at mcs.anl.gov
Mon Sep 15 13:56:23 CDT 2014
On 09/15/2014 01:11 PM, Jaln wrote:
>
> Hi,
> In MPI-IO, when doing collective I/O,
> how does each process translate the logical access information into the
> byte offset list?
> Which file does this work?
There are a couple parts here
- the MPI datatype describing the memory layout or the file view
- the actual I/O
ROMIO will flatten the datatype into offset-list pairs. So for a simple
example MPI_TYPE_CONTIGUOUS(100, MPI_BYTE, &contig) will get flattened
into (0, 100)
this happens in ADIOI_Flatten_datatype:
http://git.mpich.org/mpich.git/blob/HEAD:/src/mpi/romio/adio/common/flatten.c
The collective I/O routines will exchange these offset-length lists to
bulid up an I/O schedule. That happens in a bunch of functions, but one
example is in ADIOI_GEN_WriteStrided:
http://git.mpich.org/mpich.git/blob/HEAD:/src/mpi/romio/adio/common/ad_write_coll.c
==rob
--
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA
More information about the discuss
mailing list