Jeff, Actually, we have a functional test suite that used to pass for these types and it fails now with v2.x. So I thought it was a regression.
But from what you're saying, the new standard doesn't have a strong requirement on LOGICAL and CHARACTER. So I really don't mind, since I don't know whether these types are widely used in client applications. I guess no? Regards, On 04/15/2016 02:34 PM, Jeff Squyres (jsquyres) wrote: > Nadia -- > > I believe that the character and logical types are not in this script already > because the description of MPI_SIZEOF in MPI-3.1 says that the input choice > buffer parameter is: > > IN x a Fortran variable of numeric intrinsic type (choice) > > As I understand it (and my usual disclaimer here: I am *not* a Fortran > expert), CHARACTER and LOGICAL types are not numeric in Fortran. > > However, we could add such interfaces as an extension. > > I just checked MPICH 3.2, and they *do* include MPI_SIZEOF interfaces for > CHARACTER and LOGICAL, but they are missing many of the other MPI_SIZEOF > interfaces that we have in OMPI. Meaning: OMPI and MPICH already diverge > wildly on MPI_SIZEOF. :-\ > > I guess I don't have a strong opinion here. If you file a PR for this patch, > I won't object. :-) > > >> On Apr 15, 2016, at 3:22 AM, DERBEY, NADIA <nadia.der...@atos.net> wrote: >> >> Hi, >> >> The following trivial example doesn't compile because of 2 missing types >> in the MPI_SIZEOF subroutines (in mpi_sizeof.f90). >> >> [derbeyn@btp0 test]$ cat mpi_sizeof.f90 >> program main >> ! use mpi >> include 'mpif.h' >> >> integer ierr, sz, mpisize >> real r1 >> integer i1 >> character ch1 >> logical l1 >> >> call MPI_INIT(ierr) >> call MPI_SIZEOF(r1, sz, ierr) >> call MPI_SIZEOF(i1, sz, ierr) >> call MPI_SIZEOF(l1, sz, ierr) >> call MPI_SIZEOF(ch1, sz, ierr) >> call MPI_FINALIZE(ierr) >> >> end >> [derbeyn@btp0 test]$ mpif90 -o mpi_sizeof mpi_sizeof.f90 >> mpi_sizeof.f90(14): error #6285: There is no matching specific >> subroutine for this generic subroutine call. [MPI_SIZEOF] >> call MPI_SIZEOF(ch1, sz, ierr) >> -------------^ >> mpi_sizeof.f90(15): error #6285: There is no matching specific >> subroutine for this generic subroutine call. [MPI_SIZEOF] >> call MPI_SIZEOF(l1, sz, ierr) >> -------------^ >> compilation aborted for mpi_sizeof.f90 (code 1) >> >> >> This problem happens both on master and v2.x. The following patch seems >> to solve the issue: >> >> diff --git a/ompi/mpi/fortran/base/gen-mpi-sizeof.pl >> b/ompi/mpi/fortran/base/gen-mpi-sizeof.pl >> index 5ea3dca3..a2a99924 100755 >> --- a/ompi/mpi/fortran/base/gen-mpi-sizeof.pl >> +++ b/ompi/mpi/fortran/base/gen-mpi-sizeof.pl >> @@ -145,6 +145,9 @@ sub generate { >> # Main >> >> ############################################################################# >> >> +queue_sub("character", "char", "character_kinds"); >> +queue_sub("logical", "logical", "logical_kinds"); >> + >> for my $size (qw/8 16 32 64/) { >> queue_sub("integer(int${size})", "int${size}", "int${size}"); >> } >> >> Regards, >> Nadia >> >> -- >> Nadia Derbey - B1-387 >> HPC R&D - MPI >> Tel: +33 4 76 29 77 62 >> nadia.der...@atos.net >> 1 Rue de Provence BP 208 >> 38130 Echirolles Cedex, France >> www.atos.com >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2016/04/18765.php > > -- Nadia Derbey - B1-387 HPC R&D - MPI Tel: +33 4 76 29 77 62 nadia.der...@atos.net 1 Rue de Provence BP 208 38130 Echirolles Cedex, France www.atos.com