4e5ef6a64d390a28.tex
1: \begin{abstract}
2: Approximate computing techniques have been successful in reducing computation and power costs in several domains. 
3: However, error sensitive applications in high-performance computing are unable to benefit from %many approximate computing techniques as 
4: existing approximate computing strategies %\red{(e.g. loop perforation)} 
5: that are not developed with guaranteed error bounds. While approximate computing techniques can be developed for individual high-performance computing applications by domain specialists, %\red{(do we have any examples of this? I imagine it is true so I put it in here for now but we can remove it)}, 
6: this often requires additional theoretical analysis and potentially extensive software modification. Hence, the development of low-level error-bounded approximate computing strategies that can be introduced into any high-performance computing application without requiring additional analysis or significant software alterations is desirable. In this paper, we provide a contribution in this direction by proposing a general framework for designing error-bounded approximate computing strategies and apply it to the dot product kernel to develop \textbf{qdot} --- an error-bounded approximate dot product kernel. Following the introduction of \textbf{qdot}, we perform a theoretical analysis that yields a deterministic bound on the relative approximation error introduced by \textbf{qdot}. Empirical tests are performed to illustrate the tightness of the derived error bound and to demonstrate the effectiveness of \textbf{qdot} on a synthetic dataset, as well as two scientific benchmarks -- Conjugate Gradient (CG) and the Power method. In particular, using \textbf{qdot} for the dot products in CG  can result in a majority of components being perforated or quantized to half precision without increasing the iteration count required for convergence to the same solution as CG using a double precision dot product.
7: \end{abstract}
8: