Closed mpiforumbot closed 8 years ago
Originally by RolfRabenseifner on 2010-09-01 11:32:02 -0500
This ticket gives an overview over all related new MPI-3 Fortran tickets. It is intended that they are independent or that the require-relation is only uni-directional. Therefore they have independent voting.
All these tickets are owned by Rolf Rabenseifner, Craig Rasmussen, and Jeff Squyres together.
None.
Nomenclature:
MPI-1.0 - MPI-1.3 were based on Fortran77 interfaces.
In MPI-2.0 - MPI-2.2, all interfaces are "Fortran" interfaces.
In many cases, new Fortran 90 methods (e.g., KIND=....
) are used.
Buffers are defined as <type> BUF(*)
, which isn't a Fortran notation.
The behavior is defined through the usage in implicit interfaces
(old Fortran77 style subroutine definitions).
All handles are defined as INTEGER
.
MPI libraries are allowed to enable argument checking of MPI applications, as long as the application behaves as with implicit interfaces (i.e., no argument checking).
To enable argument checking, current MPI libraries use special non-standard options for the buffer arguments.
Another problem area is the handling of Fortran optimization together with nonblocking MPI routines.
Major goals of the New MPI-3 Fortran support are:
To achieve a high argument checking quality together with acceptable backward compatibility,
the new features require the use of a new module USE mpi_f08
.
Parts of the features are also included in existing USE mpi
.
Old style include 'mpif.h'
is kept as deprecated and continues to offer
an old style interface with (old Fortran77) implicit interfaces.
The C-based backend of MPI routines with buffers is doubled.
[[BR]]
Routines without buffer arguments can use the same interface for
the existing include 'mpif.h'
and USE mpi
and the new
USE mpi_f08
.
None, as long as the application uses already an MPI library with argument checking.
Applications that are not consistent with argument checking may require some
bug corrections. Those application bugs are semantically correct programs,
but syntactically wrong according to the definition of MPI.
If an application programmer does not resolve those application bugs,
he/she is still able to switch to deprecated include 'mpif.h
and to postpone the fixing of his/her application bugs.
See inside of ticket descriptions.
See inside of ticket descriptions.
Originally by RolfRabenseifner on 2010-09-01 11:44:08 -0500
The previous comment was not intended. It is identical to the original ticket content.
Originally by RolfRabenseifner on 2011-03-26 12:44:24 -0500
Attachment added: mpi-report-F2008-2011-03-26-reviewdoc-selected.pdf
(783.3 KiB)
All changes according to all Fortran tickets, state March 26, 2011 - in reviewdoc format - relevant pages selected
Originally by RolfRabenseifner on 2011-03-26 12:48:40 -0500
Attachment added: mpi-report-F2008-2011-03-26-changeonly-selected.pdf
(765.2 KiB)
All changes according to all Fortran tickets, state March 26, 2011 - best readable - in "changeonly" format - relevant pages selected
Originally by RolfRabenseifner on 2011-03-26 16:56:24 -0500
Attachment added: mpi-report-F2008-2011-03-26-reviewdoc-majorpages.pdf
(484.0 KiB)
All changes according to all Fortran tickets, state March 26, 2011 - in reviewdoc format - major pages only
Originally by RolfRabenseifner on 2011-03-26 16:58:03 -0500
Attachment added: mpi-report-F2008-2011-03-26-changeonly-majorpages.pdf
(472.6 KiB)
All changes according to all Fortran tickets, state March 26, 2011 - best readable - in "changeonly" format - major pages only
Originally by RolfRabenseifner on 2011-03-27 07:34:54 -0500
Attachment added: mpi-3.0-f08-interface-official.f90
(78.0 KiB)
Proposed official mpi_f08 module interface
Originally by RolfRabenseifner on 2011-03-27 07:36:14 -0500
Attachment added: mpi-3.0-f08-interface-possible-impl.f90
(89.1 KiB)
A possible and valid BIND(C,NAME='...') implementation of the mpi_f08 module interface
Originally by RolfRabenseifner on 2011-04-19 11:19:33 -0500
Attachment added: mpi-report-F2008-2011-04-19-changeonly.pdf
(4232.2 KiB)
All changes according to all Fortran tickets, state April 19, 2011 - intermediate draft - in "changeonly" format
Originally by RolfRabenseifner on 2011-04-21 10:17:04 -0500
Attachment added: mpi-report-F2008-2011-04-21-changeonlyplustickets.pdf
(4288.0 KiB)
Version for reading at MPI Forum meeting May 2011 - deleted text is removed
Originally by RolfRabenseifner on 2011-04-21 10:18:38 -0500
Attachment added: mpi-report-F2008-2011-04-21-changeonlyplustickets-majorpages.pdf
(610.5 KiB)
Version for reading at MPI Forum meeting May 2011 - deleted text is removed - major pages for printing
Originally by RolfRabenseifner on 2011-04-21 10:20:53 -0500
Attachment added: mpi-report-F2008-2011-04-21-reviewdoc.pdf
(4313.7 KiB)
Version for reading at MPI Forum meeting May 2011 - all deleted text still visible
Originally by RolfRabenseifner on 2011-05-02 11:05:39 -0500
Attachment added: MPI3_bind-C_sequence_tests.tar.gz
(2.3 KiB)
Testing of new handles everywhere in a Fortran application program
Originally by RolfRabenseifner on 2011-05-02 11:12:22 -0500
Attachment added: README_handles.txt
(2.2 KiB)
Testing of new handles everywhere in a Fortran application program - README
Originally by RolfRabenseifner on 2011-05-02 11:13:10 -0500
Attachment added: MPI3_derived_types_test.tar.gz
(12.9 KiB)
Testing derived type user buffers passed to the MPI choice buffer argument
Originally by RolfRabenseifner on 2011-05-02 11:13:51 -0500
Attachment added: README_derived.txt
(5.8 KiB)
Testing derived type user buffers passed to the MPI choice buffer argument - README
Originally by RolfRabenseifner on 2011-05-02 11:31:03 -0500
Attachment added: mpi-report-F2008-2011-05-02-changeonlyplustickets.pdf
(4025.4 KiB)
Updated version for reading at MPI Forum meeting May 2011 - deleted text is removed
Originally by RolfRabenseifner on 2011-05-02 11:43:22 -0500
Attachment added: mpi-report-F2008-2011-05-02-changeonlyplustickets-majorpages.pdf
(729.9 KiB)
Updated version for reading at MPI Forum meeting May 2011 - deleted text is removed - major pages for printing
Originally by RolfRabenseifner on 2011-05-02 11:46:53 -0500
Attachment added: mpi-report-F2008-2011-05-02-reviewdoc.pdf
(4055.3 KiB)
Updated version for reading at MPI Forum meeting May 2011 - all deleted text is still visible
Originally by RolfRabenseifner on 2011-05-05 11:57:56 -0500
Attachment added: mpi_alloc_mem_test.tar.gz
(1.3 KiB)
Test of new MPI_ALLOC_MEM interface with TYPE(C_PTR)
Originally by RolfRabenseifner on 2011-05-05 11:59:47 -0500
Attachment added: mpi-3.0-f08-interface.tar.2.gz
(0.0 KiB)
removed
Originally by RolfRabenseifner on 2011-05-05 12:00:45 -0500
Attachment added: mpi-3.0-f08-interface.tar.gz
(32.3 KiB)
The new Fortran mpi_f08 module sources - tar.gz
Originally by RolfRabenseifner on 2011-05-05 12:01:16 -0500
Attachment added: mpi-3.0-f08-interface_possible-f2003-implementation_with-callbacks.f90
(157.4 KiB)
The new Fortran mpi_f08 module sources - as .f90 file for Fortran 2003 compilers
Originally by RolfRabenseifner on 2011-05-05 12:03:55 -0500
Attachment added: mpi-report-F2008-2011-05-05-changeonlyplustickets.pdf
(4030.6 KiB)
Updated version for reading at MPI Forum meeting May 2011 - deleted text is removed
Originally by RolfRabenseifner on 2011-05-05 12:05:11 -0500
Attachment added: mpi-report-F2008-2011-05-05-changeonlyplustickets-majorpages.pdf
(732.4 KiB)
Updated version for reading at MPI Forum meeting May 2011 - deleted text is invisible - major pages for printing
Originally by RolfRabenseifner on 2011-05-05 12:06:25 -0500
Attachment added: mpi-report-F2008-2011-05-05-reviewdoc.pdf
(4061.6 KiB)
Updated version for reading at MPI Forum meeting May 2011 - all deleted text is still visible
Originally by RolfRabenseifner on 2011-08-26 15:55:53 -0500
Attachment added: mpi-report-F2008-2011-08-26-changeonlyplustickets.pdf
(4101.5 KiB)
Updated version for pre-review until Aug.31,2011 - deleted text is removed
Originally by RolfRabenseifner on 2011-08-26 16:19:37 -0500
Attachment added: mpi-report-F2008-2011-08-26-reviewdoc.pdf
(4143.6 KiB)
Updated version for pre-review until Aug.31,2011 - all deleted text is still visible
Originally by RolfRabenseifner on 2011-09-08 15:06:18 -0500
Attachment added: mpi-report-F2008-2011-09-08-changeonlyplustickets_majorpages.pdf
(843.5 KiB)
Updated version for reading/reviewing at MPI Forum meeting Sep 2011 - deleted text is invisible - major pages for printing
Originally by RolfRabenseifner on 2011-09-08 15:11:10 -0500
Attachment added: mpi-report-F2008-2011-09-08-changeonlyplustickets.pdf
(4124.4 KiB)
Updated version for reading/reviewing at MPI Forum meeting Sep 2011 - deleted text is invisible
Originally by RolfRabenseifner on 2011-09-08 15:14:26 -0500
Attachment added: mpi-report-F2008-2011-09-08-reviewdoc.pdf
(4165.0 KiB)
Updated version for reading/reviewing at MPI Forum meeting Sep 2011 - deleted text is still visible
Originally by RolfRabenseifner on 2011-09-08 15:18:59 -0500
Attachment added: mpi-3.0-all-interfaces-07-f2008.2.f90
(90.3 KiB)
mpi_f08 binding used in the MPI draft 2011-09-08
Originally by RolfRabenseifner on 2011-09-24 00:02:39 -0500
Attachment added: MPI-3.0-Fortran-overview-Sep2011meeting.pdf
(1219.6 KiB)
mpi-report-F2008-2011-09-08-changeonlyplustickets.pdf plus slides 8-14 together are the final reading document
Originally by RolfRabenseifner on 2011-10-09 16:01:01 -0500
For the meeting in Chicago, Oct. 24-26, 2011, the #229 Fortran proposal is based on 3 files:
Originally by RolfRabenseifner on 2011-10-09 16:42:23 -0500
Attachment added: MPI-Fortran-Changes_2011-10-09.txt
(38.1 KiB)
mpi-report-F2008-2011-09-08-changeonlyplustickets.pdf & MPI-3.0-Fortran-overview-Sep2011meeting.pdf slides 8-14 & MPI-Fortran-Changes_2011-10-09.txt together are the final reading document for Oct. 24, 2011
Originally by RolfRabenseifner on 2011-10-23 11:12:13 -0500
Attachment added: MPI-Fortran-Changes_2011-10-23.txt
(38.1 KiB)
This updated file MPI-Fortran-Changes_2011-10-23.txt together with mpi-report-F2008-2011-09-08-changeonlyplustickets.pdf & MPI-3.0-Fortran-overview-Sep2011meeting.pdf slides 8-14 are the final reading document for Oct. 24, 2011
Originally by RolfRabenseifner on 2011-10-23 11:16:27 -0500
For the meeting in Chicago, Oct. 24-26, 2011, the #229 Fortran proposal is based on 3 files:
Originally by RolfRabenseifner on 2011-10-25 13:38:09 -0500
Attachment added: MPI-Fortran-Changes_2011-10-25.txt
(44.8 KiB)
This updated file MPI-Fortran-Changes_2011-10-25.txt together with mpi-report-F2008-2011-09-08-changeonlyplustickets.pdf & MPI-3.0-Fortran-overview-Sep2011meeting.pdf slides 8-14 are the final reading document for Oct. 24, 2011 (includes review results from Hubert Ritzdorf, Fab Tillier, George Bosilca)
Originally by RolfRabenseifner on 2011-10-26 13:47:59 -0500
Attachment added: MPI-Fortran-Changes_2011-10-26.txt
(46.5 KiB)
This updated file MPI-Fortran-Changes_2011-10-25.txt together with mpi-report-F2008-2011-09-08-changeonlyplustickets.pdf & MPI-3.0-Fortran-overview-Sep2011meeting.pdf slides 8-14 are the final re-reading document for Oct. 26, 2011 (includes the changes from the formal reading on Oct. 25, 2011)
Originally by RolfRabenseifner on 2011-10-26 13:50:38 -0500
Formal reading of the ticket is done, Oct. 16, 2011, Chicago meeting.
Final pdf will be provided on this ticket until Dec. 15, 2011.
Originally by RolfRabenseifner on 2011-12-15 18:40:10 -0600
Attachment added: mpi-3.0-all-interfaces-07-f2008.f90
(90.3 KiB)
mpi_f08 binding used in the MPI draft 2011-12-15
Originally by RolfRabenseifner on 2011-12-15 18:43:39 -0600
Attachment added: mpi-3.0-all-interfaces-12-f2008TR29113.f90
(175.5 KiB)
mpi_f08 module, final implementation for Fortran2008+TR29113 compiler, based on MPI draft 2011-12-15
Originally by RolfRabenseifner on 2011-12-15 18:50:23 -0600
Attachment added: mpi-report-F2008-2011-12-15-reviewdoc.pdf
(4195.9 KiB)
Final version of formal reading at MPI Forum meetings Sep+Oct 2011 - deleted text is still visible
Originally by RolfRabenseifner on 2011-12-15 18:55:09 -0600
Attachment added: mpi-report-F2008-2011-12-15-changeonlyplustickets_majorpages.pdf
(1469.1 KiB)
Final version of formal reading at MPI Forum meetings Sep+Oct 2011 - deleted text is invisible - major pages for printing
Originally by RolfRabenseifner on 2011-12-15 18:59:03 -0600
Attachment added: mpi-report-F2008-2011-12-15-changeonlyplustickets.pdf
(4154.4 KiB)
Final version of formal reading at MPI Forum meetings Sep+Oct 2011 - deleted text is invisible - basis for the voting
Originally by RolfRabenseifner on 2011-12-15 19:37:02 -0600
Version 2011-12-15 added.
It is identical to
Marking with 229.3 is not used.
There are only six additional changes in attachment:mpi-report-F2008-2011-12-15-changeonlyplustickets.pdf marked with Ticket229.4 . These changes are all with Ticket-Zero quality:
-The final version for voting is*
Additionally, we attached also the interfaces which directly correlate to the text in the draft:
Originally by RolfRabenseifner on 2011-12-19 07:46:50 -0600
Attachment added: mpi-3.0-all-interfaces-08-f2003.f90
(185.0 KiB)
mpi_f08 module, preliminary implementation with Fortran 2003, based on MPI draft 2011-12-15
Originally by RolfRabenseifner on 2011-12-19 07:49:50 -0600
Attachment added: mpi-3.0-all-interfaces-13-testfile.f90
(171.3 KiB)
Set of test routines for a compile and linkage check (no runtime test!). Usable for each F2003 and F2008+TR29113 based MPI-3.0 libraries.
Originally by RolfRabenseifner on 2011-12-19 08:02:43 -0600
The attachments
The main goal is to verify that any MPI-3.0 implementation with a mpi_f08 module has a correct interface definition of all routines. For this, attachment:mpi-3.0-all-interfaces-13-testfile.f90 must be compiled with the mpi_f08 module of that MPI-3.0 implementation and must be linked with that MPI-3.0 library.
If this compiles and links without any error, then the provided interface may use correctly defined routine interfaces, i.e. the argument lists may match with the requirements of the MPI-3.0 standard (provided this ticket gets voted in).
Where are the limits of this test:
Originally by jsquyres on 2012-02-27 09:10:20 -0600
Implementation complete: see http://blogs.cisco.com/performance/mpi-3-fortran-bindings-prototype-now-available/
Originally by RolfRabenseifner on 2010-09-01 10:37:25 -0500
229-A: Overview over all related tickets## Description
This ticket gives an overview over all related new MPI-3 Fortran tickets. It is intended that they are independent or that the require-relation is only uni-directional. Therefore they have independent voting.
All these tickets are owned by Rolf Rabenseifner, Craig Rasmussen, and Jeff Squyres together.
'''The official draft SOLUTION is always the latest pdf attached to this ticket.'''[[BR]] Tickets #230-B through #253-X show only background information. The solutions in these tickets were frozen after 2011-03-26. '''The final solution is developped only in a tex-tree and published to the Forum through the pdf drafts, see attacments below.'''
Extended Scope
None.
History
Nomenclature:
MPI-1.0 - MPI-1.3 were based on Fortran 77 interfaces. In MPI-2.0 - MPI-2.2, all interfaces are "Fortran" interfaces. In many cases, new Fortran 90 methods (e.g.,
KIND=....
) are used. Buffers are defined as<type> BUF(*)
, which isn't a Fortran notation. The behavior is defined through the usage in implicit interfaces (old Fortran 77 style subroutine definitions). All handles are defined asINTEGER
.MPI libraries are allowed to enable compile-time argument checking of MPI applications, as long as the application behaves as with implicit interfaces (i.e., no compile-time argument checking).
To enable compile-time argument checking, current MPI libraries use special non-standard options for the buffer arguments.
Another problem area is the handling of Fortran optimization together with nonblocking MPI routines.
Proposed Solution
Major goals of the New MPI-3 Fortran support are:
To achieve a high compile-time argument checking quality together with acceptable backward compatibility, the new features require the use of a new
USE mpi_f08
module. Parts of the features are also included in existingUSE mpi
. Old styleinclude 'mpif.h'
is kept and can continues to offer an old style interface with (old Fortran 77) implicit interfaces, but the use of 'mpif.h' is strongly discouraged.'''The official draft SOLUTION is always the latest pdf attached to this ticket.'''
-The final version for voting is:*
It contains the 2011-09-08 version plus the changes based on the reviews and read in Santorini and Chicago in Sep. + Oct. 2011:
Impact on Implementations
The C-based backend of MPI routines with buffers is doubled. [[BR]] Routines without buffer arguments can use the same interface for the existing
INCLUDE 'mpif.h'
andUSE mpi
and the newUSE mpi_f08
.Impact on Applications / Users
None, as long as the application uses already an MPI library with compile-time argument checking. Applications that are not consistent with compile-time argument checking may require some bug corrections. Those application bugs are semantically correct programs, but syntactically wrong according to the definition of MPI. If an application programmer does not resolve those application bugs, he/she is still able to switch to
include 'mpif.h
and to postpone the fixing of his/her application bugs.Alternative Solutions
See inside of ticket descriptions.
Entry for the Change Log
-See latest attached pdf file.*