Skip to content

tenstorrent/tt-llk

llk logo



TT-LLK is Tenstorrent's Low Level Kernel library.

C++ Python Ask DeepWiki

Overview

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.

Install

  1. Clone the repository

    Clone this repository to your local computer.

  2. 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.

Software dependencies

Test environment requires SFPI compiler for building, which is automatically ingested from https://github.com/tenstorrent/sfpi

Documentation

The following documentation is available to help you understand and use low-level kernels:

  1. 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.

  2. 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.

  3. 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.

Contributing

We welcome contributions to improve tt-llk! Please follow these steps to get started:

  1. Read the Guidelines

    Familiarize yourself with our CONTRIBUTING guide and CODE OF CONDUCT.

  2. Create a Branch

    Create a new branch for your changes.

  3. Make Changes

    Implement your changes and commit them with clear and descriptive messages.

  4. Add Tests

    If applicable, add new tests to cover your changes and ensure all existing tests pass.

  5. Submit a Pull Request

    Open a pull request (PR) to propose your changes for review.

Tenstorrent Bounty Program Terms and Conditions

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!

Note

Old LLK repositories:

have been archived. All ongoing development continues in this repository.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 39