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

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


Yes, the MPI library could certainly make that choice in how it used the hardware...

> -----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: Wednesday, July 18, 2012 11:09 AM
> To: MPI 3.0 Remote Memory Access working group
> Subject: Re: [Mpi3-rma] notes from 5pm Tuesday meeting @ July 2012
> Forum
> 
> So your A==B comparison is at the level of bits?  Couldn't you just cast double
> to long then?
> 
> Jeff
> 
> On Wed, Jul 18, 2012 at 10:03 AM, Underwood, Keith D
> <keith.d.underwood at intel.com> wrote:
> > 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
> >
> > _______________________________________________
> > 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