triton-lang/triton

Development repository for the Triton language and compiler

What it solves

Triton addresses the difficulty of writing highly efficient custom deep-learning primitives. It aims to provide a way to write fast GPU code with higher productivity than CUDA and more flexibility than other existing domain-specific languages (DSLs).

How it works

Triton is a language and compiler that allows developers to define tiled neural network computations. It uses LLVM to generate optimized code for GPUs (NVIDIA and AMD) and CPUs, utilizing an intermediate representation (IR) and a backend rewritten to use MLIR for improved performance and flexibility.

Who it’s for

It is designed for developers and researchers who need to create high-performance custom deep-learning kernels and primitives without having to write low-level CUDA code.

Highlights

  • Multi-Hardware Support: Compatible with NVIDIA GPUs (Compute Capability 8.0+), AMD GPUs (ROCm 6.2+), and CPUs (under development).
  • High Productivity: Offers a more accessible environment for writing efficient code compared to CUDA.
  • Compiler-Driven: Leverages LLVM and MLIR to handle the complexities of code generation and optimization.
  • Interpreter Mode: Includes a Triton interpreter that allows kernels to be run and debugged without a GPU.

Related

  • Project
  • Project
  • Dispatch
  • Project
  • Project