Hello, When I compile and run this code snippet:
1 program test 2 3 use mpi 4 5 implicit none 6 7 integer :: ierr, nproc, myrank 8 integer, parameter :: dp = kind(1.d0) 9 real(kind=dp) :: inside(5), outside(5) 10 11 call mpi_init(ierr) 12 call mpi_comm_size(mpi_comm_world, nproc, ierr) 13 call mpi_comm_rank(mpi_comm_world, myrank, ierr) 14 15 inside = (/ 1, 2, 3, 4, 5 /) 16 call mpi_allreduce(inside, outside, 5, mpi_double_precision, mpi_sum, mpi_comm_world, ierr) 17 18 print*, myrank, inside 19 print*, outside 20 21 call mpi_finalize(ierr) 22 23 end program test I get the following error, with say 2 processors: forrtl: severe (174): SIGSEGV, segmentation fault occurred Image PC Routine Line Source libmpi.0.dylib 00000001001BB4B7 Unknown Unknown Unknown libmpi_f77.0.dyli 00000001000AF046 Unknown Unknown Unknown a.out 0000000100000CE2 _MAIN__ 16 test.f90 a.out 0000000100000BDC Unknown Unknown Unknown a.out 0000000100000B74 Unknown Unknown Unknown forrtl: severe (174): SIGSEGV, segmentation fault occurred Image PC Routine Line Source libmpi.0.dylib 00000001001BB4B7 Unknown Unknown Unknown libmpi_f77.0.dyli 00000001000AF046 Unknown Unknown Unknown a.out 0000000100000CE2 _MAIN__ 16 test.f90 a.out 0000000100000BDC Unknown Unknown Unknown a.out 0000000100000B74 Unknown Unknown Unknown on my iMac having compiled OpenMPI with ifort according to: http://software.intel.com/en-us/articles/performance-tools-for-software-developers-building-open-mpi-with-the-intel-compilers/ Note that the above code snippet runs fine on my school parallel cluster where ifort+intelmpi is installed. Is there something special about OpenMPI's MPI_Allreduce function call that I should be aware of? Thanks, -- Hugo Gagnon