Precision analysis for hardware acceleration of numerical algorithms

The precision used in an algorithm affects the error and performance of individual computations, the memory usage, and the potential parallelism for a fixed hardware budget. However, when migrating an algorithm onto hardware, the potential improvements that can be obtained by tuning the precision th...

Full description

Bibliographic Details
Main Author: Boland, David Peter
Other Authors: Constantinides, George
Published: Imperial College London 2012
Subjects:
004
Online Access:http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.544305
id ndltd-bl.uk-oai-ethos.bl.uk-544305
record_format oai_dc
spelling ndltd-bl.uk-oai-ethos.bl.uk-5443052017-08-30T03:16:38ZPrecision analysis for hardware acceleration of numerical algorithmsBoland, David PeterConstantinides, George2012The precision used in an algorithm affects the error and performance of individual computations, the memory usage, and the potential parallelism for a fixed hardware budget. However, when migrating an algorithm onto hardware, the potential improvements that can be obtained by tuning the precision throughout an algorithm to meet a range or error specification are often overlooked; the major reason is that it is hard to choose a number system which can guarantee any such specification can be met. Instead, the problem is mitigated by opting to use IEEE standard double precision arithmetic so as to be ‘no worse’ than a software implementation. However, the flexibility in the number representation is one of the key factors that can be exploited on reconfigurable hardware such as FPGAs, and hence ignoring this potential significantly limits the performance achievable. In order to optimise the performance of hardware reliably, we require a method that can tractably calculate tight bounds for the error or range of any variable within an algorithm, but currently only a handful of methods to calculate such bounds exist, and these either sacrifice tightness or tractability, whilst simulation-based methods cannot guarantee the given error estimate. This thesis presents a new method to calculate these bounds, taking into account both input ranges and finite precision effects, which we show to be, in general, tighter in comparison to existing methods; this in turn can be used to tune the hardware to the algorithm specifications. We demonstrate the use of this software to optimise hardware for various algorithms to accelerate the solution of a system of linear equations, which forms the basis of many problems in engineering and science, and show that significant performance gains can be obtained by using this new approach in conjunction with more traditional hardware optimisations.004Imperial College Londonhttp://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.544305http://hdl.handle.net/10044/1/9169Electronic Thesis or Dissertation
collection NDLTD
sources NDLTD
topic 004
spellingShingle 004
Boland, David Peter
Precision analysis for hardware acceleration of numerical algorithms
description The precision used in an algorithm affects the error and performance of individual computations, the memory usage, and the potential parallelism for a fixed hardware budget. However, when migrating an algorithm onto hardware, the potential improvements that can be obtained by tuning the precision throughout an algorithm to meet a range or error specification are often overlooked; the major reason is that it is hard to choose a number system which can guarantee any such specification can be met. Instead, the problem is mitigated by opting to use IEEE standard double precision arithmetic so as to be ‘no worse’ than a software implementation. However, the flexibility in the number representation is one of the key factors that can be exploited on reconfigurable hardware such as FPGAs, and hence ignoring this potential significantly limits the performance achievable. In order to optimise the performance of hardware reliably, we require a method that can tractably calculate tight bounds for the error or range of any variable within an algorithm, but currently only a handful of methods to calculate such bounds exist, and these either sacrifice tightness or tractability, whilst simulation-based methods cannot guarantee the given error estimate. This thesis presents a new method to calculate these bounds, taking into account both input ranges and finite precision effects, which we show to be, in general, tighter in comparison to existing methods; this in turn can be used to tune the hardware to the algorithm specifications. We demonstrate the use of this software to optimise hardware for various algorithms to accelerate the solution of a system of linear equations, which forms the basis of many problems in engineering and science, and show that significant performance gains can be obtained by using this new approach in conjunction with more traditional hardware optimisations.
author2 Constantinides, George
author_facet Constantinides, George
Boland, David Peter
author Boland, David Peter
author_sort Boland, David Peter
title Precision analysis for hardware acceleration of numerical algorithms
title_short Precision analysis for hardware acceleration of numerical algorithms
title_full Precision analysis for hardware acceleration of numerical algorithms
title_fullStr Precision analysis for hardware acceleration of numerical algorithms
title_full_unstemmed Precision analysis for hardware acceleration of numerical algorithms
title_sort precision analysis for hardware acceleration of numerical algorithms
publisher Imperial College London
publishDate 2012
url http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.544305
work_keys_str_mv AT bolanddavidpeter precisionanalysisforhardwareaccelerationofnumericalalgorithms
_version_ 1718521598944739328