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
requirementspyveriloghaoda
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::streamortlp::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.20200221.1.tar.gz
(27.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tlpc-0.0.20200221.1.tar.gz.
File metadata
- Download URL: tlpc-0.0.20200221.1.tar.gz
- Upload date:
- Size: 27.6 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26066720a87a984c212c5251e523dfbc17355c44300e167cad8a553d4ff80adb
|
|
| MD5 |
4d4d6af7c140318b156cd88ea7d15e68
|
|
| BLAKE2b-256 |
1a16999f4f6680d2002ed1975f4cae82045a4f06c2f894aa90056a29b98c8873
|
File details
Details for the file tlpc-0.0.20200221.1-py3-none-any.whl.
File metadata
- Download URL: tlpc-0.0.20200221.1-py3-none-any.whl
- Upload date:
- Size: 32.6 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02e4637a58b7c129fcb7913cc640157496925fd59e2449682fa9d171d40e0106
|
|
| MD5 |
9f34575c67537f5562cca91bf6264916
|
|
| BLAKE2b-256 |
c81564166de07c5d628c38945353054016a3060c900a82aaab96222c07307793
|