High-level synthesis task-level parallelization
Project description
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
ortlp::mmap
- Loops generated by convenient EoS macros must be manually pipelined
Project details
Release history Release notifications | RSS feed
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 hashes)
Built Distributions
tlpc-0.0.20200423.1-py3.6.egg
(69.5 kB
view hashes)
Close
Hashes for tlpc-0.0.20200423.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ad3eb2d8fae16fc7d87b80e0ecc6612b0d03d0118f93f4a89a34de4150f4642 |
|
MD5 | e56a20911f94258780bf7322ae9ca973 |
|
BLAKE2b-256 | c77fbe3679c8dcad749f375f1b135dca1e62802febed78781bce790ff0ef231f |