- changed status to resolved
Add atomics on floating point types
Issue #132
resolved
GASNet-EX remote atomics support includes data types float
and double
, which are currently missing at the UPC++ level.
We should add them to UPC++ spec and implementation.
Spec work:
- Minor mechanical changes in the overview section prose
- Minor mechanical changes in the
atomic_domain
constructor preconditions - Adding a section somewhere to discuss semantic deviations from IEEE 754 arithmetic permitted for atomics on floating point types (to enable offload). Here is the current GEX text on this matter:
// + Operations on floating-point data types are not guaranteed to obey all
// rules in the IEEE 754 standard even when the C float and double types
// otherwise do conform. Deviations from IEEE 754 include (at least):
// - Operations on signalling NaNs have undefined behavior.
// - (F)CAS *may* be performed as if on integers of the same width.
// This could result in non-conforming behavior with quiet NaNs
// or negative zero.
// - MIN, MAX, FMIN and FMAX *may* be performed as if on "sign
// and magnitude representation integers" of the same width.
// This could result in non-conforming behavior with quiet NaNs.
// (see https://en.wikipedia.org/wiki/IEEE_754-1985, and especially
// the section Comparing_floating-point_numbers)
// [THIS PARAGRAPH MAY NOT BE A COMPLETE LIST OF NON-IEEE BEHAVIORS]
Comments (1)
-
reporter - Log in to comment
Resolved in 9a196b8 (pull request akamil/
#1)