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

Reply via email to