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