Imperial College London > Talks@ee.imperial > CAS Talks > Program Slicing for High-level synthesis

Program Slicing for High-level synthesis

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact George A Constantinides.

In this talk, I present a technique used to construct software compiler optimisations called program slicing and I demonstrate how effectively it applies to high-level synthesis (HLS) tools. A program slicer accepts as inputs, a program P, and a subset of the behaviour of P. It outputs a minimal version of P that produces that behaviour. For software compilers, one application of program slicing is to construct “helper threads”. These threads concurrently execute with the main thread to precompute runtime events. For instance, they can run ahead to prefetch data or set branch predictors, resulting in an overall speedup for the main thread. While this approach does improve software performance, it often suffers from the communication latency required to transfer information between the helper and main threads. However, for HLS this is not the case, as a custom architecture is constructed from the input, enabling custom communication channels to connect the main and helper threads.

This talk will discuss a program slicing API that we have developed for the LegUp HLS tool, called SliceUp. Using SliceUp, a developer can construct optimisations that automatically generate “helper circuits” for the input description. To demonstrate this, I will explore two novel case studies in detail: the first generating helper circuits to replicate only a subset of behaviour for selective soft-error coverage, and the second generating helper circuits to precompute load operations to hide memory latency in irregular applications. Finally, I will discuss some future possibilities and application areas that could make use of SliceUp.

This talk is part of the CAS Talks series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

Changes to Talks@imperial | Privacy and Publicity