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




Attachment: 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

Reply via email to