[mpich-discuss] MPI I/O using large integers in file type

Rajeev Thakur thakur at mcs.anl.gov
Wed Sep 7 18:23:33 CDT 2011


Nick,
        With a 32-bit OS, you will have trouble using indexed types for files >4G, unless the indexing follows a regular pattern that is repeated. You may want to run on a machine with a 64-bit OS. You can use hindexed; just multiply the index by the size of the elementary type.

Rajeev

On Sep 7, 2011, at 5:38 PM, Nick Stokes wrote:

> Dear Rajeev, 
> 
> On Wed, Sep 7, 2011 at 3:27 PM, Nick Stokes <randomaccessiterator at gmail.com> wrote:
> 
> 
> On Wed, Sep 7, 2011 at 3:22 PM, Rajeev Thakur <thakur at mcs.anl.gov> wrote:
> MPI_Type_create_hindexed does.
> 
> 
> 
> Moreover, on my 32-bit system  MPI_Aint is typedef'ed to int (at least in my installation of MPICH2 - 1.3.3 on Windows 32-bit).  So hindexed type seems not to solve the large file problem in general.  If it were possible to create an indexed type with MPI_Offset displacements, that would have helped. 
> 
> Maybe I am on the wrong track here. Does my question make sense?  Perhaps a more explicit and perhaps more relate-able example would be as follows: 
> 
> Imagine a simulation where there are a total of 10^9  degrees of freedom, and double precision is used.  The computation result is to be output to a single file, which would add up to 8 GBs.  MPI is utilized to implement parallelization via domain partitioning, and each partition holds a certain chunk of data.   These chunks correspond to non-overlapping regions with gaps in the final output.   How would you do a collective READ/WRITE in such a case without integer overflow?
> 
> thanks many
> 
> _______________________________________________
> mpich-discuss mailing list     mpich-discuss at mcs.anl.gov
> To manage subscription options or unsubscribe:
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss



More information about the mpich-discuss mailing list