Program slicing for reliability and runahead in high level synthesis

High-Level Synthesis (HLS) tools enable an FPGA circuit developer to trade performance for productivity by mapping a high-level circuit description into hardware. However, current HLS tools have limited support for fault-tolerance and memory management. This thesis addresses these issues by using a...

Full description

Bibliographic Details
Main Author: Fleming, Shane
Other Authors: Thomas, David
Published: Imperial College London 2017
Subjects:
Online Access:https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.745263
id ndltd-bl.uk-oai-ethos.bl.uk-745263
record_format oai_dc
spelling ndltd-bl.uk-oai-ethos.bl.uk-7452632019-03-05T15:31:09ZProgram slicing for reliability and runahead in high level synthesisFleming, ShaneThomas, David2017High-Level Synthesis (HLS) tools enable an FPGA circuit developer to trade performance for productivity by mapping a high-level circuit description into hardware. However, current HLS tools have limited support for fault-tolerance and memory management. This thesis addresses these issues by using a known software technique called program slicing to construct HLS optimisation passes. These optimisation passes use program slicing to create “slice circuits” that help the primary circuit at runtime. There are three main contributions in this thesis SliceUp, RELISH, and StitchUp. SliceUp is an API that can be used to create program slicing based HLS optimisation passes. The second is RELISH, an open source HLS optimisation pass that constructs an application specific prefetcher that can hide memory latency no matter how irregular the application’s access pattern. Both a theoretical and experimental analysis is performed on RELISH, showing that speedup is bounded between 1x – 2x and with experimental results in the range 1.02x – 1.69x. Finally, StitchUp is an open source HLS optimisation pass that builds a checker circuit that ensures the correct path is taken through the original circuit in the presence of soft-errors. This saves area over traditional approaches and reduces the number of false positives required for detection.621.3Imperial College Londonhttps://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.745263http://hdl.handle.net/10044/1/59035Electronic Thesis or Dissertation
collection NDLTD
sources NDLTD
topic 621.3
spellingShingle 621.3
Fleming, Shane
Program slicing for reliability and runahead in high level synthesis
description High-Level Synthesis (HLS) tools enable an FPGA circuit developer to trade performance for productivity by mapping a high-level circuit description into hardware. However, current HLS tools have limited support for fault-tolerance and memory management. This thesis addresses these issues by using a known software technique called program slicing to construct HLS optimisation passes. These optimisation passes use program slicing to create “slice circuits” that help the primary circuit at runtime. There are three main contributions in this thesis SliceUp, RELISH, and StitchUp. SliceUp is an API that can be used to create program slicing based HLS optimisation passes. The second is RELISH, an open source HLS optimisation pass that constructs an application specific prefetcher that can hide memory latency no matter how irregular the application’s access pattern. Both a theoretical and experimental analysis is performed on RELISH, showing that speedup is bounded between 1x – 2x and with experimental results in the range 1.02x – 1.69x. Finally, StitchUp is an open source HLS optimisation pass that builds a checker circuit that ensures the correct path is taken through the original circuit in the presence of soft-errors. This saves area over traditional approaches and reduces the number of false positives required for detection.
author2 Thomas, David
author_facet Thomas, David
Fleming, Shane
author Fleming, Shane
author_sort Fleming, Shane
title Program slicing for reliability and runahead in high level synthesis
title_short Program slicing for reliability and runahead in high level synthesis
title_full Program slicing for reliability and runahead in high level synthesis
title_fullStr Program slicing for reliability and runahead in high level synthesis
title_full_unstemmed Program slicing for reliability and runahead in high level synthesis
title_sort program slicing for reliability and runahead in high level synthesis
publisher Imperial College London
publishDate 2017
url https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.745263
work_keys_str_mv AT flemingshane programslicingforreliabilityandrunaheadinhighlevelsynthesis
_version_ 1718993645722402816