[mvapich-discuss] Fatal error in MPI_Allreduce
Christian Guggenberger
christian.guggenberger at rzg.mpg.de
Thu Nov 29 10:36:20 EST 2007
Hi,
attach is a small piece of Fortran code, which crashes with
Fatal error in MPI_Allreduce: Invalid MPI_Op, error stack:
MPI_Allreduce(707)..........: MPI_Allreduce(sbuf=0x610be0,
rbuf=0x610c40, count=5, MPI_2DOUBLE_PRECISION, MPI_MINLOC,
MPI_COMM_WORLD) failed
MPIR_MINLOC_check_dtype(215): MPI_Op MPI_MINLOC operation not defined
for this datatype
as soon as it is compiled/linked with a MPI library (both mpich2 and mvapich2),
which was compiled with Intel C/C++ 10.0.026 and/or 10.1.008 on Linux
x86_64 machines.
Intel 9.1, GNU or mixtures of GNU C/C++ and Lahey/Fujitsu Fortran work
well.
My question - is anyone aware of miscompilation(s) of mpich2/mvapich2 caused by Intel C/C++
10.0 and 10.1 ?
thanks a lot,
- Christian
-------------- next part --------------
program ringtopo
include 'mpif.h'
integer :: numtasks, rank, ierr
integer, parameter :: n = 5
integer :: i
real*8 :: dtL(2,n), dtG(2,n)
call MPI_INIT(ierr)
call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr)
call MPI_COMM_SIZE(MPI_COMM_WORLD, numtasks, ierr)
do i=1,n
dtL(1,i) = sin(13.*rank+i)
dtL(2,i) = rank
end do
write(*,*)"----------------",rank
do i=1,n
write(*,'(a,i3,a,i3,a,2g12.5)')"- PE",rank,"/",numtasks," : ",dtL(1:2,i)
end do
call MPI_AllReduce (dtL(1,1), dtG(1,1), n, MPI_2Double_Precision, MPI_MinLoc, MPI_Comm_World, ierr)
write(*,*)"################",rank
do i=1,n
write(*,'(a,i3,a,i3,a,2g12.5)')"+ PE",rank,"/",numtasks," : ",dtG(1:2,i)
end do
call MPI_FINALIZE(ierr)
end
More information about the mvapich-discuss
mailing list