Thanks Jeff for the resolution. On Mon, Aug 19, 2019 at 7:45 PM Jeff Squyres (jsquyres) <jsquy...@cisco.com> wrote:
> On Aug 19, 2019, at 6:15 AM, Sangam B via users <users@lists.open-mpi.org> > wrote: > > > > subroutine recv(this,lmb) > > class(some__example6), intent(inout) :: this > > integer, intent(in) :: lmb(2,2) > > > > integer :: cs3, ierr > > integer(kind=C_LONG) :: size > > This ^^ is your problem. More below. > > > ! receive only from buffer at different process > > if(this%is_bf_referred) return > > > > cs3=this%uspecifier%get_recv_buff_3rd_dim_size(this%xb,this%vwb,lmb) > > if(cs3.eq.0) return ! nothing to recv > > > > size = this%size_dim(this%gi)*this%size_dim(this%gj)*cs3 > > if(this%is_exchange_off) then > > call this%update_stats(size) > > this%bf(:,:,1:cs3) = cmplx(0.,0.) > > else > > call MPI_Irecv(this%bf(:,:,1:cs3),size,MPI_COMPLEX_TYPE,& > > this%nrank,this%tag,this%comm_xvw,this%request,ierr) > > You are calling MPI_Irecv with "size" as the "COUNT" dummy parameter for > MPI_IRECV. According to the MPI spec, this parameter must be a plain > INTEGER. > > This is why the compiler is erring: Fortran will not automatically cast an > INTEGER(kind=C_LONG) to INTEGER, and therefore it cannot find a matching > interface for MPI_IRECV in Open MPI's "mpi" module. > > This is valid and correct behavior for the compiler and Open MPI. > > The other MPI's may compile if they are not doing strict type checking in > their "mpi" module -- but depending on the characteristics of the parameter > mismatch, you may experience run-time problems. Open MPI's "mpi" module > does strict compile-time type checking, meaning that what happened is > exactly what is supposed to happen: you got a compiler error because you > tried to pass a parameter of the wrong type. That's actually a good thing! > > (Note: I didn't check the other param types; I just stopped when I saw > that "size" was the wrong type -- you should check the other param types, > too) > > -- > Jeff Squyres > jsquy...@cisco.com > > > > >
_______________________________________________ users mailing list users@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/users