Re: [OMPI users] Error with OpenMPI: Could not resolve generic procedure mpi_irecv

2019-08-21 Thread Sangam B via users
Thanks Jeff for the resolution.

On Mon, Aug 19, 2019 at 7:45 PM Jeff Squyres (jsquyres) 
wrote:

> On Aug 19, 2019, at 6:15 AM, Sangam B via users 
> 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

Re: [OMPI users] Error with OpenMPI: Could not resolve generic procedure mpi_irecv

2019-08-19 Thread Jeff Squyres (jsquyres) via users
On Aug 19, 2019, at 6:15 AM, Sangam B via users  
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


Re: [OMPI users] Error with OpenMPI: Could not resolve generic procedure mpi_irecv

2019-08-19 Thread Sangam B via users
Hi,

Evan after recompiling OpenMPI with -fdefault-real-8, it fails with same
error.

It seems to me that, it's an issue with OpenMPI itself, because:

Intel MPI + gnu compiler --- works
Intel MPI + intel compiler --- works
Open MPI + gnu compiler ---  fails
Open MPI + AOCC compiler ---  fails

Will send the minimal program shortly

On Mon, Aug 19, 2019 at 4:01 PM Gilles Gouaillardet via users <
users@lists.open-mpi.org> wrote:

> Thanks, but this is not really helping.
>
> Could you please build a Minimal, Reproducible Example as described at
> https://stackoverflow.com/help/minimal-reproducible-example ?
>
> Cheers,
>
> Gilles
>
> On Mon, Aug 19, 2019 at 7:19 PM Sangam B via users
>  wrote:
> >
> > Hi,
> >
> > Here is the sample program snippet:
> >
> > 
> > #include "intrinsic_sizes.h"
> > #include "redef.h"
> >
> > module module1_m
> >
> >   use mod1_m, only:  some__example2
> >   use mod2_m, only:  some__example3
> >   use mod3_m, only:  some__example4
> >
> >   use mpi
> >   use, intrinsic :: iso_c_binding
> >
> > implicit none
> >
> >   private
> >
> >   public :: some__example___memory
> >
> >   type, public, extends(some__example5) :: some__example6
> >  logical, public :: some__example7 = .False.
> >  class(some__example8), private, pointer :: some__example9
> >contains
> >
> > ...
> > ...
> > end type some__example6
> >
> > contains
> > 
> > some_pure_functions here
> > 
> >
> >
> > subroutine recv(this,lmb)
> > class(some__example6), intent(inout) ::  this
> > integer, intent(in) :: lmb(2,2)
> >
> > integer :: cs3, ierr
> > integer(kind=C_LONG) :: size
> >
> > ! 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)
> > end if
> >   end subroutine recv
> >
> >
> > Hope this helps.
> >
> > On Mon, Aug 19, 2019 at 3:21 PM Gilles Gouaillardet via users <
> users@lists.open-mpi.org> wrote:
> >>
> >> Thanks,
> >>
> >> and your reproducer is ?
> >>
> >> Cheers,
> >>
> >> Gilles
> >>
> >> On Mon, Aug 19, 2019 at 6:42 PM Sangam B via users
> >>  wrote:
> >> >
> >> > Hi,
> >> >
> >> > OpenMPI is configured as follows:
> >> >
> >> > export CC=`which clang`
> >> > export CXX=`which clang++`
> >> > export FC=`which flang`
> >> > export F90=`which flang`
> >> >
> >> > ../configure --prefix=/sw/openmpi/3.1.1/aocc20hpcx210-mpifort
> --enable-mpi-fortran --enable-mpi-cxx --without-psm --without-psm2
> --without-knem --without-libfabric --without-lsf --with-verbs=/usr
> --with-mxm=/sw/hpcx/hpcx-v2.1.0-gcc-MLNX_OFED_LINUX-4.3-1.0.1.0-redhat7.4-x86_64/mxm
> >> >
> >> >
> >> > ..
> >> >
> >> > On Mon, Aug 19, 2019 at 2:43 PM Sangam B  wrote:
> >> >>
> >> >> Hi,
> >> >>
> >> >> I get following error if the application is compiled with
> openmpi-3.1.1:
> >> >>
> >> >> mpifort -O3 -march=native -funroll-loops -finline-aggressive -flto
> -J./bin/obj_amd64aocc20 -std=f2008 -O3 -march=native -funroll-loops
> -finline-aggressive -flto -fallow-fortran-gnu-ext -ffree-form
> -fdefault-real-8 example_program.F90
> >> >> F90-S-0155-Could not resolve generic procedure mpi_irecv (
> example_program.F90  : 97)
> >> >>   0 inform,   0 warnings,   1 severes, 0 fatal for recv
> >> >>
> >> >> Following is the line causing this error:
> >> >>
> >> >> call MPI_Irecv(this%bf(:,:,1:cs3),size,MPI_COMPLEX_TYPE,&
> >> >> this%nrank,this%tag,this%comm_xvw,this%request,ierr)
> >> >>
> >> >> The program has following module mentioned in the beginning:
> >> >>  use mpi
> >> >>
> >> >> The openmpi has following module files in lib folder:
> >> >> $ ls *.mod
> >> >> mpi_ext.modmpi_f08_ext.mod
>  mpi_f08_interfaces.mod  mpi_f08_types.mod  pmpi_f08_interfaces.mod
> >> >> mpi_f08_callbacks.mod  mpi_f08_interfaces_callbacks.mod
> mpi_f08.mod mpi.mod
> >> >>
> >> >> The same program works with Intel MPI (gcc/intel as base compilers).
> >> >> But fails with OpenMPI, whether gcc-8.1.0 or AOCC are used as base
> compilers. What could be the reason for it?
> >> >>
> >> >> ..
> >> >
> >> > ___
> >> > users mailing list
> >> > users@lists.open-mpi.org
> >> > https://lists.open-mpi.org/mailman/listinfo/users
> >> ___
> >> users mailing list
> >> users@lists.open-mpi.org
> >> https://lists.open-mpi.org/mailman/listinfo/users
> >
> > ___
> > users mailing list
> > users@lists.open-mpi.org
> > https://lists.open-mpi.org/mailman/listinfo/users
> 

Re: [OMPI users] Error with OpenMPI: Could not resolve generic procedure mpi_irecv

2019-08-19 Thread Gilles Gouaillardet via users
Thanks, but this is not really helping.

Could you please build a Minimal, Reproducible Example as described at
https://stackoverflow.com/help/minimal-reproducible-example ?

Cheers,

Gilles

On Mon, Aug 19, 2019 at 7:19 PM Sangam B via users
 wrote:
>
> Hi,
>
> Here is the sample program snippet:
>
> 
> #include "intrinsic_sizes.h"
> #include "redef.h"
>
> module module1_m
>
>   use mod1_m, only:  some__example2
>   use mod2_m, only:  some__example3
>   use mod3_m, only:  some__example4
>
>   use mpi
>   use, intrinsic :: iso_c_binding
>
> implicit none
>
>   private
>
>   public :: some__example___memory
>
>   type, public, extends(some__example5) :: some__example6
>  logical, public :: some__example7 = .False.
>  class(some__example8), private, pointer :: some__example9
>contains
>
> ...
> ...
> end type some__example6
>
> contains
> 
> some_pure_functions here
> 
>
>
> subroutine recv(this,lmb)
> class(some__example6), intent(inout) ::  this
> integer, intent(in) :: lmb(2,2)
>
> integer :: cs3, ierr
> integer(kind=C_LONG) :: size
>
> ! 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)
> end if
>   end subroutine recv
>
>
> Hope this helps.
>
> On Mon, Aug 19, 2019 at 3:21 PM Gilles Gouaillardet via users 
>  wrote:
>>
>> Thanks,
>>
>> and your reproducer is ?
>>
>> Cheers,
>>
>> Gilles
>>
>> On Mon, Aug 19, 2019 at 6:42 PM Sangam B via users
>>  wrote:
>> >
>> > Hi,
>> >
>> > OpenMPI is configured as follows:
>> >
>> > export CC=`which clang`
>> > export CXX=`which clang++`
>> > export FC=`which flang`
>> > export F90=`which flang`
>> >
>> > ../configure --prefix=/sw/openmpi/3.1.1/aocc20hpcx210-mpifort 
>> > --enable-mpi-fortran --enable-mpi-cxx --without-psm --without-psm2 
>> > --without-knem --without-libfabric --without-lsf --with-verbs=/usr 
>> > --with-mxm=/sw/hpcx/hpcx-v2.1.0-gcc-MLNX_OFED_LINUX-4.3-1.0.1.0-redhat7.4-x86_64/mxm
>> >
>> >
>> > ..
>> >
>> > On Mon, Aug 19, 2019 at 2:43 PM Sangam B  wrote:
>> >>
>> >> Hi,
>> >>
>> >> I get following error if the application is compiled with openmpi-3.1.1:
>> >>
>> >> mpifort -O3 -march=native -funroll-loops -finline-aggressive -flto 
>> >> -J./bin/obj_amd64aocc20 -std=f2008 -O3 -march=native -funroll-loops 
>> >> -finline-aggressive -flto -fallow-fortran-gnu-ext -ffree-form 
>> >> -fdefault-real-8 example_program.F90
>> >> F90-S-0155-Could not resolve generic procedure mpi_irecv ( 
>> >> example_program.F90  : 97)
>> >>   0 inform,   0 warnings,   1 severes, 0 fatal for recv
>> >>
>> >> Following is the line causing this error:
>> >>
>> >> call MPI_Irecv(this%bf(:,:,1:cs3),size,MPI_COMPLEX_TYPE,&
>> >> this%nrank,this%tag,this%comm_xvw,this%request,ierr)
>> >>
>> >> The program has following module mentioned in the beginning:
>> >>  use mpi
>> >>
>> >> The openmpi has following module files in lib folder:
>> >> $ ls *.mod
>> >> mpi_ext.modmpi_f08_ext.mod   
>> >> mpi_f08_interfaces.mod  mpi_f08_types.mod  pmpi_f08_interfaces.mod
>> >> mpi_f08_callbacks.mod  mpi_f08_interfaces_callbacks.mod  mpi_f08.mod  
>> >>mpi.mod
>> >>
>> >> The same program works with Intel MPI (gcc/intel as base compilers).
>> >> But fails with OpenMPI, whether gcc-8.1.0 or AOCC are used as base 
>> >> compilers. What could be the reason for it?
>> >>
>> >> ..
>> >
>> > ___
>> > users mailing list
>> > users@lists.open-mpi.org
>> > https://lists.open-mpi.org/mailman/listinfo/users
>> ___
>> users mailing list
>> users@lists.open-mpi.org
>> https://lists.open-mpi.org/mailman/listinfo/users
>
> ___
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users
___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users


Re: [OMPI users] Error with OpenMPI: Could not resolve generic procedure mpi_irecv

2019-08-19 Thread Sangam B via users
Hi,

Here is the sample program snippet:


#include "intrinsic_sizes.h"
#include "redef.h"

module module1_m

  use mod1_m, only:  some__example2
  use mod2_m, only:  some__example3
  use mod3_m, only:  some__example4

  use mpi
  use, intrinsic :: iso_c_binding

implicit none

  private

  public :: some__example___memory

  type, public, extends(some__example5) :: some__example6
 logical, public :: some__example7 = .False.
 class(some__example8), private, pointer :: some__example9
   contains

...
...
end type some__example6

contains

some_pure_functions here



subroutine recv(this,lmb)
class(some__example6), intent(inout) ::  this
integer, intent(in) :: lmb(2,2)

integer :: cs3, ierr
integer(kind=C_LONG) :: size

! 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)
end if
  end subroutine recv


Hope this helps.

On Mon, Aug 19, 2019 at 3:21 PM Gilles Gouaillardet via users <
users@lists.open-mpi.org> wrote:

> Thanks,
>
> and your reproducer is ?
>
> Cheers,
>
> Gilles
>
> On Mon, Aug 19, 2019 at 6:42 PM Sangam B via users
>  wrote:
> >
> > Hi,
> >
> > OpenMPI is configured as follows:
> >
> > export CC=`which clang`
> > export CXX=`which clang++`
> > export FC=`which flang`
> > export F90=`which flang`
> >
> > ../configure --prefix=/sw/openmpi/3.1.1/aocc20hpcx210-mpifort
> --enable-mpi-fortran --enable-mpi-cxx --without-psm --without-psm2
> --without-knem --without-libfabric --without-lsf --with-verbs=/usr
> --with-mxm=/sw/hpcx/hpcx-v2.1.0-gcc-MLNX_OFED_LINUX-4.3-1.0.1.0-redhat7.4-x86_64/mxm
> >
> >
> > ..
> >
> > On Mon, Aug 19, 2019 at 2:43 PM Sangam B  wrote:
> >>
> >> Hi,
> >>
> >> I get following error if the application is compiled with openmpi-3.1.1:
> >>
> >> mpifort -O3 -march=native -funroll-loops -finline-aggressive -flto
> -J./bin/obj_amd64aocc20 -std=f2008 -O3 -march=native -funroll-loops
> -finline-aggressive -flto -fallow-fortran-gnu-ext -ffree-form
> -fdefault-real-8 example_program.F90
> >> F90-S-0155-Could not resolve generic procedure mpi_irecv (
> example_program.F90  : 97)
> >>   0 inform,   0 warnings,   1 severes, 0 fatal for recv
> >>
> >> Following is the line causing this error:
> >>
> >> call MPI_Irecv(this%bf(:,:,1:cs3),size,MPI_COMPLEX_TYPE,&
> >> this%nrank,this%tag,this%comm_xvw,this%request,ierr)
> >>
> >> The program has following module mentioned in the beginning:
> >>  use mpi
> >>
> >> The openmpi has following module files in lib folder:
> >> $ ls *.mod
> >> mpi_ext.modmpi_f08_ext.mod
>  mpi_f08_interfaces.mod  mpi_f08_types.mod  pmpi_f08_interfaces.mod
> >> mpi_f08_callbacks.mod  mpi_f08_interfaces_callbacks.mod  mpi_f08.mod
>  mpi.mod
> >>
> >> The same program works with Intel MPI (gcc/intel as base compilers).
> >> But fails with OpenMPI, whether gcc-8.1.0 or AOCC are used as base
> compilers. What could be the reason for it?
> >>
> >> ..
> >
> > ___
> > users mailing list
> > users@lists.open-mpi.org
> > https://lists.open-mpi.org/mailman/listinfo/users
> ___
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users
>
___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Re: [OMPI users] Error with OpenMPI: Could not resolve generic procedure mpi_irecv

2019-08-19 Thread Gilles Gouaillardet via users
I am not questioning whether you are facing an issue with Open MPI or not.
I am just asking for "the same application" (read minimal source code)
so I can reproduce the issue, investigate it and hopefully help you.

Meanwhile, try rebuilding Open MPI with '-fdefault-real-8' in your
FCFLAGS (since this is what you are using to build your app) and see
whether it helps.

Cheers,

Gilles

Cheers,

Gilles

On Mon, Aug 19, 2019 at 7:06 PM Sangam B via users
 wrote:
>
> Hi,
>
> I've tried both gcc-8.1.0 and AOCC-2.0 compilers with openmpi-3.1.1. It fails 
> for both the compilers.
>
> Posted error message was from OpenMPI-3.1.1 + AOCC-2.0 compiler.
>
> To cross-check whether it is problem with OpenMPI or the base compiler, 
> compiled the same application with Intel MPI using base compiler as (1) intel 
> & (2) gcc. It works for both case.
>
> --
>
>
> On Mon, Aug 19, 2019 at 3:25 PM Gilles Gouaillardet via users 
>  wrote:
>>
>> One more thing ...
>>
>> Your initial message mentioned a failure with gcc 8.2.0, but your
>> follow-up message mentions LLVM compiler.
>>
>> So which compiler did you use to build Open MPI that fails to build your 
>> test ?
>>
>>
>> Cheers,
>>
>> Gilles
>>
>> On Mon, Aug 19, 2019 at 6:49 PM Gilles Gouaillardet
>>  wrote:
>> >
>> > Thanks,
>> >
>> > and your reproducer is ?
>> >
>> > Cheers,
>> >
>> > Gilles
>> >
>> > On Mon, Aug 19, 2019 at 6:42 PM Sangam B via users
>> >  wrote:
>> > >
>> > > Hi,
>> > >
>> > > OpenMPI is configured as follows:
>> > >
>> > > export CC=`which clang`
>> > > export CXX=`which clang++`
>> > > export FC=`which flang`
>> > > export F90=`which flang`
>> > >
>> > > ../configure --prefix=/sw/openmpi/3.1.1/aocc20hpcx210-mpifort 
>> > > --enable-mpi-fortran --enable-mpi-cxx --without-psm --without-psm2 
>> > > --without-knem --without-libfabric --without-lsf --with-verbs=/usr 
>> > > --with-mxm=/sw/hpcx/hpcx-v2.1.0-gcc-MLNX_OFED_LINUX-4.3-1.0.1.0-redhat7.4-x86_64/mxm
>> > >
>> > >
>> > > ..
>> > >
>> > > On Mon, Aug 19, 2019 at 2:43 PM Sangam B  wrote:
>> > >>
>> > >> Hi,
>> > >>
>> > >> I get following error if the application is compiled with openmpi-3.1.1:
>> > >>
>> > >> mpifort -O3 -march=native -funroll-loops -finline-aggressive -flto 
>> > >> -J./bin/obj_amd64aocc20 -std=f2008 -O3 -march=native -funroll-loops 
>> > >> -finline-aggressive -flto -fallow-fortran-gnu-ext -ffree-form 
>> > >> -fdefault-real-8 example_program.F90
>> > >> F90-S-0155-Could not resolve generic procedure mpi_irecv ( 
>> > >> example_program.F90  : 97)
>> > >>   0 inform,   0 warnings,   1 severes, 0 fatal for recv
>> > >>
>> > >> Following is the line causing this error:
>> > >>
>> > >> call MPI_Irecv(this%bf(:,:,1:cs3),size,MPI_COMPLEX_TYPE,&
>> > >> this%nrank,this%tag,this%comm_xvw,this%request,ierr)
>> > >>
>> > >> The program has following module mentioned in the beginning:
>> > >>  use mpi
>> > >>
>> > >> The openmpi has following module files in lib folder:
>> > >> $ ls *.mod
>> > >> mpi_ext.modmpi_f08_ext.mod   
>> > >> mpi_f08_interfaces.mod  mpi_f08_types.mod  pmpi_f08_interfaces.mod
>> > >> mpi_f08_callbacks.mod  mpi_f08_interfaces_callbacks.mod  mpi_f08.mod
>> > >>  mpi.mod
>> > >>
>> > >> The same program works with Intel MPI (gcc/intel as base compilers).
>> > >> But fails with OpenMPI, whether gcc-8.1.0 or AOCC are used as base 
>> > >> compilers. What could be the reason for it?
>> > >>
>> > >> ..
>> > >
>> > > ___
>> > > users mailing list
>> > > users@lists.open-mpi.org
>> > > https://lists.open-mpi.org/mailman/listinfo/users
>> ___
>> users mailing list
>> users@lists.open-mpi.org
>> https://lists.open-mpi.org/mailman/listinfo/users
>
> ___
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users
___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users


Re: [OMPI users] Error with OpenMPI: Could not resolve generic procedure mpi_irecv

2019-08-19 Thread Sangam B via users
Hi,

I've tried both gcc-8.1.0 and AOCC-2.0 compilers with openmpi-3.1.1. It
fails for both the compilers.

Posted error message was from OpenMPI-3.1.1 + AOCC-2.0 compiler.

To cross-check whether it is problem with OpenMPI or the base compiler,
compiled the same application with Intel MPI using base compiler as (1)
intel & (2) gcc. It works for both case.

--


On Mon, Aug 19, 2019 at 3:25 PM Gilles Gouaillardet via users <
users@lists.open-mpi.org> wrote:

> One more thing ...
>
> Your initial message mentioned a failure with gcc 8.2.0, but your
> follow-up message mentions LLVM compiler.
>
> So which compiler did you use to build Open MPI that fails to build your
> test ?
>
>
> Cheers,
>
> Gilles
>
> On Mon, Aug 19, 2019 at 6:49 PM Gilles Gouaillardet
>  wrote:
> >
> > Thanks,
> >
> > and your reproducer is ?
> >
> > Cheers,
> >
> > Gilles
> >
> > On Mon, Aug 19, 2019 at 6:42 PM Sangam B via users
> >  wrote:
> > >
> > > Hi,
> > >
> > > OpenMPI is configured as follows:
> > >
> > > export CC=`which clang`
> > > export CXX=`which clang++`
> > > export FC=`which flang`
> > > export F90=`which flang`
> > >
> > > ../configure --prefix=/sw/openmpi/3.1.1/aocc20hpcx210-mpifort
> --enable-mpi-fortran --enable-mpi-cxx --without-psm --without-psm2
> --without-knem --without-libfabric --without-lsf --with-verbs=/usr
> --with-mxm=/sw/hpcx/hpcx-v2.1.0-gcc-MLNX_OFED_LINUX-4.3-1.0.1.0-redhat7.4-x86_64/mxm
> > >
> > >
> > > ..
> > >
> > > On Mon, Aug 19, 2019 at 2:43 PM Sangam B  wrote:
> > >>
> > >> Hi,
> > >>
> > >> I get following error if the application is compiled with
> openmpi-3.1.1:
> > >>
> > >> mpifort -O3 -march=native -funroll-loops -finline-aggressive -flto
> -J./bin/obj_amd64aocc20 -std=f2008 -O3 -march=native -funroll-loops
> -finline-aggressive -flto -fallow-fortran-gnu-ext -ffree-form
> -fdefault-real-8 example_program.F90
> > >> F90-S-0155-Could not resolve generic procedure mpi_irecv (
> example_program.F90  : 97)
> > >>   0 inform,   0 warnings,   1 severes, 0 fatal for recv
> > >>
> > >> Following is the line causing this error:
> > >>
> > >> call MPI_Irecv(this%bf(:,:,1:cs3),size,MPI_COMPLEX_TYPE,&
> > >> this%nrank,this%tag,this%comm_xvw,this%request,ierr)
> > >>
> > >> The program has following module mentioned in the beginning:
> > >>  use mpi
> > >>
> > >> The openmpi has following module files in lib folder:
> > >> $ ls *.mod
> > >> mpi_ext.modmpi_f08_ext.mod
>  mpi_f08_interfaces.mod  mpi_f08_types.mod  pmpi_f08_interfaces.mod
> > >> mpi_f08_callbacks.mod  mpi_f08_interfaces_callbacks.mod  mpi_f08.mod
>mpi.mod
> > >>
> > >> The same program works with Intel MPI (gcc/intel as base compilers).
> > >> But fails with OpenMPI, whether gcc-8.1.0 or AOCC are used as base
> compilers. What could be the reason for it?
> > >>
> > >> ..
> > >
> > > ___
> > > users mailing list
> > > users@lists.open-mpi.org
> > > https://lists.open-mpi.org/mailman/listinfo/users
> ___
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users
>
___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Re: [OMPI users] Error with OpenMPI: Could not resolve generic procedure mpi_irecv

2019-08-19 Thread Gilles Gouaillardet via users
One more thing ...

Your initial message mentioned a failure with gcc 8.2.0, but your
follow-up message mentions LLVM compiler.

So which compiler did you use to build Open MPI that fails to build your test ?


Cheers,

Gilles

On Mon, Aug 19, 2019 at 6:49 PM Gilles Gouaillardet
 wrote:
>
> Thanks,
>
> and your reproducer is ?
>
> Cheers,
>
> Gilles
>
> On Mon, Aug 19, 2019 at 6:42 PM Sangam B via users
>  wrote:
> >
> > Hi,
> >
> > OpenMPI is configured as follows:
> >
> > export CC=`which clang`
> > export CXX=`which clang++`
> > export FC=`which flang`
> > export F90=`which flang`
> >
> > ../configure --prefix=/sw/openmpi/3.1.1/aocc20hpcx210-mpifort 
> > --enable-mpi-fortran --enable-mpi-cxx --without-psm --without-psm2 
> > --without-knem --without-libfabric --without-lsf --with-verbs=/usr 
> > --with-mxm=/sw/hpcx/hpcx-v2.1.0-gcc-MLNX_OFED_LINUX-4.3-1.0.1.0-redhat7.4-x86_64/mxm
> >
> >
> > ..
> >
> > On Mon, Aug 19, 2019 at 2:43 PM Sangam B  wrote:
> >>
> >> Hi,
> >>
> >> I get following error if the application is compiled with openmpi-3.1.1:
> >>
> >> mpifort -O3 -march=native -funroll-loops -finline-aggressive -flto 
> >> -J./bin/obj_amd64aocc20 -std=f2008 -O3 -march=native -funroll-loops 
> >> -finline-aggressive -flto -fallow-fortran-gnu-ext -ffree-form 
> >> -fdefault-real-8 example_program.F90
> >> F90-S-0155-Could not resolve generic procedure mpi_irecv ( 
> >> example_program.F90  : 97)
> >>   0 inform,   0 warnings,   1 severes, 0 fatal for recv
> >>
> >> Following is the line causing this error:
> >>
> >> call MPI_Irecv(this%bf(:,:,1:cs3),size,MPI_COMPLEX_TYPE,&
> >> this%nrank,this%tag,this%comm_xvw,this%request,ierr)
> >>
> >> The program has following module mentioned in the beginning:
> >>  use mpi
> >>
> >> The openmpi has following module files in lib folder:
> >> $ ls *.mod
> >> mpi_ext.modmpi_f08_ext.mod   
> >> mpi_f08_interfaces.mod  mpi_f08_types.mod  pmpi_f08_interfaces.mod
> >> mpi_f08_callbacks.mod  mpi_f08_interfaces_callbacks.mod  mpi_f08.mod   
> >>   mpi.mod
> >>
> >> The same program works with Intel MPI (gcc/intel as base compilers).
> >> But fails with OpenMPI, whether gcc-8.1.0 or AOCC are used as base 
> >> compilers. What could be the reason for it?
> >>
> >> ..
> >
> > ___
> > users mailing list
> > users@lists.open-mpi.org
> > https://lists.open-mpi.org/mailman/listinfo/users
___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users


Re: [OMPI users] Error with OpenMPI: Could not resolve generic procedure mpi_irecv

2019-08-19 Thread Gilles Gouaillardet via users
Thanks,

and your reproducer is ?

Cheers,

Gilles

On Mon, Aug 19, 2019 at 6:42 PM Sangam B via users
 wrote:
>
> Hi,
>
> OpenMPI is configured as follows:
>
> export CC=`which clang`
> export CXX=`which clang++`
> export FC=`which flang`
> export F90=`which flang`
>
> ../configure --prefix=/sw/openmpi/3.1.1/aocc20hpcx210-mpifort 
> --enable-mpi-fortran --enable-mpi-cxx --without-psm --without-psm2 
> --without-knem --without-libfabric --without-lsf --with-verbs=/usr 
> --with-mxm=/sw/hpcx/hpcx-v2.1.0-gcc-MLNX_OFED_LINUX-4.3-1.0.1.0-redhat7.4-x86_64/mxm
>
>
> ..
>
> On Mon, Aug 19, 2019 at 2:43 PM Sangam B  wrote:
>>
>> Hi,
>>
>> I get following error if the application is compiled with openmpi-3.1.1:
>>
>> mpifort -O3 -march=native -funroll-loops -finline-aggressive -flto 
>> -J./bin/obj_amd64aocc20 -std=f2008 -O3 -march=native -funroll-loops 
>> -finline-aggressive -flto -fallow-fortran-gnu-ext -ffree-form 
>> -fdefault-real-8 example_program.F90
>> F90-S-0155-Could not resolve generic procedure mpi_irecv ( 
>> example_program.F90  : 97)
>>   0 inform,   0 warnings,   1 severes, 0 fatal for recv
>>
>> Following is the line causing this error:
>>
>> call MPI_Irecv(this%bf(:,:,1:cs3),size,MPI_COMPLEX_TYPE,&
>> this%nrank,this%tag,this%comm_xvw,this%request,ierr)
>>
>> The program has following module mentioned in the beginning:
>>  use mpi
>>
>> The openmpi has following module files in lib folder:
>> $ ls *.mod
>> mpi_ext.modmpi_f08_ext.mod   
>> mpi_f08_interfaces.mod  mpi_f08_types.mod  pmpi_f08_interfaces.mod
>> mpi_f08_callbacks.mod  mpi_f08_interfaces_callbacks.mod  mpi_f08.mod 
>> mpi.mod
>>
>> The same program works with Intel MPI (gcc/intel as base compilers).
>> But fails with OpenMPI, whether gcc-8.1.0 or AOCC are used as base 
>> compilers. What could be the reason for it?
>>
>> ..
>
> ___
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users
___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users


Re: [OMPI users] Error with OpenMPI: Could not resolve generic procedure mpi_irecv

2019-08-19 Thread Sangam B via users
Hi,

OpenMPI is configured as follows:

export CC=`which clang`
export CXX=`which clang++`
export FC=`which flang`
export F90=`which flang`

../configure --prefix=/sw/openmpi/3.1.1/aocc20hpcx210-mpifort
--enable-mpi-fortran --enable-mpi-cxx --without-psm --without-psm2
--without-knem --without-libfabric --without-lsf --with-verbs=/usr
--with-mxm=/sw/hpcx/hpcx-v2.1.0-gcc-MLNX_OFED_LINUX-4.3-1.0.1.0-redhat7.4-x86_64/mxm


..

On Mon, Aug 19, 2019 at 2:43 PM Sangam B  wrote:

> Hi,
>
> I get following error if the application is compiled with openmpi-3.1.1:
>
> mpifort -O3 -march=native -funroll-loops -finline-aggressive -flto
> -J./bin/obj_amd64aocc20 -std=f2008 -O3 -march=native -funroll-loops
> -finline-aggressive -flto -fallow-fortran-gnu-ext -ffree-form
> -fdefault-real-8 example_program.F90
> F90-S-0155-Could not resolve generic procedure mpi_irecv (
> example_program.F90  : 97)
>   0 inform,   0 warnings,   1 severes, 0 fatal for recv
>
> Following is the line causing this error:
>
> call MPI_Irecv(this%bf(:,:,1:cs3),size,MPI_COMPLEX_TYPE,&
> this%nrank,this%tag,this%comm_xvw,this%request,ierr)
>
> The program has following module mentioned in the beginning:
>  use mpi
>
> The openmpi has following module files in lib folder:
> $ ls *.mod
> mpi_ext.modmpi_f08_ext.mod
> mpi_f08_interfaces.mod  mpi_f08_types.mod  pmpi_f08_interfaces.mod
> mpi_f08_callbacks.mod  mpi_f08_interfaces_callbacks.mod  mpi_f08.mod
>   mpi.mod
>
> The same program works with Intel MPI (gcc/intel as base compilers).
> But fails with OpenMPI, whether gcc-8.1.0 or AOCC are used as base
> compilers. What could be the reason for it?
>
> ..
>
___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Re: [OMPI users] Error with OpenMPI: Could not resolve generic procedure mpi_irecv

2019-08-19 Thread Gilles Gouaillardet via users
Hi,

Can you please post a full but minimal example that evidences the issue?

Also please post your Open MPI configure command line.

Cheers,


Gilles 

Sent from my iPod

> On Aug 19, 2019, at 18:13, Sangam B via users  
> wrote:
> 
> Hi,
> 
> I get following error if the application is compiled with openmpi-3.1.1:
> 
> mpifort -O3 -march=native -funroll-loops -finline-aggressive -flto 
> -J./bin/obj_amd64aocc20 -std=f2008 -O3 -march=native -funroll-loops 
> -finline-aggressive -flto -fallow-fortran-gnu-ext -ffree-form 
> -fdefault-real-8 example_program.F90
> F90-S-0155-Could not resolve generic procedure mpi_irecv ( 
> example_program.F90  : 97)
>   0 inform,   0 warnings,   1 severes, 0 fatal for recv
> 
> Following is the line causing this error:
> 
> call MPI_Irecv(this%bf(:,:,1:cs3),size,MPI_COMPLEX_TYPE,&
> this%nrank,this%tag,this%comm_xvw,this%request,ierr)
> 
> The program has following module mentioned in the beginning:
>  use mpi
> 
> The openmpi has following module files in lib folder:
> $ ls *.mod
> mpi_ext.modmpi_f08_ext.mod   
> mpi_f08_interfaces.mod  mpi_f08_types.mod  pmpi_f08_interfaces.mod
> mpi_f08_callbacks.mod  mpi_f08_interfaces_callbacks.mod  mpi_f08.mod  
>mpi.mod
> 
> The same program works with Intel MPI (gcc/intel as base compilers).
> But fails with OpenMPI, whether gcc-8.1.0 or AOCC are used as base compilers. 
> What could be the reason for it?
> 
> ..
> ___
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users
___
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users