🚧 Repository Status Update
This repository is now frozen and no longer accepts new pull requests.
All ongoing development of TT-LLK has moved to the
tt-metalrepository.📘 Migration guide - for existing branches and active pull requests
📁 The LLK source code is now located at:
tt-metal/tt_metal/tt-llk🔒 The
mainbranch in this repository is locked.👉 To contribute, please submit all new pull requests to
tt-metal.This repository will remain available for historical reference.
This repository contains header-only low-level kernels (LLK) for Tenstorrent AI chips, including Wormhole, and Blackhole.
These kernels serve as foundational compute primitives, acting as building blocks for higher-level software stacks that implement machine learning (ML) operations.
Additionally, the repository includes a test environment designed to validate LLK APIs.
-
Clone the repository
Clone this repository to your local computer.
-
Set up the test environment
Follow the instructions in the testing README to set up the test environment. This will also automatically configure pre-commit hooks for code quality checks.
Test environment requires SFPI compiler for building, which is automatically ingested from https://github.com/tenstorrent/sfpi
The following documentation is available to help you understand and use low-level kernels:
-
Intro A concise introduction to LLKs, designed for both technical and non-technical audiences. This document outlines the scope of the LLK software stack and its relationship to other Tenstorrent software components.
-
Top-level Overview Provides a high-level look at the Tensix Core and Tensix Engine architecture, including data organization for efficient LLK usage and operations supported by LLKs. This document is not tied to any specific chip generation (such as Wormhole) and is aimed at engineers and technical readers who want to understand the general architecture and capabilities.
-
LLK Programming Model This document dives into architectural details to best explain the usage of the LLK API. It is intended for op writers and advanced users, and connects LLK concepts with our runtime stack, tt-metal, providing practical guidance on how to leverage LLKs for efficient kernel development.
We welcome contributions to TT-LLK in its new home! Please contribute via the tt-metal repository instead.
If you are looking for historical contribution guidelines, you can still refer to the documents below:
-
Read the Guidelines
Familiarize yourself with our CONTRIBUTING guide and CODE OF CONDUCT.
This repo is a part of Tenstorrent’s bounty program. If you are interested in helping to improve tt-llk, please make sure to read the Tenstorrent Bounty Program Terms and Conditions before heading to the issues tab. Look for the issues that are tagged with both 'bounty' and difficulty level labels!
Old LLK repositories:
- https://github.com/tenstorrent/tt-llk-gs
- https://github.com/tenstorrent/tt-llk-wh-b0
- https://github.com/tenstorrent/tt-llk-bh
have been archived. This repository remains available for historical reference, and all ongoing development has moved to tt-metal.
