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::Offset pos_in_file = ...;
f.Read_at(pos_in_file, buffer, local_n + 1, MPI::INTEGER);
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.
-- Manuel Holtgrewe