On Mon, Nov 23, 2009 at 01:32:24PM -0700, Barrett, Brian W wrote: > On 11/23/09 8:42 AM, "Rob Latham" <r...@mcs.anl.gov> wrote: > > > Is it OK to mention MPICH2 on this list? I did prototype some MPI > > extensions that allowed ROMIO to do true async I/O (at least as far > > as the underlying operating system supports it). If you really need > > to experiment with async I/O, I'd love to hear your experiences. > > Rob - > > Funny you should mention that code. I was looking into a compile error in > OMPI on a strange platform last week (while travelling to SC, of course) and > was realizing that I had no idea what I was doing when I integrated ROMIO > into Open MPI many years ago, did it horribly, and want to clean it up. > > Anyway, you're talking about all the MPIX_Grequest interface used in ROMIO, > right?
exactly > Do you have documentation of that API anywhere (even a header file > with some comments)? There's the EuroPVM/MPI paper: http://www.mcs.anl.gov/~robl/papers/latham_grequest-enhance.pdf > I'm going to try to clean up how we integrate into ROMIO during the > holiday break, and it might make sense to implement the extended API > so that we can give some async I/O behavior as well. From looking > at the ROMIO usage, I think OMPI has all the internal pieces to put > together the API pretty quickly, so it might be an option. Any > thoughts you have on the subject would be greatly appreciated. I'm sorry I did not respond to this message earlier. I only check my openmpi folder every few weeks. When we implemented this in MPICH2 we added additional checks in our {test,wait} {,any,all,some} routines and invoked the progress function at those times. It resulted in some less-than-efficient code. ==rob -- Rob Latham Mathematics and Computer Science Division Argonne National Lab, IL USA