English

AXI4MLIR: User-Driven Automatic Host Code Generation for Custom AXI-Based Accelerators

Programming Languages 2024-03-22 v1 Hardware Architecture

Abstract

This paper addresses the need for automatic and efficient generation of host driver code for arbitrary custom AXI-based accelerators targeting linear algebra algorithms, an important workload in various applications, including machine learning and scientific computing. While existing tools have focused on automating accelerator prototyping, little attention has been paid to the host-accelerator interaction. This paper introduces AXI4MLIR, an extension of the MLIR compiler framework designed to facilitate the automated generation of host-accelerator driver code. With new MLIR attributes and transformations, AXI4MLIR empowers users to specify accelerator features (including their instructions) and communication patterns and exploit the host memory hierarchy. We demonstrate AXI4MLIR's versatility across different types of accelerators and problems, showcasing significant CPU cache reference reductions (up to 56%) and up to a 1.65x speedup compared to manually optimized driver code implementations. AXI4MLIR implementation is open-source and available at: https://github.com/AXI4MLIR/axi4mlir.

Keywords

Cite

@article{arxiv.2312.14821,
  title  = {AXI4MLIR: User-Driven Automatic Host Code Generation for Custom AXI-Based Accelerators},
  author = {Nicolas Bohm Agostini and Jude Haris and Perry Gibson and Malith Jayaweera and Norm Rubin and Antonino Tumeo and José L. Abellán and José Cano and David Kaeli},
  journal= {arXiv preprint arXiv:2312.14821},
  year   = {2024}
}

Comments

13 pages, 17 figures, to appear in CGO2024

R2 v1 2026-06-28T14:00:04.428Z