NVIDIA/tilus
Tilus is a tile-level kernel programming language with explicit control over shared memory and registers.
What it solves
Tilus addresses the complexity of GPU kernel programming by providing a domain-specific language (DSL) that allows developers to write high-performance kernels without needing to manage every single thread manually. It specifically targets low-precision computation and provides more explicit control over hardware resources than existing alternatives like Triton.
How it works
Tilus operates at a thread-block-level granularity, using tensors as the primary data type. It allows programmers to have explicit control over shared memory and register tensors and supports low-precision types with arbitrary bit-widths ranging from 1 to 8 bits. The language includes a Pythonic interface, automatic tuning, and caching to simplify the development process.
Who it’s for
It is designed for researchers and developers building high-performance GPU kernels, particularly those focusing on low-precision computations and those who want more control over memory management than what is provided by higher-level abstractions.
Highlights
- Tile-level programming: Focuses on thread-blocks and tensors rather than individual threads.
- Hardware control: Offers explicit control over shared memory and register tensors.
- Low-precision support: Supports arbitrary bit-widths from 1 to 8 bits.
- High performance: Capable of reaching cuBLAS level performance on Blackwell and Hopper GPUs.
- Pythonic interface: Provides an easy-to-use interface for GPU kernel development.
Related
- Project
- Project
- Project
- Project
- Project