Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-30 Thread Jeff Squyres (jsquyres) via mpi-forum
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  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  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
>  
> 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 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
> jsquy...@cisco.com
> 


-- 
Jeff Squyres
jsquy...@cisco.com

___
mpi-forum 

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-30 Thread Bangalore, Purushotham via mpi-forum
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

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 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
jsquy...@cisco.com

___
mpi-forum mailing list
mpi-forum@lists.mpi-forum.org
https://lists.mpi-forum.org/mailman/listinfo/mpi-forum