Any reason why the function with MPI_Count appears first in the function index 
while it appears second in the chapter?

Get Outlook for Android<>

From: mpi-forum <> on behalf of Jeff 
Squyres (jsquyres) via mpi-forum <>
Sent: Tuesday, July 30, 2019 11:13:09 AM
To: MPI Forum list <>
Cc: Jeff Squyres (jsquyres) <>
Subject: [Mpi-forum] "BigCount" rendering in PDF


See the attached two PDFs for how "BigCount" will be rendered in the MPI-4.0 
PDF (pt2pt chapter and pt2pt/external interfaces in Annex A).

Comments / suggestions are welcome, but you may only make comments / 
suggestions if you have read all of the "MORE DETAIL" section, below.


We have split the work of the "BigCount" WG into two parts:

1. Updating all the bindings throughout the entire MPI spec.  This is further 
sub-divided into two parts:
   1a. Updating the bindings in the chapters of the MPI spec.
   1b. Updating the bindings listing in Annex A.

2. Updating text in various chapters (e.g., Terms&Conventions and Language 
Bindings) describing BigCount, language consequences, describing how the 
bindings appear in the rest of the doc, ...etc.

We've incorporated all the feedback from the BigCount Virtual Meeting last 
week, and I'd like to share samples of how #1a and #1b will look in the MPI 4.0 

Text for #2 will be read at the September meeting (stay tuned -- that text will 
be published according to the normal 2-week deadline, etc.).

Attached are 2 documents:

1. The point-to-point chapter rendered in the new style.  Look at the bindings 
for MPI_SEND and MPI_RECV, for example.

2. Annex A rendered in the new style (only some of the bindings have been 
updated so far -- such as pt2pt and external interfaces).

If you are confused when looking at these PDFs (e.g., why are there up to 3 C 
bindings?), and/or if you weren't at the Virtual Meeting / didn't watch the 
Webex after the fact, the feedback we received from the Virtual Meeting is 
summarized below.  It is a lot of wordswordswords and is somewhat difficult to 
follow -- I highly suggest reading the rules below while simultaneously 
examining the attached PDFs.  The summary below should make much more sense 
when looking at concrete examples.


The overall intent is:

A. In MPI-4.0, expose "BigCount" functionality through language polymorphism in 
the C bindings and the mpi_f08 module (we are not updating mpif.h or the mpi 

B. C11 _Generic polymorphism kinda sucks, *and* we're in a transition period 
where not all C compilers are C11-capable.  Hence, we're exposing up to *3* C 
bindings per MPI procedure to applications (including explicitly exposing the 
"_x" variant where relevant).

C. Fortran polymorphism "just works" (skipping a longer explanation here -- ask 
Rolf/Puri if you're interested in the details), so there will only be up to *2* 
F08 bindings per MPI procedure.


For each binding in the main text of the document:

1. Show the "plain" MPI_Foo(...) C binding (e.g., as it appeared in MPI-3.1)

2. If the binding has count or displacement arguments:
   2a. Show a second MPI_Foo() C binding with count and displacement arguments 
as MPI_Count and MPI_Aint, respectively.
   2b. If MPI_Foo() DOES NOT HAVE a corresponding MPI_Foo_x() in MPI-3.1, show 
a third MPI_Foo_x(...) C binding with count/displacement as MPI_Count/MPI_Aint.

3. Show the "plain" MPI_Foo(...) F08 binding (e.g., as it appeared in MPI-3.1)

4. If the binding has count or displacement arguments:
   4a. Show a second MPI_Foo() F08 binding with count and displacement 

5. Show the "plain" F90 binding



- Slides we presented at the BigCount Virtual Meeting:

- Webex Recording of the BigCount Virtual Meeting:

- Froozle MPI, a no-op MPI implementation showing a bindings implementation of 

If you have read all the way down to this point, comments and feedback are 
welcome.  :-)

Jeff Squyres<>

mpi-forum mailing list

Reply via email to