My question is what are the new prototypes for the MPI calls ?
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
Any help would be appreciated.
The output from ompi_info --all is attached.
BTW, the code works fine when linked against a 32-bit MPI library.