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

New MPI-3 Fortran Support - #A: Overview over all related tickets #229

Closed mpiforumbot closed 8 years ago

mpiforumbot commented 8 years ago

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 as INTEGER.

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 existing USE mpi. Old style include '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:

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.

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.*

mpiforumbot commented 8 years ago

Originally by RolfRabenseifner on 2010-09-01 11:32:02 -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.

Extended Scope

None.

History

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.

Proposed Solution

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.

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' and USE mpi and the new USE mpi_f08.

Impact on Applications / Users

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.

Alternative Solutions

See inside of ticket descriptions.

Entry for the Change Log

See inside of ticket descriptions.

mpiforumbot commented 8 years ago

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.

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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)

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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:

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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:

mpiforumbot commented 8 years ago

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)

mpiforumbot commented 8 years ago

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)

mpiforumbot commented 8 years ago

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.

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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:

mpiforumbot commented 8 years ago

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

mpiforumbot commented 8 years ago

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.

mpiforumbot commented 8 years ago

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:

mpiforumbot commented 8 years ago

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/