Compilation and Pipeline Synthesis for FPGA-based Custom Computing
Machines
Compilation and Pipeline Synthesis for FPGA-based Custom Computing
Machines
Speaker: Markus Weinhardt
When: February 7, 2pm
Where: ICSI
Abstract:
First, this talk briefly introduces FPGA-based Custom Computing Machines
(FCCMs), i.e. host microprocessor systems with field-programmable
coprocessors.
Next, a novel integrated programming method for FCCMs is presented. It
uses an imperative high-level programming language to specify both the
host program (software) and the coprocessor configuration (hardware).
This renders FCCMs useful for users without hardware design experience.
In the first step, we analyze and vectorize the input program. Then, for
suitable FOR-loops, hardware pipelines are synthesized. The pipelines
execute the loops' operators in parallel on the reconfigurable hardware,
thus speeding up the program. To determine the suitable loops, we devel-
oped a partitioning method which dynamically selects software or hardware
execution at runtime. It takes into account the expected hardware accele-
ration as well as the communication and configuration overhead.
To show the feasibility of our approach, we have built a prototypical
"pipeline compiler". It automatically synthesizes pipelines and inte-
grates the configuration and control of the coprocessors within the host
program. Results of some experiments on a small FCCM using this compiler
are presented.