These instructions will guide you through the installation of Tenstorrent system tools and drivers, followed by the installation of TT-Metalium and TT-NN.
Important
If you are using a release version of this software, please check the installation instructions packaged with that version. You can find them in either the release assets for that version, or in the source files for that version tag.
Follow the Software Setup instructions for your specific board or system provided on our general docs.
If you have purchased a Grayskull card, you will find the instructions here.
Note the current compatability matrix:
Device | OS | Python | Driver (TT-KMD) | Firmware (TT-Flash) | TT-SMI | TT-Topology |
---|---|---|---|---|---|---|
Grayskull | Ubuntu 20.04 | 3.8.10 | v1.27.1 | fw_pack-80.9.0.0 (v80.9.0.0) | v2.2.0 or above | N/A |
Wormhole | Ubuntu 20.04 | 3.8.10 | v1.27.1 | fw_pack-80.10.0.0 (v80.10.0.0) | v2.2.0 or above | N/A |
T3000 (Wormhole) | Ubuntu 20.04 | 3.8.10 | v1.27.1 | fw_pack-80.10.0.0 (v80.10.0.0) | v2.2.0 or above | v1.1.3 or above, mesh config |
sudo ./install_dependencies.sh
- Note:
CMake 3.16
is the targetted required version ofCMake
as it aligns with the default fromUbuntu 20.04
. Some advanced build configurations like unity builds requireCMake 3.20
.- To install
CMake 3.20
see:tt-metal/dockerfile/ubuntu-20.04-amd64.Dockerfile
Lines 9 to 14 in 4d7730d
- To install
- Download latest setup_hugepages.py script.
wget https://raw.githubusercontent.com/tenstorrent/tt-metal/main/infra/machine_setup/scripts/setup_hugepages.py
- Run first setup script.
sudo -E python3 setup_hugepages.py first_pass
- Reboot
sudo reboot now
- Run second setup script & check setup.
sudo -E python3 setup_hugepages.py enable && sudo -E python3 setup_hugepages.py check
Note
You may choose to install from either source or a Python wheel.
However, no matter your method, in order to use our pre-built models or to follow along with the documentation and tutorials to get started, you will still need the source code.
If you do not want to use the models or follow the tutorials and want to immediately start using the API, you may install just the wheel.
- Install git and git-lfs.
sudo apt install git git-lfs
- Clone the repo.
git clone https://github.com/tenstorrent/tt-metal.git --recurse-submodules
cd tt-metal
git submodule foreach 'git lfs fetch --all && git lfs pull'
- Install either from source, or from our release wheel. Note that if you are going to try using the model demos, we highly recommend you install from source.
We use CMake for our build flows.
Set up the environment variables and invoke our build scripts. Note that for source builds, you must set these environment variables every time.
export ARCH_NAME=<ARCH_NAME>
export TT_METAL_HOME=$(pwd)
export PYTHONPATH=$(pwd)
./build_metal.sh
# If you would like an out-of-the-box virtual environment to use,
./create_venv.sh
source python_env/bin/activate
where ARCH_NAME
is one of grayskull
, wormhole_b0
, or blackhole
,
depending on your Tenstorrent card type.
Note
Note about Python environments: You do not have to use create_venv.sh
. If you
are less familiar with Python and its various environment tools, just use
create_venv.sh
as shown above and the pre-built environment. If you choose
to install in your custom environment, please note that you may run into
compatibility issues between dependencies. It is up to the user to ensure
that all the packages in their environment are compatible with each other.
If you do choose to manage your own environment, please note that you must use Pip 20.1.1 or lower to install this project. This is the highest version of Pip that supports editable installs in the way that we use it.
Download the latest wheel from our releases page for the particular Tenstorrent card architecture that you have installed on your system. (ie. Grayskull, Wormhole, etc)
Install the wheel using your Python environment manager of choice. For example,
to install with pip
:
pip install <wheel_file.whl>
- (For models users only) Set up environment for models
If you are going to try our pre-built models in models/
, then you must execute
the following to:
- install their required dependencies
- set appropriate environment variables
- set the CPU performance governor to ensure high performance on the host
export PYTHONPATH=$(pwd)
pip install -r tt_metal/python_env/requirements-dev.txt
sudo apt-get install cpufrequtils
sudo cpupower frequency-set -g performance
- Start coding
To verify your installation, try the executing an example:
python3 -m ttnn.examples.usage.run_op_on_device
You are all set! Visit the TT-NN Basic examples page or get started with simple kernels on TT-Metalium.
Please follow the next additional steps if you want to contribute to the codebase.
- Install dependencies
sudo apt install pandoc libtbb-dev libcapstone-dev pkg-config
- Download and install Doxygen, (v1.9 or higher, but less than v1.10)