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

Suggestions for hardware implementation



Section 1.8 of ViennaProposal-v3.01 reads:


1.8. Suggestions for hardware implementation

A proposed minimal useful set of hardware operations which would
significantly speed up existing applications in constraint programming,
global optimization, and computational geometry are the following
operations defining core interval arithmetic.
- forward and reverse interval operations for
  plus, minus, times, divide, sqr (Sections 3.8-3.11 and 7.9)
- mixed operations with one interval argument for
  plus, minus, times, divide (Section 4.2)
- forward sqrt, exp, log (Sections 3.8-3.9)
- linearInt, linearExt, linearInv (Sections 5.8 and 7.11)
- mid, rad (Sections 5.2 and 7.11)
- division with gaps (Section 5.7)
- optimal enclosure of sums and inner products (Section 5.1)
These operations might be singled out to represent (together with the
operations from Section 2.5) level 1 of the standard; the remaining
operations would represent level 2.
An appendix may suggest explicit model algorithms for all level 1
operations.

[end of Section 1.8]



I'd like to discuss the following additional suggestion for hardware inplementation:


What if we propose implementing three different pipelines for
floating-point operations in fixed, selectable rounding modes?

This can be used in ordinary floating-point calculations to
parallelize computations, and in interval calculations to do operations
in different rounding modes in different pipelines.

This would completely remove the penalty for rounding mode switches;
an optimizing compiler can choose the rounding modes of each pipeline
to maximize total throughput with a minimal number of switches.
For example, during interval computations interspersed by
approximate floating-point computations (frequent in global optimization), one pipeline might be set to round up, one to
round down, and one to round nearest.

Note that there are many situations (for example, the Hansen-Bliek
method for solving linear systems with interval coefficients) where
one wants to do some directed rounding calculations within some routine
using interval arithmetic; so the directed pipelines should be
available for both interval and other directed calculations.

Other applications of directed rounding arise when explicit use is
made within interval computations of monotonicity behavior of certain
formulas, which allows to compute lower and upper bounds separately
using directed rounding. A well-known example is Barth and Nuding's
optimal solution of linear systems with an interval M-matrix, but there
are many other cases of interest; e.g. the algorithms in Section 5.8 of
ViennaProposal-v3.0.


Arnold Neumaier