[Mpi-forum] "BigCount" rendering in PDF

Jeff Squyres (jsquyres) jsquyres at cisco.com
Tue Jul 30 14:48:40 CDT 2019


In the text:

- We consciously put the "old" binding first (i.e., the int/INTEGER-enabled one), just for familiarity.

In Annex A:

- It's an alphabetical listing.

-----

I don't have strong feelings about this.  If the popular opinion is to move the C/F08 Count-enabled bindings first in the text renderings, it's a trivial change to make (it entails changing just a few lines of Python).




> On Jul 30, 2019, at 3:37 PM, Bangalore, Purushotham <puri at uab.edu> wrote:
> 
> 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 <mpi-forum-bounces at lists.mpi-forum.org> on behalf of Jeff Squyres (jsquyres) via mpi-forum <mpi-forum at lists.mpi-forum.org>
> Sent: Tuesday, July 30, 2019 11:13:09 AM
> To: MPI Forum list <mpi-forum at lists.mpi-forum.org>
> Cc: Jeff Squyres (jsquyres) <jsquyres at cisco.com>
> Subject: [Mpi-forum] "BigCount" rendering in PDF
>  
> SHORT VERSION
> 
> 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.
> 
> MORE DETAIL
> 
> 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 PDF.
> 
> 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 module).
> 
> 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 arguments as INTEGER(KIND=MPI_COUNT_KIND) and INTEGER(MPI_ADDRESS_KIND), respectively.
> 
> 5. Show the "plain" F90 binding
> 
> -----
> 
> References:
> 
> - Slides we presented at the BigCount Virtual Meeting: https://docs.google.com/presentation/d/10D_ws5NYAOI8m6KZKb31s9HxiSSmc_k5C620Cuy3brY/edit
> 
> - Webex Recording of the BigCount Virtual Meeting: https://www.mpi-forum.org/virtual_meetings/
> 
> - Froozle MPI, a no-op MPI implementation showing a bindings implementation of BigCount: https://github.com/jsquyres/froozle-mpi
> 
> If you have read all the way down to this point, comments and feedback are welcome.  :-)
> 
> -- 
> Jeff Squyres
> jsquyres at cisco.com
> 


-- 
Jeff Squyres
jsquyres at cisco.com



More information about the mpi-forum mailing list