Accelerator-driven Data Arrangement to Minimize Transformers Run-time on Multi-core Architectures

Alireza Amirshahi, Giovanni Ansaloni, David Atienza
12/20/2023
cs.ARcs.AI

No official code found. Best implementation: gem5-X/TiC-SAT (24 stars, BSD-3-Clause, last commit 2025-05-14).

Abstract

The increasing complexity of transformer models in artificial intelligence expands their computational costs, memory usage, and energy consumption. Hardware acceleration tackles the ensuing challenges by designing processors and accelerators tailored for transformer models, supporting their computation hotspots with high efficiency. However, memory bandwidth can hinder improvements in hardware accelerators. Against this backdrop, in this paper we propose a novel memory arrangement strategy, governed by the hardware accelerator's kernel size, which effectively minimizes off-chip data access. This arrangement is particularly beneficial for end-to-end transformer model inference, where most of the computation is based on general matrix multiplication (GEMM) operations. Additionally, we address the overhead of non-GEMM operations in transformer models within the scope of this memory data arrangement. Our study explores the implementation and effectiveness of the proposed accelerator-driven data arrangement approach in both single- and multi-core systems. Our evaluation demonstrates that our approach can achieve up to a 2.8x speed increase when executing inferences employing state-of-the-art transformers.

View on arXivView PDF

Code Implementations(1)

gem5-X/TiC-SATCommunity100%
BSD-3-Clause
243C, M4Oct 19, 20221 years agoBSD-3-Clause

Similar Papers

Cite this paper

@article{amirshahi2023acceleratordriven,
  title  = {Accelerator-driven Data Arrangement to Minimize Transformers Run-time on Multi-core Architectures},
  author = {Alireza Amirshahi and Giovanni Ansaloni and David Atienza},
  year   = {2023},
  eprint = {2312.13000},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2312.13000v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2312.13000.svg)](https://codeofpaper.com/paper/2312.13000)

Discussion