[mpich-discuss] Bug in MPI_WIN_SHARED_QUERY using MPICH-3.0.4 from Fortran95-code
Michael.Rachner at dlr.de
Michael.Rachner at dlr.de
Mon Dec 15 04:21:07 CST 2014
Dear Junchao,
I attached a downsized Fortran95 program for testing the MPI-3 shared memory feature (MPI_WIN_ALLOCATE_SHARED, MPI_WIN_SHARED_QUERY).
You may add it to your MPICH test suite.
(The program is not secret, so I place it here for everybody, because it may serve also as an example, how to do the shared memory coding in a Ftn-code.)
In that program I have inserted 2 ad-hoc prints, just before and just after the call of sbr MPI_WIN_SHARED_QUERY,
which print the value of the 4th-parameter DISP_UNIT (named idisplace_unit in the code) of that sbr .
You can run the program by:
mpif90 sharedmemtest.f90
mpiexec -np 2 -bind-to core -prepend-rank ./a.out
On our LINUX cluster with MPICH-3.0.4 and Intel-14.0.1 the 2 print-stmts write this:
[0] ---Info-print just BEFORE calling MPI_WIN_QUERY: idisplace_unit= -6666 <-- -6666 is my arbitrary initialization value
[0] ===Info-print just AFTER calling MPI_WIN_QUERY: idisplace_unit= -6666
[1] ---Info-print just BEFORE calling MPI_WIN_QUERY: idisplace_unit= -6666
[1] ===Info-print just AFTER calling MPI_WIN_QUERY: idisplace_unit= -6666
You see, that sbr MPI_WIN_SHARED_QUERY does not overwrite the initialized value, but should do it.
I observed the same wrong behavior also in our Fortran95-CFD-code.
I cannot easily install another MPICH-version. We have only MPICH-3.0.4 . So, do you find that behavior with that program also with the most recent MPICH-version?
Greetings
Michael Rachner
Von: Junchao Zhang [mailto:jczhang at mcs.anl.gov]
Gesendet: Freitag, 12. Dezember 2014 20:50
An: <discuss at mpich.org>
Betreff: Re: [mpich-discuss] Bug in MPI_WIN_SHARED_QUERY using MPICH-3.0.4 from Fortran95-code
Michael,
I could not reproduce the problem with MPICH master. I checked MPICH's F90 binding of this routine. It looks good. There are C tests for this routine in MPICH test suite. They also ran fine.
Could you either upgrade your MPI to MPICH-3.1.3 or send me your test case?
Thanks.
--Junchao Zhang
On Fri, Dec 12, 2014 at 4:53 AM, <Michael.Rachner at dlr.de<mailto:Michael.Rachner at dlr.de>> wrote:
Dear developers of MPICH,
I am running MPICH-3.0.4 with a Fortran95-code on a LINUX-cluster using the INTEL-14.0.1 Ftn-compiler.
In that code I employ the shared memory feature (using MPI_WIN_ALLOCATE_SHARED and MPI_WIN_SHARED_QUERY).
It works fine, but nevertheless I detected a little bug in MPI_WIN_SHARED_QUERY:
MPI_WIN_SHARED_QUERY(WIN, RANK, SIZE, DISP_UNIT, BASEPTR, IERROR)
The MPI-3.0 Standard document (chapter 11.2, on p. 410) prescribes that the 4th parameter DISP_UNIT is a result from the call of this sbr.
However, with MPICH no value is returned for DISP_UNIT.
You can easily test that, by setting DISP_UNIT to a control number ( e.g. DISP_UNIT = -7777 ) just before the call of sbr MPI_WIN_SHARED_QUERY.
Just after that sbr-call the variable DISP_UNIT still contains that control number, but should not.
Greetings
Michael Rachner
_______________________________________________
discuss mailing list discuss at mpich.org<mailto:discuss at mpich.org>
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20141215/e922cc3c/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sharedmemtest.f90
Type: application/octet-stream
Size: 13933 bytes
Desc: sharedmemtest.f90
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20141215/e922cc3c/attachment.obj>
-------------- next part --------------
_______________________________________________
discuss mailing list discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss
More information about the discuss
mailing list