This repository contains the source code and documentation for act-backend
, a compiler backend generator in the ACT Ecosystem that automatically generates compiler backends from ISA specifications written in TAIDL.
For more details about the ACT Ecosystem, refer to the top-level repository: act-compiler/act.
TAIDL is a domain-specific language designed to define instruction set architectures (ISAs) for tensor accelerators. It is published at MICRO 2025. TAIDL not only standardizes the way tensor accelerator ISAs are specified but also enables automated generation of tools such as test oracles (functional simulators) and compiler backends, significantly reducing the effort required to develop and maintain these components.
act-backend
is one of the tool generators in the ACT Ecosystem that consumes TAIDL specifications and emits out a compiler backend instantaneously.
The generated compiler backend translates high-level tensor kernels in XLA-HLO IR into low-level machine code for the target tensor accelerator defined in TAIDL.
Therefore, it can be directly integrated into existing ML compilers like XLA, enabling seamless support for tensor accelerators in popular machine learning frameworks like JAX and PyTorch with minimal engineering effort.
The compiler backend has provable guarantees of soundness (i.e., it will never generate invalid machine code) and completeness (i.e., it can generate machine code for all valid programs). Furthermore, the generated compiler backend supports integration with cost models to enable performance-aware code generation. The generated compiler backend is agnostic to the choice of the cost model and can be easily adapted to work with different cost models like cycle-accurate simulators, analytical models, or ML-based models.
Details on automatically generating compiler backends from TAIDL definitions is present in our arXiv release.