Re: [mpich-discuss] Bug in MPI_WIN_SHARED_QUERY using MPICH-3.0.4 from Fortran95-code
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:[email protected]] Gesendet: Freitag, 12. Dezember 2014 20:50 An: <[email protected]> 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, <[email protected]<mailto:[email protected]>> 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 [email protected]<mailto:[email protected]> To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss _______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
participants (1)
-
Michael.Rachner@dlr.de