Stefan,

The MPI definition of progress is pretty loose. There is absolutely no
guarantee regarding the asynchrony of any non-blocking or asynchronous
operations, more specifically there is no guarantee of progress when
the library is outside an MPI call.

  George.

PS: For the file operation an informative reading is 13.6.3.

On Sun, Feb 3, 2013 at 6:33 AM, Stefan Mauerberger
<stefan.mauerber...@gmail.com> wrote:
> Dear all!
>
> using the split collective procedures MPI_File_write_all_begin() and
> MPI_File_write_all_end() causes some confusion to me.
> It was my intention to implement asynchronous file i/o using those
> procedures. The idea is to calculate some 'useful' stuff while writing
> tons of data to disk.
> Well, buffering the local arrays and replacing MPI_File_write_all() by
> MPI_File_write_all_begin() and MPI_File_write_all_end() wasn't that
> hard. However my expectations were not met:
>  * No additional thread is spread out while writing
>  * No benefit in runtime can be observed; The program simply waits as it
> did before.
> It just comes with the difference spending a lot of time calling
> MPI_File_write_all_end() instead of MPI_File_write_all(). It appears to
> me that MPI_File_write_begin() does not trigger the actual write
> command.
>
> What I have is a iterative workflow where data shall be written to disk
> every 20th increment. So, what I want to achieve is writing to disk in
> the background while further 20 iterations are processed. I am coding a
> mixture of Fortran 90, F03, F08 and building with gfortran 4.7.1 and
> OpenMPI 1.6 .
> The environment in question is a quad-socket system equipped with
> E7-4860 running Debian Squeez. Unfortunately, I don't know about its i/o
> capabilities but it is nothing fancy.
>
> Do you have any idea what I have done wrong?
>
> Thanks in advance! Cheers,
> Stefan
>
>
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to