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

Reply via email to