Temporal Vectorization: A Compiler Approach to Automatic Multi-Pumping

09/19/2022
by   Carl-Johannes Johnsen, et al.
0

The multi-pumping resource sharing technique can overcome the limitations commonly found in single-clocked FPGA designs by allowing hardware components to operate at a higher clock frequency than the surrounding system. However, this optimization cannot be expressed in high levels of abstraction, such as HLS, requiring the use of hand-optimized RTL. In this paper we show how to leverage multiple clock domains for computational subdomains on reconfigurable devices through data movement analysis on high-level programs. We offer a novel view on multi-pumping as a compiler optimization - a superclass of traditional vectorization. As multiple data elements are fed and consumed, the computations are packed temporally rather than spatially. The optimization is applied automatically using an intermediate representation that maps high-level code to HLS. Internally, the optimization injects modules into the generated designs, incorporating RTL for fine-grained control over the clock domains. We obtain a reduction of resource consumption by up to 50 on average. For scalable designs, this can enable further parallelism, increasing overall performance.

READ FULL TEXT
research
07/24/2021

ScaleHLS: A New Scalable High-Level Synthesis Framework on Multi-Level Intermediate Representation

High-level synthesis (HLS) has been widely adopted as it significantly i...
research
02/27/2021

HIR: An MLIR-based Intermediate Representation for Hardware Accelerator Description

The emergence of machine learning, image and audio processing on edge de...
research
01/30/2023

Efficient Multi-Cycle Folded Integer Multipliers

Fast combinational multipliers with large bit widths can occupy signific...
research
05/18/2023

ProgSG: Cross-Modality Representation Learning for Programs in Electronic Design Automation

Recent years have witnessed the growing popularity of domain-specific ac...
research
08/09/2022

Rapid design space exploration of multi-clock domain MPSoCs with hybrid prototyping

This paper presents novel techniques of using hybrid prototyping for ear...
research
12/22/2022

FADO: Floorplan-Aware Directive Optimization for High-Level Synthesis Designs on Multi-Die FPGAs

Multi-die FPGAs are widely adopted to deploy large hardware accelerators...
research
08/28/2021

Compiler-Driven FPGA Virtualization with SYNERGY

FPGAs are increasingly common in modern applications, and cloud provider...

Please sign up or login with your details

Forgot password? Click here to reset