Skip to main content

High-level synthesis task-level parallelization

Project description

Task-Level Parallelization for HLS

Feature Synopsis

  • [x] software simulation (not cycle-accurate)
  • [x] Xilinx HLS backend
  • [ ] HeteroCL frontend

Application Synopsis

App Properties Details # Streams # Tasks # Steps
bandwidth static bandwidth test using async_mmap 4 4 1
cannon static,feedback Cannon's algorithm 20 7 1
graph dynamic,feedback connected components 6 3 1
jacobi static 5-point stencil 23 17 1
vadd static naïve vector addition 3 4 1

Getting Started

Prerequisites

  • Ubuntu 16.04+

Install from Binary

./install.sh

Install from Source

Build Prerequisites

  • CMake 3.13+
  • A C++11 compiler
  • Google glog library
  • Clang headers

Build tlpcc

mkdir build
cd build
cmake ..
make
make test
cd ..
sudo ln -s backend/python/tlpc /usr/local/bin/
sudo ln -s build/backend/tlpcc /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 tlpc --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.

Files for tlpc, version 0.0.20200716.1
Filename, size File type Python version Upload date Hashes
Filename, size tlpc-0.0.20200716.1-py3.6.egg (70.1 kB) File type Egg Python version 3.6 Upload date Hashes View
Filename, size tlpc-0.0.20200716.1-py3-none-any.whl (33.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size tlpc-0.0.20200716.1.tar.gz (29.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page