I am running the following test code on intel mpi 5.1.2 and compilng with ifort 16.0.1
program testreduce use mpi_f08 implicit none integer :: ierr,id, nnodes real(kind(1.d0)),allocatable :: a(:),b(:) call mpi_init(ierr) call MPI_COMM_RANK( MPI_COMM_WORLD, id, iErr ) call MPI_COMM_SIZE( MPI_COMM_WORLD, nnodes, iErr ) allocate(a(nnodes*10),b(nnodes*10)) a=7 b=8 call mpi_reduce(a,b,size(a),MPI_DOUBLE_PRECISION,MPI_SUM,0,MPI_COMM_WORLD,ierr) if (id==0) print *, b(3) call mpi_finalize(ierr) end program
Running it across two nodes with 16 cores each results in, Fatal error in PMPI_Reduce: Invalid MPI_Op, error stack: PMPI_Reduce(2064).......: MPI_Reduce(sbuf=0x7fde50, rbuf=0x7fe860, count=1, dtype=USER, MPI_SUM, root=0, MPI_COMM_WORLD) failed MPIR_SUM_check_dtype(97): MPI_Op MPI_SUM operation not defined for this datatype I am at loss about what is going on.