<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
I just filed the issue:
<div class=""><br class="">
</div>
<div class="">    <a href="https://github.com/mpi-forum/mpi-issues/issues/298" class="">https://github.com/mpi-forum/mpi-issues/issues/298</a></div>
<div class=""><br class="">
</div>
<div class="">And a first cut of the MPI-4.x PR:</div>
<div class=""><br class="">
</div>
<div class="">    <a href="https://github.com/mpi-forum/mpi-standard/pull/255" class="">https://github.com/mpi-forum/mpi-standard/pull/255</a></div>
<div class=""><br class="">
</div>
<div class="">I just added a statement in the text on the PR so far.  I need to work with Martin R to get the Pythonization changes.</div>
<div class=""><br class="">
</div>
<div class="">I'll post back here when we have something for everyone to review.</div>
<div class=""><br class="">
</div>
<div class="">After that, we'll make a corresponding equivalent-looking PR for MPI-3.x.</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Jul 16, 2020, at 12:07 PM, Rolf Rabenseifner <<a href="mailto:rabenseifner@hlrs.de" class="">rabenseifner@hlrs.de</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Good idea.<br class="">
<br class="">
With the pythonizing, we have the additional header<br class="">
 Fortran binding<br class="">
which could be substituted by<br class="">
 Fortran binding (the following procedure is not available with mpif.h)<br class="">
<br class="">
And in A.4.12 we could write in front of the two routines also<br class="">
<br class="">
 The following procedure is not available with mpif.h:<br class="">
<br class="">
I would not use the positive statement "only available in the mpi module",<br class="">
because the procedure itself is in mpi_f08 and mpi, and only this<br class="">
specific Interface only in the mpi module.<br class="">
<br class="">
I would use "with mpif.h" and not use "in mpif.h", because most/all<br class="">
MPI libraries do not provide procedure interfaces in mpif.h. <br class="">
<br class="">
Best regards<br class="">
Rolf<br class="">
<br class="">
----- Original Message -----<br class="">
<blockquote type="cite" class="">From: "wgropp" <<a href="mailto:wgropp@illinois.edu" class="">wgropp@illinois.edu</a>><br class="">
To: "MPI-WG Fortran working group" <<a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mpiwg-fortran@lists.mpi-forum.org</a>><br class="">
Cc: "Rolf Rabenseifner" <<a href="mailto:rabenseifner@hlrs.de" class="">rabenseifner@hlrs.de</a>>, "Jeff Squyres" <<a href="mailto:jsquyres@cisco.com" class="">jsquyres@cisco.com</a>><br class="">
Sent: Thursday, July 16, 2020 5:17:55 PM<br class="">
Subject: Re: [MPIWG Fortran] Question about MPI_Status_f2f08() and _f082f()<br class="">
</blockquote>
<br class="">
<blockquote type="cite" class="">Adding something to the MPI_Status_f2f08/f082f bindings to specify these are<br class="">
only for the MPI module is a good idea.<br class="">
<br class="">
Bill<br class="">
<br class="">
William Gropp<br class="">
Director and Chief Scientist, NCSA<br class="">
Thomas M. Siebel Chair in Computer Science<br class="">
University of Illinois Urbana-Champaign<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<blockquote type="cite" class="">On Jul 16, 2020, at 9:19 AM, Jeff Squyres (jsquyres) via mpiwg-fortran<br class="">
<<a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mpiwg-fortran@lists.mpi-forum.org</a>> wrote:<br class="">
<br class="">
Thanks Rolf, Hubert, and Bill.  It all makes sense.<br class="">
<br class="">
Rolf has proposed that we add the following at the end of the sentence on<br class="">
MPI-3.1 p657 line 11:<br class="">
<br class="">
  (only in the mpi_f08 and mpi modules)<br class="">
<br class="">
This sounds reasonable to me, but do we need some additional annotation in the<br class="">
MPI_Status_f2f08 and _f082f bindings to indicate that the all-caps Fortran<br class="">
binding is only for the mpi module, and not mpif.h?<br class="">
<br class="">
<br class="">
<br class="">
<blockquote type="cite" class="">On Jul 15, 2020, at 3:08 PM, Rolf Rabenseifner via mpiwg-fortran<br class="">
<<a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mpiwg-fortran@lists.mpi-forum.org</a>> wrote:<br class="">
<br class="">
Dear Hubert and Jeff,<br class="">
<br class="">
<blockquote type="cite" class="">Ø I'm a little curious as to why we conspicuously left it out of mpif.h.<br class="">
</blockquote>
<br class="">
I expect, we didn't want that mpif.h must include the overloading<br class="">
of the operators .NE. and .EQ. for all TYPE(MPI_....).<br class="">
I'm not sure whether such declaration is allowed outside of a module.<br class="">
<br class="">
The use of mpif.h was already deprecated, i.e., if somebody<br class="">
wants to use mpi_f08 stuff in old code, he or she must<br class="">
first substitute the include mpif.h by use mpi.<br class="">
<br class="">
<blockquote type="cite" class="">... But it was never intended that the programmer<br class="">
does this transformation within the old Fortran subroutine (and old Fortran 77<br class="">
compiler or using Fortran 77 language kind wouldn’t support Type(MPI_Status) in<br class="">
mpif.h).<br class="">
</blockquote>
<br class="">
It was intended that you can convert from old INTEGER variable or array<br class="">
to new TYPE(MPI_...) within source code using the mpi module<br class="">
or using the mpi_f08 module.<br class="">
<br class="">
But we excluded mpif.h because it need not to provide compile-time<br class="">
argument checking and it use is therefore "strongly discouraged".<br class="">
Why should we add something to this "strongly discouraged" mpif.h<br class="">
area.<br class="">
<br class="">
And, to add it in a later version of MPI is simple. To remove it later<br class="">
is not backward compatible. This may be another reason for not<br class="">
adding it to mpif.h<br class="">
<br class="">
Best regards<br class="">
Rolf<br class="">
<br class="">
----- Original Message -----<br class="">
<blockquote type="cite" class="">From: "MPI-WG Fortran working group" <<a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mpiwg-fortran@lists.mpi-forum.org</a>><br class="">
To: "MPI-WG Fortran working group" <<a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mpiwg-fortran@lists.mpi-forum.org</a>><br class="">
Cc: "Hubert Ritzdorf" <<a href="mailto:Hubert.Ritzdorf@EMEA.NEC.COM" class="">Hubert.Ritzdorf@EMEA.NEC.COM</a>><br class="">
Sent: Wednesday, July 15, 2020 6:15:58 PM<br class="">
Subject: Re: [MPIWG Fortran] Question about MPI_Status_f2f08() and _f082f()<br class="">
</blockquote>
<br class="">
<blockquote type="cite" class="">Ø I'm a little curious as to why we conspicuously left it out of mpif.h.<br class="">
<br class="">
<br class="">
<br class="">
When I remember correctly, MPI_Status_f2f08() and _f082f() subroutines were for<br class="">
a smooth transition from Fortran 77 to Fortran 08.<br class="">
<br class="">
I.e. if a programmer has changed some functions from old Fortran to Fortran 08<br class="">
and uses other libraries or subroutines which still use the old Fortran status<br class="">
as input or output argument, it was possible to transfer the old Fortran status<br class="">
within the Fortran 08 subroutine. But it was never intended that the programmer<br class="">
does this transformation within the old Fortran subroutine (and old Fortran 77<br class="">
compiler or using Fortran 77 language kind wouldn’t support Type(MPI_Status) in<br class="">
mpif.h).<br class="">
<br class="">
<br class="">
<br class="">
Hubert<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
From: mpiwg-fortran [<a href="mailto:mpiwg-fortran-bounces@lists.mpi-forum.org" class="">mailto:mpiwg-fortran-bounces@lists.mpi-forum.org</a>] On Behalf<br class="">
Of Jeff Squyres (jsquyres) via mpiwg-fortran<br class="">
Sent: Wednesday, July 15, 2020 5:26 PM<br class="">
To: MPI Fortran WG <<a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mpiwg-fortran@lists.mpi-forum.org</a>><br class="">
Cc: Jeff Squyres (jsquyres) <<a href="mailto:jsquyres@cisco.com" class="">jsquyres@cisco.com</a>><br class="">
Subject: Re: [MPIWG Fortran] Question about MPI_Status_f2f08() and _f082f()<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
Just to bring this thread back on-track about TYPE(MPI_Status)...<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
Off list, I asked Rolf R. about this issue -- he cited the same things I did,<br class="">
plus a few more:<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
On your question on TYPE(MPI_Status), TYPE(MPI_Comm), ...:<br class="">
<br class="">
<br class="">
MPI-3.1<br class="">
<br class="">
<br class="">
- page 607 lines 18-24 require these types and the overloaded<br class="">
<br class="">
<br class="">
operators .EQ./.NE. for mpi_f08 module<br class="">
<br class="">
<br class="">
- page 609 lines 34-36 require these types and the overloaded<br class="">
<br class="">
<br class="">
operators .EQ./.NE. for mpi module<br class="">
<br class="">
<br class="">
- there is no such text on page 611-612 on mpif.h<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
And page 802 lines 9-15 also Show that it was never intented to add<br class="">
<br class="">
<br class="">
These types anf routines to old mpif.h.<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
It would be helpful, to add at least on page 657 line 11<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
C, some in both C and Fortran (only in the mpi_f08 and mpi modules).<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
Can you fix this with an one-vote-bug-fix-issue?<br class="">
<br class="">
<br class="">
Because it is not good if the information must be taken from the change-log.<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
---<br class="">
<br class="">
<br class="">
Summary:<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
Does this mean that TYPE(MPI_Status)<br class="">
<br class="">
<br class="">
[ and the Fortran routines MPI_STATUS_F2F08 and _F082F ]<br class="">
<br class="">
<br class="">
needs to be defined in<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
- mpif.h? NO<br class="">
<br class="">
<br class="">
- and the mpi module? YES<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
Bug-fix needed in MPI-3.1 page 657 line 11: add<br class="">
<br class="">
<br class="">
"(only in the mpi_f08 and mpi modules)" at the end.<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
I hope this helps.<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
Best regards<br class="">
<br class="">
<br class="">
Rolf<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
So I think there's at least a clarification here: the TYPE(MPI_Status) and<br class="">
associated functions is -- at a minimum -- supposed to be in the mpi module.<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
I'm a little curious as to why we conspicuously left it out of mpif.h.<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
Bill: this is somewhat counter to the clarification you proposed.<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
Are you ok with this? I think the text in the standard supports what Rolf<br class="">
proposes.<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
On Jul 10, 2020, at 12:11 PM, Jeff Squyres (jsquyres) via mpiwg-fortran < [<br class="">
<a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mailto:mpiwg-fortran@lists.mpi-forum.org</a> |
<a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mpiwg-fortran@lists.mpi-forum.org</a> ]<br class="">
<blockquote type="cite" class="">wrote:<br class="">
</blockquote>
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
On Jul 10, 2020, at 11:18 AM, Bill Long < [ <a href="mailto:longb@cray.com" class="">
mailto:longb@cray.com</a> |<br class="">
<a href="mailto:longb@cray.com" class="">longb@cray.com</a> ] > wrote:<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
In the “change” section there is this txt:<br class="">
<br class="">
• Within the mpi_08 Fortran module, the status was defined as TYPE(MPI_Status).<br class="">
Additionally, within both the mpi and the mpi_f08 modules, the constants<br class="">
MPI_STATUS_SIZE, MPI_SOURCE, MPI_TAG, MPI_ERROR, and TYPE(MPI_Status) are<br class="">
defined. New conversion routines were added: MPI_STATUS_F2F08,<br class="">
MPI_STATUS_F082F, MPI_Status_c2f08, and MPI_Status_f082c, In mpi.h, the new<br class="">
type MPI_F08_status, and the external variables MPI_F08_STATUS_IGNORE and<br class="">
MPI_F08_STATUSES_IGNORE were added.<br class="">
<br class="">
<br class="">
Good point.<br class="">
<br class="">
Just to be clear, you're referring to the changelog section in MPI-3.1,<br class="">
specifically bullet 30 on p802.<br class="">
<br class="">
That being said:<br class="">
<br class="">
- the changelog is non-binding ...but it does indicate our intent from that time<br class="">
- the changelog text states that the mpi module has TYPE(MPI_Status) -- but it<br class="">
does not say it was added to mpif.h<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
1) Why would the F08 status be defined different from the C definition? (If that<br class="">
were the case, conversions between f08 and C would be irrelevant).<br class="">
<br class="">
<br class="">
I remember that there was a lot of discussion about this at the time, which is<br class="">
what resulted in Figure 17.1.<br class="">
<br class="">
I know there were discussions about making the F08 and C statuses the same, but<br class="">
for some reason we chose not to mandate it. Perhaps we wanted to allow<br class="">
implementations to do whatever they wanted...? (e.g., allow Status_c2f08 be a<br class="">
no-op if the implementation wanted to, but not mandate it)<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
2) \begin{unpopular} Why are the legacy mpi module and mpif.h still included in<br class="">
the spec? These are embarrassingly obsolete. If this was fixed, none of the<br class="">
above mentioned conversion routines would be needed. \end(unpopular}<br class="">
<br class="">
<br class="">
<br class="">
I would love it if we could ditch -- at a minimum -- mpif.h.<br class="">
<br class="">
However, there's oodles of legacy code out there that uses it. That's why even<br class="">
deprecating it gets shouted down at Forum meetings.<br class="">
<br class="">
--<br class="">
Jeff Squyres<br class="">
[ <a href="mailto:jsquyres@cisco.com" class="">mailto:jsquyres@cisco.com</a> | <a href="mailto:jsquyres@cisco.com" class="">
jsquyres@cisco.com</a> ]<br class="">
<br class="">
_______________________________________________<br class="">
mpiwg-fortran mailing list<br class="">
[ <a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mailto:mpiwg-fortran@lists.mpi-forum.org</a> |
<a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mpiwg-fortran@lists.mpi-forum.org</a> ]<br class="">
[ <a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-fortran" class="">https://lists.mpi-forum.org/mailman/listinfo/mpiwg-fortran</a> |<br class="">
<a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-fortran" class="">https://lists.mpi-forum.org/mailman/listinfo/mpiwg-fortran</a> ]<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
--<br class="">
Jeff Squyres<br class="">
[ <a href="mailto:jsquyres@cisco.com" class="">mailto:jsquyres@cisco.com</a> | <a href="mailto:jsquyres@cisco.com" class="">
jsquyres@cisco.com</a> ]<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
Click [<br class="">
<a href="https://www.mailcontrol.com/sr/HjGlLo600jvGX2PQPOmvUuToodiywuSOXttD3rcwKg2CvP2Zmks-Y-w2Bv6lGox3acbEaKe314w5W2BPFL9JFA==" class="">https://www.mailcontrol.com/sr/HjGlLo600jvGX2PQPOmvUuToodiywuSOXttD3rcwKg2CvP2Zmks-Y-w2Bv6lGox3acbEaKe314w5W2BPFL9JFA==</a><br class="">
|<br class="">
here ] to report this email as spam.<br class="">
<br class="">
_______________________________________________<br class="">
mpiwg-fortran mailing list<br class="">
mpiwg-fortran@lists.mpi-forum.org<br class="">
https://lists.mpi-forum.org/mailman/listinfo/mpiwg-fortran<br class="">
</blockquote>
<br class="">
--<br class="">
Dr. Rolf Rabenseifner . . . . . . . . . .. <a href="mailto:rabenseifner@hlrs.de" class="">
email rabenseifner@hlrs.de</a> .<br class="">
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 .<br class="">
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 .<br class="">
Head of Dpmt Parallel Computing . . . <a href="http://www.hlrs.de/people/rabenseifner" class="">
www.hlrs.de/people/rabenseifner</a> .<br class="">
Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307) .<br class="">
_______________________________________________<br class="">
mpiwg-fortran mailing list<br class="">
<a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mpiwg-fortran@lists.mpi-forum.org</a><br class="">
https://lists.mpi-forum.org/mailman/listinfo/mpiwg-fortran<br class="">
</blockquote>
<br class="">
<br class="">
--<br class="">
Jeff Squyres<br class="">
<a href="mailto:jsquyres@cisco.com" class="">jsquyres@cisco.com</a><br class="">
<br class="">
_______________________________________________<br class="">
mpiwg-fortran mailing list<br class="">
mpiwg-fortran@lists.mpi-forum.org<br class="">
https://lists.mpi-forum.org/mailman/listinfo/mpiwg-fortran<br class="">
</blockquote>
</blockquote>
<br class="">
-- <br class="">
Dr. Rolf Rabenseifner . . . . . . . . . .. <a href="mailto:rabenseifner@hlrs.de" class="">
email rabenseifner@hlrs.de</a> .<br class="">
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 .<br class="">
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 .<br class="">
Head of Dpmt Parallel Computing . . . <a href="http://www.hlrs.de/people/rabenseifner" class="">
www.hlrs.de/people/rabenseifner</a> .<br class="">
Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307) .<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
<div class=""><span class=""><br class="">
-- <br class="">
</span><span class="">Jeff Squyres<br class="">
</span><span class=""><a href="mailto:jsquyres@cisco.com" class="">jsquyres@cisco.com</a></span>
</div>
<br class="">
</div>
</body>
</html>