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