Tom Rosmond
2017-03-22 20:55:45 UTC
Hello;
I am converting some fortran 90/95 programs from the 'mpif.h' include
file to the 'mpi_f08' model and have encountered a problem. Here is a
simple test program that demonstrates it:
__________________________________________________________________________-
program testf08
!
use mpi_f08 !! F008
implicit none
type(mpi_comm) :: mpicomm ! F08
! type(mpi_xxx) :: mpiint ! F08
integer :: mpiint
integer myrank,nproc,ierr
mpicomm= mpi_comm_world
mpiint= mpi_integer
call MPI_Init(ierr)
call MPI_Comm_rank(mpicomm,myrank,ierr)
call MPI_Comm_size(mpicomm,nproc,ierr)
!
call mpi_finalize(ierr)
end
___________________________________________________________________________
Compilation fails with this error:
testf08.f90(13): error #6303: The assignment operation or the binary
expression operation is invalid for the data types of the two
operands. [MPI_INTEGER]
mpiint= mpi_integer
Clearly I need something like the commented line with the 'xxx' string
as an analog to the typing of 'mpicomm' above it. So, what is needed in
place of 'xxx'? The naive choice 'type(mpi_integer)' isn't correct.
I am using OPENMPI 2.0.1 with Intel IFORT 12.0.3.174.
T. Rosmond
I am converting some fortran 90/95 programs from the 'mpif.h' include
file to the 'mpi_f08' model and have encountered a problem. Here is a
simple test program that demonstrates it:
__________________________________________________________________________-
program testf08
!
use mpi_f08 !! F008
implicit none
type(mpi_comm) :: mpicomm ! F08
! type(mpi_xxx) :: mpiint ! F08
integer :: mpiint
integer myrank,nproc,ierr
mpicomm= mpi_comm_world
mpiint= mpi_integer
call MPI_Init(ierr)
call MPI_Comm_rank(mpicomm,myrank,ierr)
call MPI_Comm_size(mpicomm,nproc,ierr)
!
call mpi_finalize(ierr)
end
___________________________________________________________________________
Compilation fails with this error:
testf08.f90(13): error #6303: The assignment operation or the binary
expression operation is invalid for the data types of the two
operands. [MPI_INTEGER]
mpiint= mpi_integer
Clearly I need something like the commented line with the 'xxx' string
as an analog to the typing of 'mpicomm' above it. So, what is needed in
place of 'xxx'? The naive choice 'type(mpi_integer)' isn't correct.
I am using OPENMPI 2.0.1 with Intel IFORT 12.0.3.174.
T. Rosmond