Optimistic Parallelization of Floating-Point Accumulation

  • Authors:
  • Nachiket Kapre;Andre DeHon

  • Affiliations:
  • California Institute of Technology;University of Pennsylvania

  • Venue:
  • ARITH '07 Proceedings of the 18th IEEE Symposium on Computer Arithmetic
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Floating-point arithmetic is notoriously nonassociative due to the limited precision representation which demands intermediate values be rounded to fit in the available precision. The resulting cyclic dependency in floating-point accumulation inhibits parallelization of the computation, including efficient use of pipelining. In practice, however, we observe that floating-point operations are "mostly" associative. This observation can be exploited to parallelize floating-point accumulation using a form of optimistic concurrency. In this scheme, we first compute an optimistic associative approximation to the sum and then relax the computation by iteratively propagating errors until the correct sum is obtained. We map this computation to a network of 16 statically-scheduled, pipelined, double-precision floating-point adders on the Virtex-4 LX160 (-12) device where each floating-point adder runs at 296MHz and has a pipeline depth of 10. On this 16 PE design, we demonstrate an average speedup of 6脳 with randomly generated data and 3-7脳 with summations extracted from Conjugate Gradient benchmarks.