Please follow the guide below if you want to build the frameworks from scratch. Firstly, make sure you have pulled the submodules with specific versions by running the following command.
git submodule update --init --recursive
Please follow the guide in the Allo repository. Here we only provide the easiest way to install all the dependencies of the Allo framework. It will automatically install LLVM18 and the MLIR dialect, which may take 100G+ disk space and 1-2 hours to build.
cd allo
conda create -n allo python=3.12
conda activate allo
bash build.sh
Please follow the guide in the ScaleHLS repository. We copy the installation script here for reference, but notice it will again install another version of LLVM and MLIR, which may takes lots of disk space and time.
cd scalehls
bash build-scalehls.sh
export PATH=$PATH:$PWD/build/bin:$PWD/polygeist/build/bin
export PYTHONPATH=$PYTHONPATH:$PWD/build/tools/scalehls/python_packages/scalehls_core
Please follow the HeteroCL installation guide. HeteroCL uses LLVM15 for its backend, and the following script will automatically download and install the required packages.
cd heterocl
git submodule update --init --recursive
pip install .
export LLVM_BUILD_DIR=$(pwd)/hcl-dialect/externals/llvm-project/build
export PATH=${LLVM_BUILD_DIR}/bin:${PATH}
Pylog is a pure Python package, which can be directly downloaded and installed by the following command.
cd pylog
export PYTHONPATH=$(pwd):$PYTHONPATH
Dahlia is a Scala-based DSL for hardware design, which requires to install the Java runtime. Please refer to the official repository for the installation guide. However, the Dahlia team has deployed a web-based interface for users to run the DSL without installing the environment. Therefore, we highly recommend users to leverage the web interface for running Dahlia.