Transformations of High-Level Synthesis Codes for High-Performance Computing

05/21/2018
by   Johannes de Fine Licht, et al.
0

Specialized hardware architectures promise a major step in performance and energy efficiency over the traditional load/store devices currently employed in large scale computing systems. The adoption of high-level synthesis (HLS) has greatly increased programmer productivity when designing for such platforms. While this has enabled a wider audience to target specialized hardware, the optimization principles known from software design are no longer sufficient to implement high-performance codes, due to fundamental differences between software and hardware architectures. In this work, we propose a set of optimizing transformations for HLS, targeting scalable and efficient architectures for high-performance computing (HPC) applications. We show how these can be used to efficiently exploit pipelining, on-chip distributed fast memory, and on-chip streaming dataflow, allowing for massively parallel architectures with little off-chip data movement. To quantify the effect of our transformations, we use them to optimize a set of high-throughput FPGA kernels, demonstrating that they are sufficient to scale up parallelism within the hardware constraints of the device. With the transformations covered, we hope to establish a common framework for performance engineers, compiler developers, and hardware developers, to tap into the performance potential offered by specialized hardware architectures using HLS.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/18/2019

FBLAS: Streaming Linear Algebra on FPGA

Energy efficiency is one of the primary concerns when designing large sc...
research
12/14/2021

FLOWER: A comprehensive dataflow compiler for high-level synthesis

FPGAs have found their way into data centers as accelerator cards, makin...
research
12/13/2019

Flexible Communication Avoiding Matrix Multiplication on FPGA with High-Level Synthesis

Data movement is the dominating factor affecting performance and energy ...
research
02/09/2020

Understanding HPC Benchmark Performance on Intel Broadwell and Cascade Lake Processors

Hardware platforms in high performance computing are constantly getting ...
research
11/21/2017

Programmatic Control of a Compiler for Generating High-performance Spatial Hardware

This methodology paper addresses high-performance high-productivity prog...
research
06/21/2016

High Level Synthesis with a Dataflow Architectural Template

In this work, we present a new approach to high level synthesis (HLS), w...
research
03/07/2017

Large-scale image analysis using docker sandboxing

With the advent of specialized hardware such as Graphics Processing Unit...

Please sign up or login with your details

Forgot password? Click here to reset