[MPICH] ROMIO practice doubts

Rob Ross rross at mcs.anl.gov
Mon Jan 22 08:59:27 CST 2007


Hi Luiz,

The hints, generally, apply to all I/O. It is true though that some of 
them really only come into play when noncontiguous I/O is happening.

Noncontiguous I/O is any I/O where the data in memory isn't all in one 
big block, or the data in the file isn't all in one big block, or both. 
These types might be created with a stride (e.g. a vector type) or by 
using different offsets (e.g. an indexed type), or a combination of 
these things.

The data might be of the same type (e.g. integer data), or it might be 
different types; that isn't taken into account.

There have to be gaps for a type to be noncontiguous. So if you're 
reading an entire row out of a row major array, that's contiguous (one 
big block). If you read a sequence of rows, well, that is still 
contiguous because that's the order in which they are stored. If you 
read a *subarray*, then you'd have noncontiguous data because there 
would be data that you skipped when moving to the data in the next row.

I'm going to leave specific MPICH2 questions for someone else :).

Hope this helps,

Rob

Luiz Mendes wrote:
> Hi all,
> Thanks Rob,
> 
> I have been reading MPI 2 book, and other materials, and i still be in 
> doubt with some concepts.
> 
> There are some doubt topics that i havent learn yet.
> 
> These hints, they are effective only in non-contiguos situations, is it 
> right?
> romio_pvfs_listio_write and read for example, they would be effective in 
> non contiguous situations?
> 
> ROMIO excuses the necessity of build list_io_read function, when we use 
> these above hints?
> 
> And talking about Non-contiguous access, i understood it as a 
> heterogeneous thing. For example, in a data, we have the first 3 blocks 
> of one type, and the next block is a different thing with 2 blocks for 
> example. Is it right?
> 
> Contiguity refers to belong to a same element?
> 
> When i define an MPI_Vector for example, i set non null strides. These 
> blank spaces, they could be used for other elements?
> 
> I am trying to make a simple benchmark to measure bandwith, but i didnt 
> get it works yet.
> 
> Non contiguouos datatypes are only these ones that have strides? if i 
> make a datatype that consists of a "entire line row" in each block, it 
> could be considered a non contiguos thing? The hints would do any 
> influency over it?
> 
> In MPICH2, i create a mpd.hosts file, but i am not getting it works, 
> mpdtrace doesnt tell anything about the slave node. What should  i do?
> 
> Thanks in advance, luiz.
> 
> 
> 
> 
> 
> 2007/1/22, Rob Ross <rross at mcs.anl.gov <mailto:rross at mcs.anl.gov>>:
> 
>     Hi Luiz,
> 
>     That's exactly where the hints go. You can also use the
>     MPI_File_set_info() call if you like, and you can pass hints it at
>     MPI_File_set_view() time as well.
> 
>     Regards,
> 
>     Rob
> 
>     Luiz Mendes wrote:
>      > Hi all,
>      >
>      > I have read MPI 2 book, ROMIO guide and some articles about
>      > optimizations for MPI IO. But i didnt see yet or i didnt understand
>      > where hints would be placed on MPI_File_open code.
>      >
>      > Should i use ROMIO hints replaceing MPI_INFO_NULL constant in
>      > MPI_File_open function?
>      >
>      > Thanks in advance
>      > Luiz Mendes
>      >
>      >
> 
> 




More information about the mpich-discuss mailing list