[MPIWG Fortran] MPI_STATUS_SIZE: Why only in Fortran?

Rolf Rabenseifner rabenseifner at hlrs.de
Tue Sep 8 15:57:33 CDT 2020


Dear Jeff,

I commenting your latest pdf together with email below:

----- Original Message -----
> From: "Jeff Squyres" <jsquyres at cisco.com>
> To: "Rolf Rabenseifner" <rabenseifner at hlrs.de>
> Cc: "MPI-WG Fortran working group" <mpiwg-fortran at lists.mpi-forum.org>
> Sent: Tuesday, September 8, 2020 8:46:09 PM
> Subject: Re: [MPIWG Fortran] MPI_STATUS_SIZE: Why only in Fortran?

> On Sep 8, 2020, at 2:15 PM, Rolf Rabenseifner
> <rabenseifner at hlrs.de<mailto:rabenseifner at hlrs.de>> wrote:
> 
> I just updated the header-text in
> https://github.com/mpi-forum/mpi-issues/issues/306
> 
> MPI 3.x: p704:13-xx (still to be done: list with the new C constants after the
> list for Fortran)
> MPI 4.x: p774:13-xx (still to be done: list with the new C constants after the
> list for Fortran)
> 
> Thanks Rolf.  I see you also fixed a copy-n-paste error I had for the MPI-3.x
> pages; thanks.
> 
> Text in the new C table header may be something like (see also my previous
> email,
> but I removed the hint to mpif.h and mpi module, because the Fortran constants
> must be provided also in the mpi_f08 module)
> 
> Fortran status array size and reserved index values (C only)
> (in C only to specify a Fortran status array and indexes into such an array.
> The values of Fortran MPI_STATUS_SIZE and C MPI_F_STATUS_SIZE are identical,
> whereas the indexes in C are 1 less than in Fortran to reflect that
> arrays in Fortran start by default with index 1 whereas in C with index 0)
> 
> I don't think we need this text -- these values are explained in the chapter
> text.  Plus, we don't have such explanation text in other annex A tables.
> 
> Right?

Yes, right.

> ----------------------
> C type: int
> ----------------------
> MPI_F_STATUS_SIZE
> MPI_F_SOURCE
> MPI_F_TAG
> MPI_F_ERROR
> ----------------------
> 
> Additionally, I would change the Fortran header in the original table
> from
> Status array size and reserved index values (Fortran only)
> to
> Status array size and reserved index values (Fortran only)
>
> These two lines are identical... did you mean to make a change on the 2nd line?

sorry for that typo, but not identical to your titles:

You have:

Status size and reserved index values (Fortran only)
...
Status size and reserved index values (C only)
...

but you should have

Status array size and reserved index values (Fortran only)
...
Fortran status array size and reserved index values (C only)
...

Reasons:
1) In Fortran, we have two different interfaces (since MPI-3.0):
The status array and the TYPE(MPI_Status).
Both are statuses, but our constants relate only to the "Status array"

2) For "(Fortran only)", it is clear, that these constants are for 
the Fortran status, and with 1) above, for the Fortran status array.
But for C, I would clearly say that it is nothing for the C MPI_Status
or a status array like in MPI_Waitall.
Therefore "Fortran status array size".

(It is also okay to use "Fortran status array size" for both titles)

 
> Please, do not forget to add also Annex A.1.1 in the list in the changelog.
> 
> Changelog: please keep in mind, that for errata (see older erratas),
> we also cite the previous standard, to which the change applies,
> i.e., additionally
> 
> ----
> Sections 2.5.4, 18.2.5 and A.1.1 on pages 15, 758 and 771, and
> MPI-3.1 Sections 2.5.4, 17.2.5 and A.1.1 on pages 15, 656 and 669.
> Defi ne the C constants MPI_F_STATUS_SIZE, MPI_F_SOURCE, MPI_F_TAG, and
> MPI_F_ERROR.
> ----

I do not understand, why you are doing it other than the rest:

14. Sections 14.3.6, 14.3.7, and 14.3.9 on pages 654, 661, and 689, and
MPI-3.0 Sections 14.3.6, 14.3.7, and 14.3.8 on pages 567, 573, and 584.
In functions MPI_T_CVAR_GET_INFO, MPI_T_PVAR_GET_INFO, and

or

20. Annexes A.2, A.3, and A.4 on pages 795, 821, and 878, and
MPI-3.0 Annexes A.2, A.3, and A.4 on pages 685, 707, and 756.
The predened callback MPI_CONVERSION_FN_NULL was added

or

2. Sections 3.2.2, 5.9.2, 13.5.2 Table 13.2, and Annex A.1.1 on pages 27, 186, 618, and
771, and MPI-2.2 Sections 3.2.2, 5.9.2, 13.5.2 Table 13.2, 16.1.16 Table 16.1, and
Annex A.1.1 on pages 27, 164, 433, 472 and 513
This is an MPI-2.2 erratum: New named prede...

(Yes, I know, B.3.1 Item 1 is an exception, but hopefully the only one,
and for the reason, that Chapters 3-18 are without page number)


Therefore please without repeating several times "on page", i.e., please 
> ----
> Sections 2.5.4, 18.2.5 and A.1.1 on pages 15, 758 and 771, and
> MPI-3.1 Sections 2.5.4, 17.2.5 and A.1.1 on pages 15, 656 and 669.
> Define the C constants MPI_F_STATUS_SIZE, MPI_F_SOURCE, MPI_F_TAG, and
> MPI_F_ERROR.
> ----
or a bit longer
----
Sections 2.5.4, 18.2.5 and Annex A.1.1 on pages 15, 758 and 771, and
MPI-3.1 Sections 2.5.4, 17.2.5 and Annex A.1.1 on pages 15, 656 and 669.
Define the C constants MPI_F_STATUS_SIZE, MPI_F_SOURCE, MPI_F_TAG, and
MPI_F_ERROR.
----

Please do not forget the plural s in MPI-3.1 Section**s** 


> Done everything except the title line of both tables in Annex A.

Best regards
Rolf 


> The 4.0 PDF is attached; I'll hold off on the 3.x PDF and updating both PRs
> until you let me know what you wanted done with those table headings.
> 
> --
> Jeff Squyres
> jsquyres at cisco.com<mailto:jsquyres at cisco.com>

-- 
Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner at hlrs.de .
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 .
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 .
Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner .
Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307) .


More information about the mpiwg-fortran mailing list