Skip to main content

Extending High-Level Synthesis for Task-Parallel Programs

Project description

Extending High-Level Synthesis for Task-Parallel Programs

Feature Synopsis

  • Convenient kernel communication APIs
  • Simple host-kernel interface
  • Universal software simulation w/ coroutines
  • Hierarchical code generator w/ Xilinx HLS backend

Getting Started

Prerequisites

  • Ubuntu 16.04+
    • Coroutine-based simulator only works on Ubuntu 18.04+

Install from Binary

./install.sh

Install from Source

Build Prerequisites

  • CMake 3.13+
  • A C++ 11 compiler (e.g. g++-9)
  • Python 3
  • Google glog library (libgoogle-glog-dev)
  • Clang 8 and its headers (clang-8, libclang-8-dev)
  • Boost coroutine library (libboost-coroutine-dev)
  • Icarus Verilog (iverilog)
  • FPGA Runtime

Build tapacc

mkdir build
cd build
cmake ..
make
make test
cd ..
sudo ln -s backend/python/tapac /usr/local/bin/
sudo ln -s build/backend/tapacc /usr/local/bin/

Known Issues

  • Template functions cannot be tasks
  • Vivado HLS include paths (e.g., /opt/Xilinx/Vivado/2019.2/include) must not be specified in tapac --cflags;
    • Workaround is to export CPATH=/opt/Xilinx/Vivado/2019.2/include

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.20210128.1.tar.gz (35.4 kB view hashes)

Uploaded Source

Built Distributions

tapa-0.0.20210128.1-py3.6.egg (91.1 kB view hashes)

Uploaded Source

tapa-0.0.20210128.1-py3-none-any.whl (43.5 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