[Mpi3-rma] notes from 5pm Tuesday meeting @ July 2012 Forum

Underwood, Keith D keith.d.underwood at intel.com
Wed Jul 18 10:03:48 CDT 2012


success=0;
while (!success) {
	A=B; // B is remote, obtained using RMA
	C=(A*D+E*F) / G; // Everything local, all are doubles
	if (B == A) {B=C; success = 1}; // This is CAS
}

And now you have done a relatively complicated thing on B atomically, though you will suffer if there is contention...

Keith

> -----Original Message-----
> From: mpi3-rma-bounces at lists.mpi-forum.org [mailto:mpi3-rma-
> bounces at lists.mpi-forum.org] On Behalf Of Jeff Hammond
> Sent: Tuesday, July 17, 2012 11:03 PM
> To: MPI 3.0 Remote Memory Access working group
> Subject: Re: [Mpi3-rma] notes from 5pm Tuesday meeting @ July 2012
> Forum
> 
> What do you mean by "arbitrary atomics"?  Are you proposing to do
> something evil with bitwise comparison on floating-point numbers to realize
> something other than the obvious meaning of CAS on a float type?  If so, just
> say it, then do it the right way.
> 
> We should consider how users will interpret CAS on doubles, for example,
> and not what some low-level network person can dream up to do with this
> operation.
> 
> What architecture implements remote CAS on floating-point types in
> hardware right now?  Who is proposing it?  I invoke the standard (and a bit
> worn out) argument about implementing MPI-3 entirely in hardware and say
> that unless someone knows how to do CAS for doubles, it cannot be in the
> standard.
> 
> And to be perfectly honest, I have utterly no idea what you really mean right
> now so it would be very helpful if you could be very explicit about what you
> mean by CAS on floating point types.  What measure are you using for
> comparison?  Does this have any reason meaning in the context of floating
> point arithmetic?
> 
> Jeff
> 
> On Tue, Jul 17, 2012 at 9:40 PM, Underwood, Keith D
> <keith.d.underwood at intel.com> wrote:
> > Floating-point CAS is valid as a way to implement "if this hasn't changed,
> put the results of this operation in place".  It gives you a (moderately
> expensive, not very fair) way to build a form of arbitrary atomics.
> >
> > Keith
> >
> >> -----Original Message-----
> >> From: mpi3-rma-bounces at lists.mpi-forum.org [mailto:mpi3-rma-
> >> bounces at lists.mpi-forum.org] On Behalf Of Jeff Hammond
> >> Sent: Tuesday, July 17, 2012 7:26 PM
> >> To: MPI 3.0 Remote Memory Access working group
> >> Subject: Re: [Mpi3-rma] notes from 5pm Tuesday meeting @ July 2012
> >> Forum
> >>
> >> I don't know that floating-point compare is well-defined.  You really
> >> have ask "if abs(x-y)<tolerance" and not "if x==y".
> >>
> >> I think only fixed-point types should be valid for CAS.
> >>
> >> Jeff
> >>
> >> On Tue, Jul 17, 2012 at 6:14 PM, Dave Goodell <goodell at mcs.anl.gov>
> wrote:
> >> > Discussed the complex types in COMPARE_AND_SWAP issue.  "Fortran
> >> Integer" category is permitted, but "Complex" category is not,
> >> primarily because of width.  Since "Fortran Integer" contains wide
> >> types, shouldn't we just permit "Complex" and "Floating point" as
> >> well?  Consensus was to stick with the existing text which permits
> >> only "C integer, Fortran integer, Logical, Multi-language types, or Byte".
> >> >
> >> > Group review (esp. Jim & Sreeram):
> >> > https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/187
> >> >
> >> > incorporate Jim suggested change (Torsten):
> >> > https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/271
> >> >
> >> > we think we are unaffected, but need a second check (Jim):
> >> > https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/278
> >> >
> >> > Double-check that C++ is not referenced in the RMA chapter (Pavan):
> >> > https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/281
> >> >
> >> > Needs review (Dave):
> >> > https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/300
> >> >
> >> > Think unaffected, but slim chance of Rput/Rget being affected (Pavan):
> >> > https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/317
> >> >
> >> > Need to check implementation of various (4?) "flush is non-local"
> >> > changes (Dave):
> >> > https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/270
> >> >
> >> > Need to check disp_unit change (Jim & Sreeram):
> >> > https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/284
> >> >
> >> > After the above items have all been dealt with, all chapter
> >> > committee
> >> members should re-read the whole chapter in the *clean* document (the
> >> one _without_ the changebars and colored text) to look for obvious
> >> typos and inconsistencies.
> >> >
> >> > -Dave
> >> >
> >> >
> >> > _______________________________________________
> >> > mpi3-rma mailing list
> >> > mpi3-rma at lists.mpi-forum.org
> >> > http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma
> >>
> >>
> >>
> >> --
> >> Jeff Hammond
> >> Argonne Leadership Computing Facility University of Chicago
> >> Computation Institute jhammond at alcf.anl.gov / (630)
> >> 252-5381 http://www.linkedin.com/in/jeffhammond
> >> https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond
> >>
> >> _______________________________________________
> >> mpi3-rma mailing list
> >> mpi3-rma at lists.mpi-forum.org
> >> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma
> >
> > _______________________________________________
> > mpi3-rma mailing list
> > mpi3-rma at lists.mpi-forum.org
> > http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma
> 
> 
> 
> --
> Jeff Hammond
> Argonne Leadership Computing Facility
> University of Chicago Computation Institute jhammond at alcf.anl.gov / (630)
> 252-5381 http://www.linkedin.com/in/jeffhammond
> https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond
> _______________________________________________
> mpi3-rma mailing list
> mpi3-rma at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma




More information about the mpiwg-rma mailing list