[mpi3-coll] Nonblocking collectives standard draft

Torsten Hoefler htor at cs.indiana.edu
Mon Nov 24 23:09:33 CST 2008

Hi Christian,
> I did a second reading and found several but only minor issues with the 
> text. If you send me the TeX sources, I can send you my proposed 
> corrections/improvements directly as a patch file (diff).
I will send it via mail. 

> Some more things for discussion:
> - p. 49 l. 41: MPI has the concept of error handlers. I don't see a 
> reason why we should forbid ("return an error code") its usage. My 
> suggestion is to simply delete the two sentences (from "If the call ..." 
> to "... cases.").
This is actually consistent with MPI-2.1 p 48:17. I would agree to omit
the "return an error code", but since it's already written in this style
for point-to-point, we should keep it consistent.

> - p. 61 l 33-38: Should we really keep this Advice for implementors 
> (same result for MPI_IREDUCE when called with same arguments)? For the 
> blocking variant, there stands this argument of reproducibility vs. 
> performance. However, the non-blocking variant could be optimized much 
> better (e.g., might handle bad process skew) and we should consider to 
> weaken this semantic restriction to allow this better performance.
Yes, this is a bigger issue than we assume. Reproducability is very
important for real applications.

> - another argument _for_ MPI_REQUEST_FREE is the existence of 
> intercommunicators where all processes (i.e., in group A and in group B) 
> have to call the collective but only part of them might be involved 
> (e.g., for MPI_IBCAST all but the root process in group A don't really 
> participate in the operation - they pass MPI_PROC_NULL as root 
> argument). So having a lightweight MPI_Wait alternative might not be too 
> bad ...
I disagree because an MPI_Wait() on a request that doesn't involve
anything is as cheap as Request_free.

> The NBC examples are quite buggy (missing MPI_STATUS in MPI_Recv, 
> missing semicolons, duplicate usage of same req-argument -> bad Waitall, 
> ...) - but as with the text, I can send you corrected versions in the diff.
yes, it's version one and I have to admit that I did not try to compile
them yet. Please go ahead and send corrections!


 bash$ :(){ :|:&};: --------------------- http://www.unixer.de/ -----
Torsten Hoefler       | Postdoctoral Researcher
Open Systems Lab      | Indiana University    
150 S. Woodlawn Ave.  | Bloomington, IN, 474045, USA
Lindley Hall Room 135 | +01 (812) 855-3608

More information about the mpiwg-coll mailing list