ACT: Automatically Generating Compiler Backends from Tensor Accelerator ISA Descriptions

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Jain, Devansh, Pardeshi, Akash, Frigo, Marco, Patel, Krut, Khulbe, Kaustubh, Arora, Jai, Mendis, Charith
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866911203751624704
author Jain, Devansh
Pardeshi, Akash
Frigo, Marco
Patel, Krut
Khulbe, Kaustubh
Arora, Jai
Mendis, Charith
author_facet Jain, Devansh
Pardeshi, Akash
Frigo, Marco
Patel, Krut
Khulbe, Kaustubh
Arora, Jai
Mendis, Charith
contents Tensor compilers play a key role in enabling high-performance implementations of deep learning workloads. These compilers rely on existing CPU and GPU code generation backends to generate device-specific code. Recently, many tensor accelerators (neural processing units) have been proposed to further accelerate these workloads. Compared to commodity hardware, however, most of the proposed tensor accelerators do not have compiler backends with code generation support. Moreover, the accelerator designs are subject to fast iteration cycles, making it difficult to manually develop compiler backends similar to commodity hardware platforms. Therefore, to increase adoption and enable faster software development cycles for novel tensor accelerator designs, we need to make the compiler backend construction process more agile. To address this gap, we introduce ACT, a compiler backend generator that automatically generates compiler backends for tensor accelerators, given just the instruction set architecture (ISA) descriptions. We first formally specify the compiler backend generation problem that introduces a novel specification for describing tensor accelerator ISAs. Next, we design ACT such that it supports user-programmable memories and complex parameterized instructions that are prevalent in tensor accelerators. ACT uses a novel parameterized equality saturation-based instruction selection phase and a constraint programming-based memory allocation phase. We prove that compiler backends generated by ACT are sound and complete. Finally, we generate compiler backends for three accelerator platforms from industry and academia, and show that they match or outperform code written using hand-optimized kernel libraries while maintaining low compilation overheads.
format Preprint
id arxiv_https___arxiv_org_abs_2510_09932
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle ACT: Automatically Generating Compiler Backends from Tensor Accelerator ISA Descriptions
Jain, Devansh
Pardeshi, Akash
Frigo, Marco
Patel, Krut
Khulbe, Kaustubh
Arora, Jai
Mendis, Charith
Programming Languages
Hardware Architecture
Tensor compilers play a key role in enabling high-performance implementations of deep learning workloads. These compilers rely on existing CPU and GPU code generation backends to generate device-specific code. Recently, many tensor accelerators (neural processing units) have been proposed to further accelerate these workloads. Compared to commodity hardware, however, most of the proposed tensor accelerators do not have compiler backends with code generation support. Moreover, the accelerator designs are subject to fast iteration cycles, making it difficult to manually develop compiler backends similar to commodity hardware platforms. Therefore, to increase adoption and enable faster software development cycles for novel tensor accelerator designs, we need to make the compiler backend construction process more agile. To address this gap, we introduce ACT, a compiler backend generator that automatically generates compiler backends for tensor accelerators, given just the instruction set architecture (ISA) descriptions. We first formally specify the compiler backend generation problem that introduces a novel specification for describing tensor accelerator ISAs. Next, we design ACT such that it supports user-programmable memories and complex parameterized instructions that are prevalent in tensor accelerators. ACT uses a novel parameterized equality saturation-based instruction selection phase and a constraint programming-based memory allocation phase. We prove that compiler backends generated by ACT are sound and complete. Finally, we generate compiler backends for three accelerator platforms from industry and academia, and show that they match or outperform code written using hand-optimized kernel libraries while maintaining low compilation overheads.
title ACT: Automatically Generating Compiler Backends from Tensor Accelerator ISA Descriptions
topic Programming Languages
Hardware Architecture
url https://arxiv.org/abs/2510.09932