Hi,

do I understand the MPI-2 Parallel I/O correctly (C++)?

After opening a file with MPI::File::Open, I can use Read_at on the
returned file object. I give offsets in bytes and I can perform random
access reads from any process at any point of the file without
violating correctness (although the performance might/should/will be
better using views):

MPI::File f = MPI::File::Open(MPI::COMM_WORLD, filename, MPI::MODE_RDONLY,
                              MPI::INFO_NULL);
// ...
MPI::Offset pos_in_file = ...;
// ...
f.Read_at(pos_in_file, buffer, local_n + 1, MPI::INTEGER);
// ...
f.Close();

I have some problems with the program reading invalid data and want to
make sure I am actually using parallel I/O the right way.

Thanks,
-- Manuel Holtgrewe

Reply via email to