@Torsten: Thanks a lot for this first draft! I tried to make some useful comments and attached the results to this mail (sorry, I can't comment PDFs so I did it the "old inconvenient way"). @Working Group (something to discuss): 1) The MPI-2.1 document has 127 occurrences of "nonblocking" and only 8 occurrences of "non-blocking". What would be the correct term? Should we try to be more consistent? 2) Clarification of MPI_Request_free() for requests from non-blocking collective operations. 3) Better definition/description for "matching" (there is nothing like "at the same time" -> logical order?). 4) Define "levels of progression"? To be queried (e.g., for "Synchronous Progress" MPI_Tests are needed for performance, but for "Asynchronous Progress" they would only add unnecessary overhead)? UP >= AP >= SP? 5) "Unexpected Progress" => "buffered" collectives? 6) NBC gives several possible ways for optimizations. With this "General advice to implementers" we stick to only one, and might prevent others. Can we already fix a decision for optimization strategies at this stage? Should we fix it at all? 7) Should there be a concrete code example in the proposal (e.g. an implementation of this double buffering example)? Hope this isn't too much for now. Best regards, Christian Torsten Hoefler wrote:
Hello Working Group, I finished a first draft of our non-blocking collectives proposal. Please read it carefully and send comments to me or the list (e.g., marked-up pdf documents).
The draft is attached to this mail.
All the Best, Torsten
-- Christian Siebert, Dipl.-Inf. Research Associate NEC Laboratories Europe, NEC Europe Ltd. Rathausallee 10, D-53757 Sankt Augustin, Germany Phone: +49 (0) 2241 - 92 52 44 Fax: +49 (0) 2241 - 92 52 99 (Registered Office: 1 Victoria Road, London W3 6BL, 2832014)