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 |
---|---|---|---|---|---|
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 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.20200221.1.tar.gz
(27.6 kB
view hashes)
Built Distribution
Close
Hashes for tlpc-0.0.20200221.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02e4637a58b7c129fcb7913cc640157496925fd59e2449682fa9d171d40e0106 |
|
MD5 | 9f34575c67537f5562cca91bf6264916 |
|
BLAKE2b-256 | c81564166de07c5d628c38945353054016a3060c900a82aaab96222c07307793 |