non contiguous data IO

Robert Latham robl at mcs.anl.gov
Mon Oct 2 11:17:57 CDT 2006


On Mon, Oct 02, 2006 at 02:41:35PM +0200, Seiss, Guntram wrote:
> when using triangulated networks, we use an area splitting method to
> distribute the work on to sevaral processors.
> On file, it should be possible, to distribute the data non contiguos.
> As an example I wrote a test program using MPI-IO and an user defined
> fileview.
>  
> The fileviews are constructed as follows:
>              P0 |0xxxx0000xxxxxxxxxx00xxxx|  
>              P1 |x1111xxxx1111xxxxxxxxxxxx| 
>              P2 |xxxxxxxxxxxxx222222xxxxxx|
>              P3 |xxxxxxxxxxxxxxxxxxxxx3333|
>  
>           total |0111100001111222222003333|
> 
>  Now I would like to realize the same in pnetCDF. Does anyone know about
> examples, how I can use user defined
> MPI-datatypes to describe such pattern like the above one?

I think pnetcdf can help you out.  In our implementation, parallel
NetCDF creates file views much like you did by hand, but because
parallel-NetCDF creates NetCDF data files, there is a well-defined
structure to the generated file.  If you are ok with the datafile
format defined by NetCDF, then I think Parallel-NetCDF will do
something close to what you want, without a whole lot of effort on
your part.

With parallel-netcdf, you can described your data with pnetcdf
routines and then the write operation (ncmpi_put_vara_all, for
example) will carry out the I/O in parallel.  You will probably not
get the exact distribution of processes and I/O that you laid out
above, but you will have each process read/write its own region of the
netcdf datafile.  

Let us know if my answer is in any way confusing.  If you start
experimenting with parallel-netcdf, let us know how it goes.  we'll be
happy to help out if you run into problems.

==rob

-- 
Rob Latham
Mathematics and Computer Science Division    A215 0178 EA2D B059 8CDF
Argonne National Labs, IL USA                B29D F333 664A 4280 315B




More information about the parallel-netcdf mailing list