mpi-forum / mpi-forum-historic

Migration of old MPI Forum Trac Tickets to GitHub. New issues belong on mpi-forum/mpi-issues.
http://www.mpi-forum.org
2 stars 3 forks source link

Fortran module CONTAINS - Advice to implementors #393

Closed mpiforumbot closed 8 years ago

mpiforumbot commented 8 years ago

Originally by RolfRabenseifner on 2013-09-12 11:28:19 -0500


Description

In the definition of the new Section 17.1.5 in ticket #388, it was seen that more optimal implementation schemes with CONTAINS may be desired. Due to constraints with the profiling, the following advice to implementors is proposed. In the current version of Fortran and without additional non-standard compiler features, the text of this advice restrict the use of CONTAINS. This may change with future Fortran. The text of the advice will stay valid because it describes only the needed outcome, and not how it must be implemented.

Extended Scope

None.

History

This original text (about usage of CONTAINS) had its reviews and formal reading as part of ticket #388. This advice was split off into this new ticket, because it was new functionality and not an erratum.

The text was now modified that it is a pure clarification of the erratum #388. Therefore it starts again with reading and voting, but now as erratum.

Proposed Solution (as MPI-3.0 errata)

Add at the end of Section 17.1.5 (see ticket #388):

-Advice to implementors.*
An implementation that provides a Fortran interface must provide a combination of MPI library and module or include file that uses the specific procedure names as described in Table 1.1 on page 5 so that the MPI Fortran routines are interceptable as described above. -(End of advice to implementors.)*

("Table 1.1 on page 5" is the table in the pdf of ticket #388)

Impact on Implementations

None.

Impact on Applications / Users

None.

Entry for the Change Log

None.

Voting category

Single-vote in category MPI-3.0-errata.

mpiforumbot commented 8 years ago

Originally by RolfRabenseifner on 2013-09-12 12:47:58 -0500


Typo-correction in the ticket's description.

mpiforumbot commented 8 years ago

Originally by jsquyres on 2014-05-09 07:46:07 -0500


The more I think about this, the more I think it is unnecessary.

Yes, I realize that this question keeps coming up -- and it's a major piece of rationale for putting this comment in the standard.

But another way to answer this question is just to have someone implement it in a major MPI implementation. If Cray wants to do so, let's have them do that. Then the implementation will be out there, and the answer to "hey, can I implement with CONTAINS?" will be publicly available via implementation.

mpiforumbot commented 8 years ago

Originally by RolfRabenseifner on 2014-05-10 12:18:16 -0500


The alternative solution is only a clarification and does not include the idea of doing anything outside the scope of the MPI specification. It is needed because the question about CONTAINS comes back to the MPI forum every few month. This clarification is therefore needed to finally finish these questions about CONTAINS.

The new alternative version is a clarification to the errata in #388 and should be prefered instead of the originally read solution. The new version should be read together with single vote as MPI-3.0 erratum because it is a clarification of the #388 erratum.

mpiforumbot commented 8 years ago

Originally by jsquyres on 2014-05-13 09:20:12 -0500


Bill Long made the point off-list that we don't want to prohibit using CONTAINS for those implementors who want to provide an extension that has an mpi_f08 module that uses CONTAINS. I proposed a new AtoI:

-Advice to implementors.* An implementation that provides a Fortran interface must provide a combination of MPI library and module or include file that uses the specific procedure names as described in Table 1.1 on page 5 such that the MPI Fortran routines are interceptable. *(End of advice to implementors.)*
mpiforumbot commented 8 years ago

Originally by jsquyres on 2014-05-13 09:22:54 -0500


Removed from CC: Darius (he's long gone), Dave Goodell (his ANL address doesn't even work any more), and George + Rajeev (I'm assuming they don't care about Fortran issues).

mpiforumbot commented 8 years ago

Originally by RolfRabenseifner on 2014-05-14 02:34:52 -0500


I removed the original text that was read together with #388:

-Advice to implementors.* An implementor may provide other specific procedure names, e.g., internal names generated by using CONTAINS to include the MPI routines in the namespace of the mpif08 and mpi modules. In this case, these specific procedure names may not be interceptable by profiling wrappers. To be compliant with the MPI standard as described in Section 17.1.1 on page 597, the implementor must also provide an additional combination of MPI library and module file that uses the specific procedure names as described in Table 1.1 on page 5. (End of advice to implementors.)_

and changed the text into a pure clarification-of-an-erratum ticket, which is therefore itself an erratum with single reading+vote.

The proposed text is already positively reviewed by Jeff Squyres, Bill Long, and Bill Gropp.

mpiforumbot commented 8 years ago

Originally by jsquyres on 2014-06-05 10:27:57 -0500


Ticket passed errata vote: 18 yes, 0 no, 1 abstain

mpiforumbot commented 8 years ago

Originally by jsquyres on 2014-12-07 09:32:39 -0600


Reviewed by Jeff Hammond.

mpiforumbot commented 8 years ago

Originally by RolfRabenseifner on 2014-12-09 22:37:24 -0600


PDF-Review: Changes look correct.