ARCHITECT: Arbitrary-precision Hardware with Digit Elision for Efficient Iterative Compute

10/01/2019
by   He Li, et al.
0

Many algorithms feature an iterative loop that converges to the result of interest. The numerical operations in such algorithms are generally implemented using finite-precision arithmetic, either fixed- or floating-point, most of which operate least-significant digit first. This results in a fundamental problem: if, after some time, the result has not converged, is this because we have not run the algorithm for enough iterations or because the arithmetic in some iterations was insufficiently precise? There is no easy way to answer this question, so users will often over-budget precision in the hope that the answer will always be to run for a few more iterations. We propose a fundamentally new approach: with the appropriate arithmetic able to generate results from most-significant digit first, we show that fixed compute-area hardware can be used to calculate an arbitrary number of algorithmic iterations to arbitrary precision, with both precision and approximant index increasing in lockstep. Consequently, datapaths constructed following our principles demonstrate efficiency over their traditional arithmetic equivalents where the latter's precisions are either under- or over-budgeted for the computation of a result to a particular accuracy. Use of most-significant digit-first arithmetic additionally allows us to declare certain digits to be stable at runtime, avoiding their recalculation in subsequent iterations and thereby increasing performance and decreasing memory footprints. Versus arbitrary-precision iterative solvers without the optimisations we detail herein, we achieve up-to 16× performance speedups and 1.9x memory savings for the evaluated benchmarks.

READ FULL TEXT

page 1

page 14

06/16/2020

Digit Stability Inference for Iterative Methods Using Redundant Number Representation

In our recent work on iterative computation in hardware, we showed that ...
07/24/2019

Exploiting variable precision in GMRES

We describe how variable precision floating point arithmetic can be used...
08/01/2019

A Randomized Algorithm for Preconditioner Selection

The task of choosing a preconditioner M to use when solving a linear sys...
04/25/2019

Stochastic rounding and reduced-precision fixed-point arithmetic for solving neural ordinary differential equations

Although double-precision floating-point arithmetic currently dominates ...
09/06/2017

Distant decimals of π

We describe how to compute very far decimals of π and how to provide for...
04/25/2019

Stochastic rounding and reduced-precision fixed-point arithmetic for solving neural ODEs

Although double-precision floating-point arithmetic currently dominates ...
04/17/2020

Efficient, arbitrarily high precision hardware logarithmic arithmetic for linear algebra

The logarithmic number system (LNS) is arguably not broadly used due to ...