inference/research
verifiedhigh · 0.90updated 2026-10-04

Triton

dsl

Fields

id
compilers/triton
Repo
triton-lang/triton
Language
Python
License
MIT
First release
2019
Category
dsl
Target backends
cudarocm
Input languages
python
Output artifacts
ptxamdgcn
Compilation strategy
jit
Autotuning
yes
Production ready
yes
Production evidence
vLLM uses Triton kernels for attention, quantization, and fused operationsTorchInductor generates Triton kernels as its GPU backendFlashAttention provides a Triton implementationTensorRT-LLM uses Triton for some fused kernels
Strengths
Tile-centric abstraction: operates on blocks of data rather than individual threads, making it far more productive than CUDA C++Python-based: no separate compilation step, kernels are JIT-compiled at runtimeAutotuning built-in: @triton.autotune decorator searches over block sizes, num_warps, num_stagesPerformance on par with cuBLAS for matmul: the tutorial shows 206 TFLOPS FP16 on H100 at 4096x4096x4096Fused operations: easy to fuse elementwise ops into matmul/attention kernels without writing separate kernelsMLIR-based backend since v2.0: better optimization pipeline than the original LLVM-based approachActive development: Triton Conference 2026, regular releases, strong community
Weaknesses
JIT compilation overhead: first call to a kernel triggers compilation (typically 0.5-5 seconds per kernel)Autotuning can be expensive: each config is compiled and benchmarked, adding significant warmup timeLimited to NVIDIA and AMD GPUs: no CPU, TPU, or other accelerator supportLess control than CUDA C++: cannot express all low-level optimizations (e.g., manual warp-level primitives)Debugging is harder: errors in generated PTX/SASS are harder to trace than CUDA C++ errorsCompile-time scales with kernel complexity: large fused kernels can take 10+ seconds to compileTRITON_F32_DEFAULT environment variable can silently change precision behavior (ieee vs tf32 vs tf32x3)
Learning curve
moderate
Compile time (s)
2
notes
Triton is the most successful Python DSL for GPU kernel programming. The original paper (Tillet et al., MAPL 2019) demonstrated that a tile-based language could match cuBLAS/cuDNN performance. The key insight is that programmers specify operations on tiles (blocks of data) rather than individual threads, and the compiler handles thread-level mapping, shared memory allocation, and synchronization. The matmul tutorial shows real performance: 206 TFLOPS FP16 at 4096x4096x4096 on H100, which is competitive with cuBLAS. The autotuner is both a strength and a weakness: it finds good configurations automatically but adds significant warmup time. For inference, the JIT overhead is a real concern: a model with 50 unique kernel shapes could take 30-60 seconds to warm up. The Triton Conference 2026 (October 19, San Jose) signals continued investment. Supported on NVIDIA GPUs (CC 8.0+) and AMD GPUs (ROCm 6.2+). CPU support is under development but not production-ready.

Notes

Triton is the most successful Python DSL for GPU kernel programming. The original paper (Tillet et al., MAPL 2019) demonstrated that a tile-based language could match cuBLAS/cuDNN performance. The key insight is that programmers specify operations on tiles (blocks of data) rather than individual threads, and the compiler handles thread-level mapping, shared memory allocation, and synchronization. The matmul tutorial shows real performance: 206 TFLOPS FP16 at 4096x4096x4096 on H100, which is competitive with cuBLAS. The autotuner is both a strength and a weakness: it finds good configurations automatically but adds significant warmup time. For inference, the JIT overhead is a real concern: a model with 50 unique kernel shapes could take 30-60 seconds to warm up. The Triton Conference 2026 (October 19, San Jose) signals continued investment. Supported on NVIDIA GPUs (CC 8.0+) and AMD GPUs (ROCm 6.2+). CPU support is under development but not production-ready.

Cross-references

This record references no other records — it is a leaf. It is cited by 1.