[MPI3 Fortran] J3 / etc.
crasmussen at newmexicoconsortium.org
Tue Oct 12 16:41:55 CDT 2010
Jeff Squyres asked some important questions that I wanted to address
to the entire group. This will also let others respond if they have a
different take on it.
On Tue, Oct 12, 2010 at 5:49 AM, Jeff Squyres <jsquyres at cisco.com> wrote:
> 1. What exactly is in the 2008 spec and what exactly is in the TR?
Fortran 2008 is essentially finished and will be released for final
publication in a few months. It has nothing regarding further
interoperability with C needed by Fortran MPI-3. The TR (J3 document
10-165r2) has the assumed type and assumed rank (TYPE(*) and
DIMENSION(..)) specifications needed by MPI-3. This part of the TR is
"finished". Currently we are working around the edges of this,
nailing down the specification of some functions that modify members
of the array descriptor that will be passed to C. None of this stuff
(that we are currently working on) rises to the level of the MPI
standard (it would only affect an MPI vendors implementation).
> 2. How binding is the TR?
This is a type 2 TR which means that, if passed, it will officially
become part of the Fortran 2013 standard. It is actually a good thing
to be a TR in this case because vendors can work on it sooner,
presumably even before they finish F2008, if users demand it.
> 3. What is the process for the TR to become part of the 2008 (or later) spec?
As mentioned above it is a formality. There is another type of TR
that can forever live outside of the standard, but not a type 2 TR.
> One case that has been cited as a cause for concern is co-array fortran -- apparently that started life as a TR and as later brought into the formal standard itself, BUT it changed *significantly* between its life as a TR and its life in the standard.
What was originally known as Co-Array Fortran (CAF), was designed by
Bob Numric and John Reid and implemented by Cray. CAF as such was
never standardized (separate from Fortran), but became part of Fortran
2008 standard; it is no longer CAF but just part of Fortran. There
are differences between CAF and Fortran 2008 but I don't know if I
would call them significant. Some stuff (collectives) were left for
later and will be done in a TR that will be come part of F2013.
Once the further interoperability with C TR passes, (probably in June
at the WG5 world body meeting in Germany) I can see no reason why the
MPI Forum cannot safely rely on the standard. What really counts in
the end is whether Fortran vendors will implement the standard. The
record has shown that the vendors will implement what the users ask
for. The original interoperability standard in F2003 was the first
part of F2003 that vendors implemented, in part because of a poll I
took of the HPC community, that said users overwhelmingly thought
interoperability with C was the most important part of the 2003
More information about the mpiwg-fortran