Skip to main content

Task-Level Parallelization for HLS

Feature Synopsis

  • software simulation (not cycle-accurate)
  • 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
page-rank dynamic,feedback Page Rank on HBM 143 36 2
vadd static naïve vector addition 3 4 1

Getting Started

Prerequisites for Building tlpcc

  • CMake 3.13+
  • A C++11 compiler

Prerequisites for Using tlpc

  • tlpcc
  • Google glog library
  • Clang headers
  • Python 3 and its requirements
    • pyverilog
    • haoda
How to install CMake 3.13+ on Ubuntu 16.04+ and CentOS 7?

Ubuntu 16.04+

sudo apt install python-pip
sudo -H python -m pip install cmake

CentOS 7

sudo yum install python-pip
sudo python -m pip install cmake
How to install Google glog library on Ubuntu and CentOS?

Ubuntu

sudo apt install libgoogle-glog-dev

CentOS

sudo yum install glog-devel
How to install the latest Clang on Ubuntu?

Follow the instructions here. Note that running tlpcc doesn't require the latest Clang; old (e.g. Clang 3.8) headers are fine.

How to install Python pyverilog on Ubuntu?
sudo apt install iverilog python3-pip
sudo python3 -m pip install pyverilog
How to install Python haoda?
sudo apt install python3-pip
sudo python3 -m pip install haoda

Run tests

mkdir build
cd build
cmake ..
make
make test

Known Issues

  • Template functions cannot be tasks
  • Tasks cannot invoke functions with tlp::stream or tlp::mmap
  • Loops generated by convenient EoS macros must be manually pipelined

Download files

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

Source Distribution

tlpc-0.0.20200423.1.tar.gz (28.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tlpc-0.0.20200423.1-py3.6.egg (69.5 kB view details)

Uploaded Egg

tlpc-0.0.20200423.1-py3-none-any.whl (33.5 kB view details)

Uploaded Python 3

File details

Details for the file tlpc-0.0.20200423.1.tar.gz.

File metadata

  • Download URL: tlpc-0.0.20200423.1.tar.gz
  • Upload date:
  • Size: 28.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for tlpc-0.0.20200423.1.tar.gz
Algorithm Hash digest
SHA256 d017fcd616621dec256c5c3894e0247a28bdfc7e590eaf497e93b76faabfbbc4
MD5 a19c95788a6468f63fd98ded72419d70
BLAKE2b-256 76a52f9859a94fdcaa597889816a5d61f0c85e5755ded72b80e132c232a36ff3

See more details on using hashes here.

File details

Details for the file tlpc-0.0.20200423.1-py3.6.egg.

File metadata

  • Download URL: tlpc-0.0.20200423.1-py3.6.egg
  • Upload date:
  • Size: 69.5 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for tlpc-0.0.20200423.1-py3.6.egg
Algorithm Hash digest
SHA256 89a594418f853fd43e2c630b047ad35b2682617e9a109f72100d77ac6338a28c
MD5 4515b2993b6450d0eea13c79e283ea65
BLAKE2b-256 60f8abfad9d5ba9657697876a2b50a1a1343dd87bd533b6736a333f4e7f0da3b

See more details on using hashes here.

File details

Details for the file tlpc-0.0.20200423.1-py3-none-any.whl.

File metadata

  • Download URL: tlpc-0.0.20200423.1-py3-none-any.whl
  • Upload date:
  • Size: 33.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for tlpc-0.0.20200423.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2ad3eb2d8fae16fc7d87b80e0ecc6612b0d03d0118f93f4a89a34de4150f4642
MD5 e56a20911f94258780bf7322ae9ca973
BLAKE2b-256 c77fbe3679c8dcad749f375f1b135dca1e62802febed78781bce790ff0ef231f

See more details on using hashes here.

Release history Release notifications | RSS feed

0.0.20200716.1

3 files

0.0.20200711.1

3 files

0.0.20200612.1

3 files

0.0.20200517.1

3 files

0.0.20200513.1

3 files

This release

0.0.20200423.1 This release

3 files

0.0.20200221.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page