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...

Full description

Bibliographic Details
Main Author: Gao, Xitong
Other Authors: Constantinides, George
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