Polyhedral-Based Dynamic Loop Pipelining for High-Level Synthesis

Autor: John Wickerson, Samuel Bayliss, George A. Constantinides, Junyi Liu
Přispěvatelé: Engineering & Physical Science Research Council (EPSRC), Engineering & Physical Science Research Council (E, Royal Academy Of Engineering, Imagination Technologies Ltd
Rok vydání: 2018
Předmět:
Technology
Computer Hardware & Architecture
Computer science
Pipeline (computing)
Clock rate
02 engineering and technology
Parallel computing
polyhedral model
Engineering
high-level synthesis (HLS)
Control theory
High-level synthesis
0202 electrical engineering
electronic engineering
information engineering

Overhead (computing)
Electrical and Electronic Engineering
Computer Science
Hardware & Architecture

Control logic
Field-programmable gate array (FPGA)
Hardware_REGISTER-TRANSFER-LEVELIMPLEMENTATION
1006 Computer Hardware
020203 distributed computing
Science & Technology
Process (computing)
Engineering
Electrical & Electronic

Computer Graphics and Computer-Aided Design
loop pipelining
020202 computer hardware & architecture
Loop (topology)
0906 Electrical and Electronic Engineering
Computer Science
reconfigurable computing
Computer Science
Interdisciplinary Applications

Software
Zdroj: IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 37:1802-1815
ISSN: 1937-4151
0278-0070
DOI: 10.1109/tcad.2017.2783363
Popis: Loop pipelining is one of the most important optimization methods in high-level synthesis (HLS) for increasing loop parallelism. There has been considerable work on improving loop pipelining, which mainly focuses on optimizing static operation scheduling and parallel memory accesses. Nonetheless, when loops contain complex memory dependencies, current techniques cannot generate high performance pipelines. In this paper, we extend the capability of loop pipelining in HLS to handle loops with uncertain dependencies (i.e., parameterized by an undetermined variable) and/or nonuniform dependencies (i.e., varying between loop iterations). Our optimization allows a pipeline to be statically scheduled without the aforementioned memory dependencies, but an associated controller will change the execution speed of loop iterations at runtime. This allows the augmented pipeline to process each loop iteration as fast as possible without violating memory dependencies. We use a parametric polyhedral analysis to generate the control logic for when to safely run all loop iterations in the pipeline and when to break the pipeline execution to resolve memory conflicts. Our techniques have been prototyped in an automated source-to-source code transformation framework, with Xilinx Vivado HLS, a leading HLS tool, as the RTL generation backend. Over a suite of benchmarks, experiments show that our optimization can implement optimized pipelines at almost the same clock speed as without our transformations, running approximately 3.7– $10{\times }$ faster, with a reasonable resource overhead.
Databáze: OpenAIRE