I'm using Open MPI 1.4.3, is the bug in that version as well? -----Original Message----- From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] On Behalf Of Barrett, Brian W Sent: Monday, January 03, 2011 11:35 AM To: Open MPI Users Subject: Re: [OMPI users] Using MPI_Put/Get correctly?
Matt - There's a known bug in the datatype engine of Open MPI 1.5 that breaks MPI One-sided when used with user-defined datatypes. Unfortunately, I don't have a timetable as to when it will be fixed. Brian On Jan 3, 2011, at 9:18 AM, Grismer, Matthew J Civ USAF AFMC AFRL/RBAT wrote: > Unfortunately correcting the integer type for the displacement does not fix > the problem in my code, argh! So, thinking this might have something to do > with the large arrays and amount of data being passed in the actual code, I > modified my example (attached putbothways2.f90) so that the array sizes and > amount of data swapped are nearly identical to the code giving me the issue. > I also filled the array that is shared with random data, instead of 0's and > 1's, to ensure nothing special was happening due to the simple, uniform > data. Unfortunately, the example works great, but my actual code still seg > faults. > > So, the summary is the example code that uses MPI_Put calls with indexed > datatypes to swap data between 2 processors works without issue, while the > actual code that communicates in the same manner fails. The only difference > is the actual code allocates many other arrays, which are communicated in > various ways (sends, puts, broadcasts, etc). I checked and re-checked all > the argument lists associated with the indexed data, window, and puts; > everything looks correct. Any thoughts or suggestions on how to proceed? > > Matt > > -----Original Message----- > From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] On > Behalf Of Grismer,Matthew J Civ USAF AFMC AFRL/RBAT > Sent: Wednesday, December 29, 2010 1:42 PM > To: Open MPI Users > Subject: Re: [OMPI users] Using MPI_Put/Get correctly? > > Someone correctly pointed out the bug in my examples. In the MPI_Put I > pass a 0 as the displacement, however, the argument must be of type > integer (kind=MPI_ADDRESS_KIND), which is NOT the default integer type. > Replacing the 0 with the correct integer type fixes both examples. Now > to see if it fixes the actual code I am having difficulty with... > > -----Original Message----- > From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] On > Behalf Of Grismer,Matthew J Civ USAF AFMC AFRL/RBAT > Sent: Monday, December 27, 2010 5:33 PM > To: Open MPI Users > Subject: Re: [OMPI users] Using MPI_Put/Get correctly? > > I decided to try and isolate the issue, and created two example test > programs > that appear to highlight an issue > with Open MPI; both die when I run them on 2 processors. I am pretty > certain > the first (putoneway.f90) should work, as I am only doing a single put > from > one processor to a second processor; the target processor is doing > nothing > with the window'ed array that is receiving the data. My guess is the > problem > lies in the indexed datatypes that I am using for both the origin and > target. > > The second case (putbothways.f90) closely mirrors what I am actually > trying > to do in my code, that is have each processor put into the other > processors > window'ed array at the same time. So, each process is sending from and > receiving into the same array at the same time, with no overlap in the > sent > and received data. Once again I'm using indexed data types for both the > origin and target. > > To build: mpif90 putoneway.f90 > To run: mpiexec -np 2 a.out > > Matt > > -----Original Message----- > From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org] On > Behalf Of James Dinan > Sent: Thursday, December 16, 2010 10:09 AM > To: Open MPI Users > Subject: Re: [OMPI users] Using MPI_Put/Get correctly? > > On 12/16/2010 08:34 AM, Jeff Squyres wrote: >> Additionally, since MPI-3 is updating the semantics of the one-sided >> stuff, it might be worth waiting for all those clarifications before >> venturing into the MPI one-sided realm. One-sided semantics are much >> more subtle and complex than two-sided semantics. > > Hi Jeff, > > I don't think we should give users the hope that MPI-3 RMA will be out > tomorrow. The RMA revisions are still in proposal form and need work. > Realistically speaking, we might be able to get this accepted into the > standard within a year and it will be another year before > implementations catch up. If users need one-sided now, they should use > the MPI-2 one-sided API. > > MPI-3 RMA extends MPI-2 RMA and will be backward compatible, so anything > you write now will still work. It's still unclear to me whether MPI-3's > RMA semantics will be the leap forward in usability we have hoped for. > We are trying to make it more flexible, but there will likely still be > tricky parts due to portability and performance concerns. > > So, my advice: don't be scared of MPI-2. I agree, it's complicated, but > once you get acclimated it's not that bad. Really. :) > > Best, > ~Jim. > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users > <putbothways2.f90><smime.p7s><ATT00002..txt> -- Brian W. Barrett Dept. 1423: Scalable System Software Sandia National Laboratories _______________________________________________ users mailing list us...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/users