[MPIWG Fortran] Provide Fortran datatypes if Fortran bindings not provided?

Bill Long longb at cray.com
Thu Feb 18 17:00:49 CST 2016


On Feb 18, 2016, at 4:09 PM, Craig Rasmusen <rasmus at cas.uoregon.edu> wrote:

> >> (1) mpi.h does not provide a specific MPI Fortran datatype
> 
> > I think JeffH and Jed want (1).
> 
> > I think I want (1), too.
> 
> I'm good with (1) too.

This issue would not arise for Cray, but JeffH's argument to match the wording used for C++ is persuasive. So I am OK with (1) also.  I agree with Rolf that the MPI spec should explicitly state the policy.

Cheers,
Bill

> 
> -craig
> 
> On Thu, Feb 18, 2016 at 1:31 PM, Jeff Squyres (jsquyres) <jsquyres at cisco.com> wrote:
> On Feb 18, 2016, at 3:55 PM, Rolf Rabenseifner <rabenseifner at hlrs.de> wrote:
> >
> > I would prefer a solution where an application or middlware can check at
> > runtime whether the Fortran MPI datatypes exist, i.e., I like mpich's
> > solution. It is more simple than all methods that People must check prior
> > to compile and must remove or Change parts of there software.
> 
> The reason that JeffH and Jed hate this solution is because it makes it quite difficult for an application to know whether the MPI has Fortran support or not -- they basically have to compile an MPI application *and then run it* to see if the datatypes are actually MPI_DATATYPE_NULL.
> 
> Doing this inside a GNU Autoconf/configure script is very, very difficult because of the huge differences in how you launch MPI applications across different HPC environments.
> 
> Their (strong) preference is that you can have a simple compilation test in the GNU Autoconf/configure script that just tries to compile something like the following:
> 
> -----
> #include <mpi.h>
> MPI_Datatype foo = MPI_INTEGER;
> -----
> 
> If that compiles, then your MPI has Fortran support.
> If it doesn't compile, your MPI doesn't have Fortran support.
> 
> > In the moment,in the case of a missing accompanying Fortran Compiler,
> > an application or middleware that wants to handle
> > MPI Fortran datatypes must handle both cases
> > (1) mpi.h does not provide a specific MPI Fortran datatype
> > (2) mpi.h provides this MPI Fortran datatype as MPI_DATATYPE_NULL
> >
> > The additional case, that it is mapped to a real datatype is not
> > an exception, because it defines some sort of accompanying Fortran Compiler.
> >
> > I would prefer that the MPI standard defines, which of the two
> > options should be implemented.
> 
> I think JeffH and Jed want (1).
> 
> I think I want (1), too.
> 
> > As said at the beginning, I would prefer (1),
> > - as mpich is doing it in general, and
> > - OMPI is doing it partially,
> > whereas (2) was not done by mpich nor by OMPI.
> 
> I think you have (1) and (2) backwards in this paragraph.
> 
> --
> Jeff Squyres
> jsquyres at cisco.com
> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> _______________________________________________
> mpiwg-fortran mailing list
> mpiwg-fortran at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran
> 
> _______________________________________________
> mpiwg-fortran mailing list
> mpiwg-fortran at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran

Bill Long                                                                       longb at cray.com
Fortran Technical Support  &                                  voice:  651-605-9024
Bioinformatics Software Development                     fax:  651-605-9142
Cray Inc./ Cray Plaza, Suite 210/ 380 Jackson St./ St. Paul, MN 55101





More information about the mpiwg-fortran mailing list