Dear Gilles, Thank you very much for the fast answer.
Darn. I feared it might not occur on all platforms, since my former Macbook (with an older OpenMPI version) no longer exhibited the problem, a different Linux/Intel Machine did last December, etc. On this specific machine, the configure line is ./configure CC=gcc FC=ifort F77=ifort ifort version 17.0.4 blum:/Users/blum/software/openmpi-3.0.0rc1> gcc -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 8.1.0 (clang-802.0.42) Target: x86_64-apple-darwin16.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin The full test program is appended. Compilation: mpif90 check_mpi_in_place.f90 blum:/Users/blum/codes/fhi-aims/openmpi_test> which mpif90 /usr/local/openmpi-3.0.0rc1/bin/mpif90 blum:/Users/blum/codes/fhi-aims/openmpi_test> which mpirun /usr/local/openmpi-3.0.0rc1/bin/mpirun blum:/Users/blum/codes/fhi-aims/openmpi_test> mpirun -np 2 a.out * MPI_IN_PLACE does not appear to work as intended. * Checking whether MPI_ALLREDUCE works at all. * Without MPI_IN_PLACE, MPI_ALLREDUCE appears to work. blum:/Users/blum/codes/fhi-aims/openmpi_test> mpirun -np 1 a.out * MPI_IN_PLACE does not appear to work as intended. * Checking whether MPI_ALLREDUCE works at all. * Without MPI_IN_PLACE, MPI_ALLREDUCE appears to work. Hopefully, no trivial mistakes in the testcase. I just spent a few days tracing this issue through a fairly large code, which is where the issue originally arose (and leads to wrong numbers). Best wishes Volker > On Jul 26, 2017, at 9:46 AM, Gilles Gouaillardet > <gilles.gouaillar...@gmail.com> wrote: > > Volker, > > i was unable to reproduce this issue on linux > > can you please post your full configure command line, your gnu > compiler version and the full test program ? > > also, how many mpi tasks are you running ? > > Cheers, > > Gilles > > On Wed, Jul 26, 2017 at 4:25 PM, Volker Blum <volker.b...@duke.edu> wrote: >> Hi, >> >> I tried openmpi-3.0.0rc1.tar.gz using Intel Fortran 2017 and gcc on a >> current MacOS system. For this version, it seems to me that MPI_IN_PLACE >> returns incorrect results (while other MPI implementations, including some >> past OpenMPI versions, work fine). >> >> This can be seen with a simple Fortran example code, shown below. In the >> test, the values of all entries of an array “test_data” should be 1.0d0 if >> the behavior were as intended. However, the version of OpenMPI I have >> returns 0.d0 instead. >> >> I’ve seen this behavior on some other compute platforms too, in the past, so >> it wasn’t new to me. Still, I thought that this time, I’d ask. Any thoughts? >> >> Thank you, >> Best wishes >> Volker >> >> ! size of test data array >> integer :: n_data >> >> ! array that contains test data for MPI_IN_PLACE >> real*8, allocatable :: test_data(:) >> >> integer :: mpierr >> >> n_data = 10 >> >> allocate(test_data(n_data),stat=mpierr) >> >> ! seed test data array for allreduce call below >> if (myid.eq.0) then >> test_data(:) = 1.d0 >> else >> test_data(:) = 0.d0 >> end if >> >> ! Sum the test_data array over all MPI tasks >> call MPI_ALLREDUCE(MPI_IN_PLACE, & >> test_data(:), & >> n_data, & >> MPI_DOUBLE_PRECISION, & >> MPI_SUM, & >> mpi_comm_global, & >> mpierr ) >> >> ! The value of all entries of test_data should now be 1.d0 on all MPI >> tasks. >> ! If that is not the case, then the MPI_IN_PLACE flag may be broken. >> >> >> >> >> >> >> Volker Blum >> Associate Professor >> Ab Initio Materials Simulations >> Duke University, MEMS Department >> 144 Hudson Hall, Box 90300, Duke University, Durham, NC 27708, USA >> >> volker.b...@duke.edu >> https://aims.pratt.duke.edu >> +1 (919) 660 5279 >> Twitter: Aimsduke >> >> Office: 1111 Hudson Hall >> >> >> >> >> _______________________________________________ >> users mailing list >> users@lists.open-mpi.org >> https://urldefense.proofpoint.com/v2/url?u=https-3A__rfd.newmexicoconsortium.org_mailman_listinfo_users&d=DwIGaQ&c=imBPVzF25OnBgGmVOlcsiEgHoG1i6YHLR0Sj_gZ4adc&r=I9QLPu689VeINkpRod6EQfprr_v-FLoLsAuSXIHhDsk&m=QLtQXqnGSkgQnmgI4RxZXa9R6FhMmgj2FLN452Q0Wis&s=BeracGkSHhIyI_bjKJqPHCqMuP-Se2pRmbiNfugkdK8&e= > _______________________________________________ > users mailing list > users@lists.open-mpi.org > https://urldefense.proofpoint.com/v2/url?u=https-3A__rfd.newmexicoconsortium.org_mailman_listinfo_users&d=DwIGaQ&c=imBPVzF25OnBgGmVOlcsiEgHoG1i6YHLR0Sj_gZ4adc&r=I9QLPu689VeINkpRod6EQfprr_v-FLoLsAuSXIHhDsk&m=QLtQXqnGSkgQnmgI4RxZXa9R6FhMmgj2FLN452Q0Wis&s=BeracGkSHhIyI_bjKJqPHCqMuP-Se2pRmbiNfugkdK8&e= Volker Blum Associate Professor Ab Initio Materials Simulations Duke University, MEMS Department 144 Hudson Hall, Box 90300, Duke University, Durham, NC 27708, USA volker.b...@duke.edu https://aims.pratt.duke.edu +1 (919) 660 5279 Twitter: Aimsduke Office: 1111 Hudson Hall
check_mpi_in_place.f90
Description: check_mpi_in_place.f90
_______________________________________________ users mailing list users@lists.open-mpi.org https://rfd.newmexicoconsortium.org/mailman/listinfo/users