[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:


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:



Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA

More information about the discuss mailing list