Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

ExactDotProduct



During recent mails the question came up whether

a)      an exact dot product (Motion 9) or

b)      a tightly rounded dot product (Vienna proposal)

is to be required by IEEE P1788.



A few pros and cons are listed here which might help to vote for Motion 9.

   * A pro for a):  b) is a consequence of a). The opposite is not true.
   * A seemingly pro for b): Relatively fast software solutions are
     available for b). They suffice for many applications. Software
     implementation of a) is possibly slower.
   * A pro for a): It is the key operation for variable precision
     interval arithmetic (see the IFIP Working Group letters). Roughly:
     With long interval arithmetic real arithmetic expressions usually
     can be evaluated with sufficiently accurate bounds in a very
     simple manner just by operator overloading (what sometimes is
     called naïve interval arithmetic). This may make interval
     arithmetic much more attractive.
   * A major pro for a): Hardware implementation of a) is not
     complicated at all. We have done it several times with students.
     In speed a hardware realization of the exact dot product exceeds
     any guaranteed software realization of the dot product by
     magnitudes. By pipelining the arithmetic (computing the products,
     the shift, and the accumulation of the summands) can be done in
     the time the processor needs to read the data. Since any
     computation of the dot product has to read the data no other
     method can be faster. Long interval arithmetic and all its
     applications fully benefit from this high speed.

I am absolutely convinced that as soon as the details are fully understood hardware manufacturers shall provide the exact dot product in hardware. This will not just be a great step ahead for interval arithmetic but also for scientific computing on the whole.

I very strongly recommend voting Yes for Motion 9.



Ulrich Kulisch