InfiniTensor/ninetoothed

A domain-specific language (DSL) based on Triton but providing higher-level abstractions.

What it solves

NineToothed simplifies the creation of high-performance GPU kernels. It removes the complexity typically associated with writing low-level GPU code by providing a domain-specific language (DSL) that makes the process more accessible.

How it works

It uses a paradigm called tensor-oriented meta-programming (TOM) and an "arrange-and-apply" approach. Developers define three distinct components: the arrangement (how data is tiled and expanded), the application (the actual computation logic), and the tensors themselves. These are then integrated using ninetoothed.make to generate a Triton-based kernel.

Who it’s for

Developers and researchers who need to write custom, high-performance GPU kernels but want a higher-level abstraction than raw Triton or CUDA code.

Highlights

  • Triton-based DSL: Leverages Triton for GPU performance.
  • Arrange-and-Apply Paradigm: Separates data layout and computation logic for better clarity.
  • Tensor-Oriented Meta-programming: Simplifies the mapping of high-level tensor operations to GPU hardware.

Related

  • Project
  • Project
  • Project
  • Project
  • Project