Skip to content

Commit

Permalink
Update quickstart.md with direct install instructions
Browse files Browse the repository at this point in the history
These new software instructions are clearer for users and
use pip's `git+` syntax, enabling easier updates. We've also
clarified language around support and prerequisites and fixed
duplicate install behavior for hugepages.

Signed-off-by: June Knauth (tt) <[email protected]>
  • Loading branch information
knauth committed Jan 8, 2025
1 parent cc37ee1 commit 7a50c34
Showing 1 changed file with 70 additions and 36 deletions.
106 changes: 70 additions & 36 deletions core/quickstart.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Starting Guide

Welcome to Tenstorrent! This guide will walk you through setting up your Tensix Processor(s), installing necessary software, and running your first "Hello World" program.
Welcome to Tenstorrent! This guide will walk you through setting up your Tensix Processor(s) and installing necessary software.

## Table of Contents

Expand Down Expand Up @@ -31,37 +31,72 @@ Before you begin, ensure you have the following:
- [Systems](https://docs.tenstorrent.com/systems/index.html)
3. **Secure the hardware** in place, ensuring it is firmly seated and all connections are stable.

## 3. Software Installation
## 3. System Software Installation

To interact with the Tensix Processor(s), you’ll need to install the system-level dependencies and SDK on your host machine.

Each software package is organized into separate repositories hosted publicly on [GitHub](https://github.com/tenstorrent).
To interact with the Tensix Processor(s), you’ll need to install the system-level dependencies on your host machine.

**Important!**

This Starting Guide will reference each software utility where the latest version is available. However, each SDK will have it's own compatibility matrix associated with each release. It is strongly recommended to consult each SDK's release compatibility matrix to ensure you are installing the correct versions of the system software packages.
This Starting Guide will reference each software utility where the latest version is available. However, each SDK will have its own compatibility matrix associated with each release. It is strongly recommended to consult each SDK's release compatibility matrix to ensure you are installing the correct versions of the system software packages.

### Step 1: Install the Driver (TT-KMD)
### Step 1: Install Software Dependencies

Navigate to the [TT-KMD](https://github.com/tenstorrent/tt-kmd) homepage and follow instructions within the README.
Install git, wget, pip, and DKMS (Dynamic Kernel Module Support) by running the following commands in your terminal:

### Step 2: Device Firmware Update (TT-Flash / TT-Firmware)
```bash
sudo apt update
sudo apt install -y wget git dkms python3-pip
```

The [TT-Firmware](https://github.com/tenstorrent/tt-firmware) file needs to be installed using the [TT-Flash](https://github.com/tenstorrent/tt-flash) utility. For more details, visit the [TT-Flash homepage](https://github.com/tenstorrent/tt-flash?tab=readme-ov-file#firmware-files:~:text=Firmware%20files,of%20the%20images.) and follow instructions within the README.
If you're using a non-supported Linux distribution, install these dependencies using your system package manager. All other steps in this process *should be* distro-neutral, but we make **no guarantees** of system behavior for non-Ubuntu distributions.

### Step 3: Setup HugePages
### Step 2: Install the Kernel-Mode Driver (TT-KMD)
Install the driver (**[TT-KMD](https://github.com/tenstorrent/tt-kmd)**) by running these commands in the terminal:

```bash
# Ensure packages installed
sudo apt update
sudo apt install -y wget git
git clone https://github.com/tenstorrent/tt-kmd.git
cd tt-kmd
sudo dkms add .
sudo dkms install tenstorrent/1.31
sudo modprobe tenstorrent
```

### Step 3: Device Firmware Update (TT-Flash / TT-Firmware)

The [TT-Firmware](https://github.com/tenstorrent/tt-firmware) file needs to be installed using the [TT-Flash](https://github.com/tenstorrent/tt-flash) utility.

# Clone System Tools Repo
git clone https://github.com/tenstorrent/tt-system-tools.git
cd tt-system-tools
chmod +x hugepages-setup.sh
sudo ./hugepages-setup.sh
#### Install TT-Flash

To install **[TT-Flash](https://github.com/tenstorrent/tt-flash)**, run this command in the terminal:

```bash
pip install git+https://github.com/tenstorrent/tt-flash.git
```
***NOTE:** If you are not using a Python virtual environment (venv), you may see an error `externally-managed-environment` when installing via `pip`. To resolve this, [create and/or activate a venv](https://docs.python.org/3/tutorial/venv.html) or use a tool like pipx.*

#### Update Device Firmware
To update Tenstorrent device firmware using TT-Flash, run these commands in the terminal:

```bash
wget https://github.com/tenstorrent/tt-firmware/raw/main/fw_pack-80.13.2.0.fwbundle
tt-flash --fw-tar fw_pack-80.13.2.0.fwbundle
```

If this process worked, reboot the system and go to the next section.

If running that command results in an error that says the firmware is too old, enter the following command:

```
tt-flash --fw-tar fw_pack-80.13.2.0.fwbundle --force
```

Then reboot the system.


### Step 4: Setup HugePages
HugePages lets your system allocate dedicated memory to accelerate communication with Tenstorrent devices. Setup HugePages by running these commands in the terminal:

```bash
# Install `.deb`
wget https://github.com/tenstorrent/tt-system-tools/releases/download/upstream%2F1.1/tenstorrent-tools_1.1-5_all.deb
sudo dpkg -i tenstorrent-tools_1.1-5_all.deb
Expand All @@ -76,15 +111,14 @@ sudo reboot

***NOTE:** This is a temporary solution for configuring hugepages. If the above fails, please check the latest available release from [TT-System-Tools](https://github.com/tenstorrent/tt-system-tools.git).*

### Step 4: Install the System Management Interface (TT-SMI)

Navigate to [TT-SMI](https://github.com/tenstorrent/tt-smi) homepage and follow instructions within the README.
### Step 5: Install the System Management Interface (TT-SMI)
Install the Tenstorrent Software Management Interface (**[TT-SMI](https://github.com/tenstorrent/tt-smi)**) by entering this command in the terminal:

### Step 5: (Optional) Multi-Card Configuration (TT-Topology)

If you are running on a TT-LoudBox or TT-QuietBox system, please navigate to the [TT-Topology](https://github.com/tenstorrent/tt-topology) homepage and follow instructions within the README.
```
pip install git+https://github.com/tenstorrent/tt-smi
```

### Step 6: Verify System Configuration
### Step 6: Verify System Configuration and Test TT-SMI

Once the hardware and system software are installed, verify that your system has been configured properly.

Expand All @@ -94,22 +128,22 @@ This should bring up a display that looks as below.

![tt-smi](./images/tt_smi.png)

This is the default mode where the user can see device information, telemetry, and firmware.
This is the default mode where the user can see device information, telemetry, and firmware. If TT-smi runs without errors, congratulations! You're ready to use your Tenstorrent device.

### Step 7: SDK Installation
## Installation

Tenstorrent provides three SDKs for developing on Tensix Processors:
Tenstorrent provides three open-source SDKs for developing on Tensix Processors:

- [TT-Buda](https://github.com/tenstorrent/tt-buda)
- [TT-Metalium/TT-NN](https://github.com/tenstorrent/tt-metal)
- [TT-Forge/TT-MLIR](https://github.com/tenstorrent/tt-forge-fe)
- [TT-Buda](https://github.com/tenstorrent/tt-buda) to run existing models
- [TT-Metalium/TT-NN](https://github.com/tenstorrent/tt-metal) to build your own kernels and models
- [TT-Forge/TT-MLIR](https://github.com/tenstorrent/tt-forge-fe) to create, compile, and optimize graph operations

Each SDK will have it's own system dependency requirements and installation process.
Each SDK will have its own system dependency requirements and installation process.

To help you get started, we have provided *First 5 Things* guides, which include installation steps, for TT-Buda and TT-Metalium.
To help you get started, check out these *First 5 Things* guides, which include installation steps, for TT-Buda and TT-Metalium.

- [First 5 Things](https://github.com/tenstorrent/tt-buda-demos/tree/main/first_5_steps) for **TT-Buda**, our open source, high level SDK
- [First 5 Things](https://docs.tenstorrent.com/ttnn/latest/ttnn/get_started.html) for **TT-Metalium/TT-NN**, our open source, low level SDK
- [First 5 Things](https://github.com/tenstorrent/tt-buda-demos/tree/main/first_5_steps) for **TT-Buda**
- [First 5 Things](https://docs.tenstorrent.com/ttnn/latest/ttnn/get_started.html) for **TT-Metalium/TT-NN**

## Support & FAQ

Expand Down

0 comments on commit 7a50c34

Please sign in to comment.