Triton: an intermediate language and compiler for tiled neural network computations

By Philippe Tillet, Hsiang-Tsung Kung, David D. Cox. 2019

805 citations recorded by the source corpus.

The validation and deployment of novel research ideas in the field of Deep Learning is often limited by the availability of efficient compute kernels for certain basic primitives. In particular, operations that cannot leverage existing vendor libraries (e.g., cuBLAS, cuDNN) are at risk of facing poor device utilization unless custom implementations are written by experts – usually at the expense of portability. For this reason, the development of new programming abstractions for specifying custom Deep Learning workloads at a minimal performance cost has become crucial. We present Triton, a language and compiler centered around the concept of tile, i.e., statically shaped multi-dimensional sub-arrays. Our approach revolves around (1) a C-based language and an LLVM-based intermediate representation (IR) for expressing tensor programs in terms of operations on parametric tile variables and (2) a set of novel tile-level optimization passes for compiling these programs into efficient GPU code. We demonstrate how Triton can be used to build portable implementations of matrix multiplication and convolution kernels on par with hand-tuned vendor libraries (cuBLAS / cuDNN), or for efficiently implementing recent research ideas such as shift convolutions.

Subfields: Computer Vision and Pattern Recognition, Electrical and Electronic Engineering, Hardware and Architecture, Model Architectures, Efficiency & Compression

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Computer Vision and Pattern Recognition

  1. Luc Van Gool
  2. Dacheng Tao
  3. Trevor Darrell
  4. Jitendra Malik
  5. Xiaogang Wang
  6. Ming-Hsuan Yang
  7. Andrew Zisserman
  8. Yi Yang

In Electrical and Electronic Engineering

  1. Song Han
  2. Ji Lin
  3. Tim Dettmers
  4. Luke S. Zettlemoyer
  5. Haotian Tang
  6. Shang Yang
  7. Jiaming Tang
  8. Xingyu Dang

In Hardware and Architecture

  1. Kurt Keutzer
  2. Zi-Mei Yao
  3. Michael W. Mahoney
  4. Tri Dao
  5. Beidi Chen
  6. Bailin Wang
  7. Yoon Kim
  8. Yikang Shen

In Model Architectures

  1. Tri Dao
  2. Yuandong Tian
  3. Rameswar Panda
  4. Song Han
  5. Beidi Chen
  6. Christopher R'e
  7. Bailin Wang
  8. Yoon Kim

In Efficiency & Compression

  1. Kurt Keutzer
  2. Song Han
  3. Michael W. Mahoney
  4. Ji Lin
  5. Zi-Mei Yao
  6. Dan Alistarh
  7. Luke S. Zettlemoyer
  8. Tim Dettmers

Citations in the corpus