Skip to main content

Extending High-Level Synthesis for Task-Parallel Programs

Project description

TAPA

CI install Documentation Status

TAPA is a high-performance fast-compiling HLS framework that is fully compatible with the Xilinx Vitis/Vivado workflow.

TAPA Framework

  • TAPA takes in a task-parallel dataflow program in C++ written in Vitis HLS syntax and additional TAPA APIs.
    • Compared to Vitis HLS, TAPA supports more flexible memory access patterns and runtime burst detection.
  • TAPA extracts parallel components of the program and invokes Vitis HLS to compile each component simultaneously.
    • TAPA compiles faster than Vitis HLS. In some cases, TAPA reduces a 10-hour Vitis compilation to 10 minutes.
  • TAPA invokes the AutoBridge floorplanner to floorplan the dataflow program and pipeline the global data links accordingly.
    • With AutoBridge, TAPA achieves higher the frequency on average compared to Vivado.
  • TAPA supports a customized fast C-RTL simulation plug-in.
    • 10× faster than Vitis to setup the simulation.
  • TAPA generates an xo object that is fully compatible as the input to the Vitis v++ compiler for bitstream generation.
    • [in-progress] TAPA is integrating the parallel physical implementation tool RapidStream.

Successful Cases

  • Serpens, to appear in DAC'22, achieves 270 MHz on the Xilinx Alveo U280 HBM board when using 24 HBM channels. The Vivado baseline failed in routing.
  • Sextans, FPGA'22, achieves 260 MHz on the Xilinx Alveo U250 board when using 4 DDR channels. The Vivado baseline achieves only 189 MHz.
  • SPLAG, FPGA'22, achieves up to a 4.9× speedup over state-of-the-art FPGA accelerators, up to a 2.6× speedup over 32-thread CPU running at 4.4 GHz, and up to a 0.9× speedup over an A100 GPU (that has 4.1× power budget and 3.4× HBM bandwidth).
  • AutoSA Systolic-Array Compiler, FPGA'21: AutoSA Frequency Figure
  • KNN, FPT'20, achieves 252 MHz on the Xilinx Alveo U280 board. The Vivado baseline achieves only 165 MHz.

Getting Started

Related Publications

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tapa-0.0.20220505.1.tar.gz (636.8 kB view hashes)

Uploaded Source

Built Distribution

tapa-0.0.20220505.1-py3-none-any.whl (759.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page