Install TAPA

Option 1: One-Click Install from Binary

TAPA is developed and tested in Ubuntu. If you use Ubuntu as well (highly recommended), you can easily install TAPA from pre-built packages:

curl -L https://git.io/JnERa | bash

Note

The installation script will prompt for sudo authentication. This is required to install packages using apt-get. If you are concerned, feel free to review the installation script. The pre-built packages are hosted on GitHub and PyPI.

Note

TAPA requires Vitis HLS with version >= 2020.2. Previous HLS versions are not supported. Continuous integration currently covers 2023.2.

Tip

Ubuntu 20.04 and 22.04 are both supported. Ubuntu 16.04 and 18.04 has reached end-of-life and is no longer supported.

Tip

TAPA is in active development. New versions are tagged and built every couple of weeks. You can run the installation script again to obtain the latest pre-built version when a new version is available.

Option 2: Install from Source

If you would like to contribute code to TAPA, or insist on using other Linux distributions, you’ll need to build TAPA from source.

Build Prerequisites

  • Add ${HOME}/.local/bin to your PATH:

    • PATH="${HOME}/.local/bin:${PATH}"

  • CMake 3.14+

    • python3 -m pip install cmake

  • A C++ 11 compiler

    • sudo apt install build-essential

  • Google glog library

    • sudo apt install libgoogle-glog-dev

  • Boost coroutine library

    • sudo apt install libboost-coroutine-dev

  • FPGA Runtime

    • curl -L https://git.io/JuAxz | bash

Additional Build Prerequisites for Testing

  • Google gflags library

    • sudo apt install libgflags-dev

Runtime Dependency

  • Python 3.8+

  • Icarus Verilog

    • sudo apt install iverilog

  • Clang 17 and its headers

    • sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" bash 17 all

  • Vitis 2020.2+

  • Xilinx Runtime

Build and Installation

  1. Download source and install the Python part.

git clone https://github.com/UCLA-VAST/tapa
python3 -m pip install tapa/backend/python

Note

If you encounter FileNotFoundError: [Errno 2] No such file or directory: 'README.md', please consider upgrading pip:

python3 -m pip install pip --upgrade

Tip

If you are installing TAPA for development, you may want to install the Python part in editable mode instead:

python3 -m pip install -e tapa/backend/python
  1. Create a build directory.

cd tapa
mkdir build
cd build

3. Build TAPA and run tests. Note: the command below will allow up to 8 parallel jobs for make. This number should be adjusted according to your available cores and memory.

cmake ..
make -j8
make -j8 test

Tip

If you have Ninja installed, you should do the following instead:

cmake .. -GNinja
ninja
ninja test

If you are building for development, you may want to enable debug symbols:

cmake .. -DCMAKE_BUILD_TYPE=Debug
  1. Install TAPA.

sudo ln -sf "${PWD}"/backend/tapacc /usr/local/bin/
sudo ln -sf "${PWD}"/backend/tapa-clang /usr/local/bin/
sudo ln -sf "${PWD}"/../src/tapa{,.h} /usr/local/include/
sudo ln -sf "${PWD}"/libtapa.{a,so} /usr/local/lib/

Note

The compiler may not search /usr/local/lib for linking by default. Consider adding /usr/local/lib to the LIBRARY_PATH environment variable, or adding -L/usr/local/lib to the compiler arguments for linking.

Additional Build Prerequisites for Documentation

  • Doxygen

    • sudo apt install doxygen

  • Sphinx and Breathe

    • python3 -m pip install -r docs/requirements.txt

Verify Installation

Check if tapac is available after installation:

tapac --help

If tapac is not found, you may need to add ${HOME}/.local/bin to your PATH:

PATH="${HOME}/.local/bin:${PATH}"

Update TAPA

TAPA is in active development and we are adding more features quickly. To update TAPA to the latest release:

  • If you use one-click installation before, then simply run the one-click script again.

  • If you install TAPA from source, you need to go through the steps again.