Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Prototypes for Fortran MPI_ commands using 64-bit indexing
From: Jim Parker (jimparker96313_at_[hidden])
Date: 2013-10-30 17:17:55


Ralph,
  If I understand your comment, there is no standard way to define 64-bit
MPI calls. So how does OpenMPI recommend I pass information? Just
declaring some 64-bit integers is not working.
Is there a working example some where?

Cheers,
--Jim

On Wed, Oct 30, 2013 at 3:40 PM, Ralph Castain <rhc_at_[hidden]> wrote:

> I believe this has been a long-standing issue with the MPI definitions -
> they specify "int", which on most systems will default to int32_t. Thus,
> there are no prototypes for 64-bit interfaces
>
> On Oct 30, 2013, at 1:35 PM, Jim Parker <jimparker96313_at_[hidden]> wrote:
>
> Hello,
> I have recently built a cluster that uses the 64-bit indexing feature of
> OpenMPI following the directions at
>
> http://wiki.chem.vu.nl/dirac/index.php/How_to_build_MPI_libraries_for_64-bit_integers
>
> My question is what are the new prototypes for the MPI calls ?
> specifically
> MPI_RECV
> MPI_Allgathterv
>
> I'm curious because some off my local variables get killed (set to null)
> upon my first call to MPI_RECV. Typically, this is due (in Fortran) to
> someone not setting the 'status' variable to an appropriate array size.
>
> However, my declaration for status is
> integer (kind=mpi_int_kind) :: status(MPI_STATUS_SIZE)
>
> A typical call to MPI_Recv is
> call MPI_RECV(num_array, length, MPI_INTEGER, 0,0,MPI_COMM_WORLD, status,
> mpierr)
>
> where the following definitions are used,
> mpi_int_kind=8 (for gcc/gfortran compiler)
>
> integer,parameter :: length = <some-value>
> integer :: num_array(length)
> integer :: mpierr
>
> My review of mpif.h and mpi.h seem to indicate that the functions are
> defined as C int types and therefore , I assume, the coercion during the
> compile makes the library support 64-bit indexing. ie. int -> long int
>
> The documentation on MPI_Recv just mentions the prototype for ints
> (32-bit) , I can't find anything for 64-bit
> http://www.open-mpi.org/doc/v1.6/
>
> Any help would be appreciated.
> The output from ompi_info --all is attached.
>
> Cheers,
> --Jim Parker
>
> BTW, the code works fine when linked against a 32-bit MPI library.
> <openmpi1.6.5-info.txt>_______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>