Metadata-Version: 2.1
Name: tapa
Version: 0.0.20201124.1
Summary: Extending High-Level Synthesis for Task-Parallel Programs
Home-page: https://github.com/Blaok/tapa
Author: Blaok Chi
License: UNKNOWN
Description: # Extending High-Level Synthesis for Task-Parallel Programs
        
        ## Feature Synopsis
        
        + Convenient kernel communication APIs
        + Simple host-kernel interface
        + Universal software simulation w/ coroutines
        + Hierarchical code generator w/ Xilinx HLS backend
        
        ## Getting Started
        
        ### Prerequisites
        
        + Ubuntu 16.04+
          + Coroutine-based simulator only works on Ubuntu 18.04+
        
        ### Install from Binary
        
        ```bash
        ./install.sh
        ```
        
        ### Install from Source
        
        #### Build Prerequisites
        
        + CMake 3.13+
        + A C++ 11 compiler (e.g. `g++-9`)
        + Python 3
          + [`haoda`](https://github.com/Blaok/haoda), `pyverilog`
        + Google glog library (`libgoogle-glog-dev`)
        + Clang 8 and its headers (`clang-8`, `libclang-8-dev`)
        + Boost coroutine library (`libboost-coroutine-dev`)
        + Icarus Verilog (`iverilog`)
        + [FPGA Runtime](https://github.com/UCLA-VAST/fpga-runtime)
        
        #### Build `tapacc`
        
        ```bash
        mkdir build
        cd build
        cmake ..
        make
        make test
        cd ..
        sudo ln -s backend/python/tapac /usr/local/bin/
        sudo ln -s build/backend/tapacc /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 `tapac --cflags`;
          + Workaround is to `export CPATH=/opt/Xilinx/Vivado/2019.2/include`
        
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: System :: Hardware
Requires-Python: >=3.6
Description-Content-Type: text/markdown
