tt-forge is our front end compiler project aimed at utitlizing our latest tt-mlir project. This is a continuation of our work in tt-buda and is built using some of the same functionality from that compiler.
- Provide abstraction of many different frontend frameworks
- Generically compile many kinds of model architectures without modification and with good performance
- Abstract all Tenstorrent device architectures
cmake3.20
clang
andclang++-17
Ninja
Python3.10
This is one off step to build the toolchain and create virtual environment for tt-forge. Generally you need to run this step only once, unless you want to update the toolchain.
git submodule update --init --recursive -f
source env/activate
cmake -B env/build env
cmake --build env/build
source env/activate
cmake -G Ninja -B build .
cmake --build build
rm -rf build
- to cleanup tt-forge build artifacts../clean_all.sh
- to cleanup all build artifacts (tt-forge/tvm/tt-mlir/tt-metal). This will not remove toolchain dependencies.
TTMLIR_TOOLCHAIN_DIR
- points to toolchain dir where dependencies of TTLMIR will be installed. If not defined it defaults to /opt/ttmlir-toolchainTTMLIR_VENV_DIR
- points to virtual environment directory of TTMLIR.If not defined it defaults to /opt/ttmlir-toolchain/venvTTFORGE_TOOLCHAIN_DIR
- points to toolchain dir where dependencies of tt-forge will be installed. If not defined it defaults to /opt/ttforge-toolchainTTFORGE_VENV_DIR
- points to virtual environment directory of tt-forge. If not defined it defaults to /opt/ttforge-toolchain/venvTTFORGE_PYTHON_VERSION
- set to override python version. If not defined it defaults to python3.10