Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] openmpi 1.7.4rc1 and f08 interface
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2014-01-27 09:46:29


There has been a LOT of changes in the Fortran since we made rc1; we should probably make rc2.

In the meantime, can you try with the latest 1.7 nightly snapshot?

    http://www.open-mpi.org/nightly/v1.7/

On Jan 27, 2014, at 9:28 AM, Åke Sandgren <ake.sandgren_at_[hidden]> wrote:

> Hi!
>
> I just started trying to build 1.7.4rc1 with the new Pathscale EkoPath5 compiler and stumbled onto this.
>
> When building without --enable-mpi-f08-subarray-prototype i get into problems with ompi/mpi/fortran/use-mpi-f08/mpi-f-interfaces-bind.h
>
> It defines
> subroutine ompi_comm_create_keyval_f(comm_copy_attr_fn,comm_delete_attr_fn, &
> comm_keyval,extra_state,ierror) &
> BIND(C, name="ompi_comm_create_keyval_f")
> use :: mpi_f08_types, only : MPI_ADDRESS_KIND
> use :: mpi_f08_interfaces_callbacks, only : MPI_Comm_copy_attr_function
> use :: mpi_f08_interfaces_callbacks, only : MPI_Comm_delete_attr_function
> implicit none
> OMPI_PROCEDURE(MPI_Comm_copy_attr_function) :: comm_copy_attr_fn
> OMPI_PROCEDURE(MPI_Comm_delete_attr_function) :: comm_delete_attr_fn
> INTEGER, INTENT(OUT) :: comm_keyval
> INTEGER(MPI_ADDRESS_KIND), INTENT(IN) :: extra_state
> INTEGER, INTENT(OUT) :: ierror
> end subroutine ompi_comm_create_keyval_f
>
> But at least the F2k3 specs says that
> "Each dummy argument of an interoperable procedure or interface must be an interoperable variable or an interoperable procedure."
>
> The code above violates that since comm_copy_attr_fn is not interoperable as far as i can see.
> If I'm reading this wrong then please let me know...
>
> The only definition of OMPI_PROCEDURE i can find is this one in ompi/mpi/fortran/configure-fortran-output-bottom.h
>
> #if OMPI_FORTRAN_HAVE_PROCEDURE
> #define OMPI_PROCEDURE(name) PROCEDURE(name)
> #else
> #define OMPI_PROCEDURE(name) EXTERNAL
> #endif
>
> I currently don't have any F2k8 specs to check so if this is changed there I'll try to get this sorted in the compiler.
>
> --
> Ake Sandgren, HPC2N, Umea University, S-90187 Umea, Sweden
> Internet: ake_at_[hidden] Phone: +46 90 7866134 Fax: +46 90 7866126
> Mobile: +46 70 7716134 WWW: http://www.hpc2n.umu.se
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/