Fireiron
Abstract
High GPU performance can only be achieved if a kernel efficiently uses the multi-layered compute and memory hierarchies. For example, accelerators such as NVIDIA ?s Tensor Cores require specific mappings of threads to data that must be considered in data movements to and from registers. Current compilers struggle to match the performance of vendor libraries like cu BLAS , which are developed by experts in assembly. This manual low-level coding is time-consuming and complicates to unlock the full GPU potential, preventing experimentation to achieve even higher performance. In this paper we introduce Fireiron, a scheduling language aimed at performance experts. Fireiron provides high-level abstractions for expressing GPU optimizations that are unavailable to compilers today and which so far must be written in assembly. Our innovation is that both computations and data movements are first class concepts that can be separately mapped to threads, as required for the efficient use of specialized hardware like Tensor Cores. We evaluate Fireiron on three GPU architectures against expert-written advanced matrix multiplications. First, we show that Fireiron schedules are able to express the strategies of these implementations requiring about 6× less lines of code. Second, we show that the code generated by Fireiron schedules outperforms the fastest implementations (provided by cu BLAS ) by more than 2×.
Authors 5
-
Affiliation as printed
University of Münster, Münster, Germany
-
Affiliation as printed
lowRISC, Cambridge, United Kingdom
-
Henrik Barthels Aachen
Affiliation as printed
RWTH Aachen University, Aachen, Germany
-
Affiliation as printed
University of Washington, Seattle, WA, USA
-
Affiliation as printed
NVIDIA Corporation, Redmond, WA, USA
Cited by 27 stored of 28
No patents citing this paper on Lens.org (checked 2026-10-06).