Structural optimization of numerical programs for high-level synthesis
This thesis introduces a new technique, and its associated tool SOAP, to automatically perform source-to-source optimization of numerical programs, specifically targeting the trade-off among numerical accuracy, latency, and resource usage as a high-level synthesis flow for FPGA implementations. A ne...
Main Author: | |
---|---|
Other Authors: | |
Published: |
Imperial College London
2016
|
Subjects: | |
Online Access: | https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.749156 |
id |
ndltd-bl.uk-oai-ethos.bl.uk-749156 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-bl.uk-oai-ethos.bl.uk-7491562019-03-05T15:31:09ZStructural optimization of numerical programs for high-level synthesisGao, XitongConstantinides, George2016This thesis introduces a new technique, and its associated tool SOAP, to automatically perform source-to-source optimization of numerical programs, specifically targeting the trade-off among numerical accuracy, latency, and resource usage as a high-level synthesis flow for FPGA implementations. A new intermediate representation, MIR, is introduced to carry out the abstraction and optimization of numerical programs. Equivalent structures in MIRs are efficiently discovered using methods based on formal semantics by taking into account axiomatic rules from real arithmetic, such as associativity, distributivity and others, in tandem with program equivalence rules that enable control-flow restructuring and eliminate redundant array accesses. For the first time, we bring rigorous approaches from software static analysis, specifically formal semantics and abstract interpretation, to bear on program transformation for high-level synthesis. New abstract semantics are developed to generate a computable subset of equivalent MIRs from an original MIR. Using formal semantics, three objectives are calculated for each MIR representing a pipelined numerical program: the accuracy of computation and an estimate of resource utilization in FPGA and the latency of program execution. The optimization of these objectives produces a Pareto frontier consisting of a set of equivalent MIRs. We thus go beyond existing literature by not only optimizing the precision requirements of an implementation, but changing the structure of the implementation itself. Using SOAP to optimize the structure of a variety of real world and artificially generated arithmetic expressions in single precision, we improve either their accuracy or the resource utilization by up to 60%. When applied to a suite of computational intensive numerical programs from PolyBench and Livermore Loops benchmarks, SOAP has generated circuits that enjoy up to a 12x speedup, with a simultaneous 7x increase in accuracy, at a cost of up to 4x more LUTs.621.3Imperial College Londonhttps://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.749156http://hdl.handle.net/10044/1/42498Electronic Thesis or Dissertation |
collection |
NDLTD |
sources |
NDLTD |
topic |
621.3 |
spellingShingle |
621.3 Gao, Xitong Structural optimization of numerical programs for high-level synthesis |
description |
This thesis introduces a new technique, and its associated tool SOAP, to automatically perform source-to-source optimization of numerical programs, specifically targeting the trade-off among numerical accuracy, latency, and resource usage as a high-level synthesis flow for FPGA implementations. A new intermediate representation, MIR, is introduced to carry out the abstraction and optimization of numerical programs. Equivalent structures in MIRs are efficiently discovered using methods based on formal semantics by taking into account axiomatic rules from real arithmetic, such as associativity, distributivity and others, in tandem with program equivalence rules that enable control-flow restructuring and eliminate redundant array accesses. For the first time, we bring rigorous approaches from software static analysis, specifically formal semantics and abstract interpretation, to bear on program transformation for high-level synthesis. New abstract semantics are developed to generate a computable subset of equivalent MIRs from an original MIR. Using formal semantics, three objectives are calculated for each MIR representing a pipelined numerical program: the accuracy of computation and an estimate of resource utilization in FPGA and the latency of program execution. The optimization of these objectives produces a Pareto frontier consisting of a set of equivalent MIRs. We thus go beyond existing literature by not only optimizing the precision requirements of an implementation, but changing the structure of the implementation itself. Using SOAP to optimize the structure of a variety of real world and artificially generated arithmetic expressions in single precision, we improve either their accuracy or the resource utilization by up to 60%. When applied to a suite of computational intensive numerical programs from PolyBench and Livermore Loops benchmarks, SOAP has generated circuits that enjoy up to a 12x speedup, with a simultaneous 7x increase in accuracy, at a cost of up to 4x more LUTs. |
author2 |
Constantinides, George |
author_facet |
Constantinides, George Gao, Xitong |
author |
Gao, Xitong |
author_sort |
Gao, Xitong |
title |
Structural optimization of numerical programs for high-level synthesis |
title_short |
Structural optimization of numerical programs for high-level synthesis |
title_full |
Structural optimization of numerical programs for high-level synthesis |
title_fullStr |
Structural optimization of numerical programs for high-level synthesis |
title_full_unstemmed |
Structural optimization of numerical programs for high-level synthesis |
title_sort |
structural optimization of numerical programs for high-level synthesis |
publisher |
Imperial College London |
publishDate |
2016 |
url |
https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.749156 |
work_keys_str_mv |
AT gaoxitong structuraloptimizationofnumericalprogramsforhighlevelsynthesis |
_version_ |
1718993687743037440 |