AttentionEngine: A Versatile Framework for Efficient Attention Mechanisms on Diverse Hardware Platforms

Feiyang Chen, Yu Cheng, Lei Wang, Yuqing Xia, Ziming Miao +6 more
2/21/2025
cs.CLcs.LGcs.PF

Official code: microsoft/AttentionEngine (123 stars, MIT, last commit 2025-05-19).

Abstract

Transformers and large language models (LLMs) have revolutionized machine learning, with attention mechanisms at the core of their success. As the landscape of attention variants expands, so too do the challenges of optimizing their performance, particularly across different hardware platforms. Current optimization strategies are often narrowly focused, requiring extensive manual intervention to accommodate changes in model configurations or hardware environments. In this paper, we introduce AttentionEngine, a comprehensive framework designed to streamline the optimization of attention mechanisms across heterogeneous hardware backends. By decomposing attention computation into modular operations with customizable components, AttentionEngine enables flexible adaptation to diverse algorithmic requirements. The framework further automates kernel optimization through a combination of programmable templates and a robust cross-platform scheduling strategy. Empirical results reveal performance gains of up to 10x on configurations beyond the reach of existing methods. AttentionEngine offers a scalable, efficient foundation for developing and deploying attention mechanisms with minimal manual tuning. Our code has been open-sourced and is available at https://github.com/microsoft/AttentionEngine.

View on arXivView PDF

Code Implementations(1)

MIT
1233C, C++Oct 22, 20241 years agoMIT

Similar Papers

Cite this paper

@article{chen2025attentionengine,
  title  = {AttentionEngine: A Versatile Framework for Efficient Attention Mechanisms on Diverse Hardware Platforms},
  author = {Feiyang Chen and Yu Cheng and Lei Wang and Yuqing Xia and Ziming Miao and Lingxiao Ma and Fan Yang and Jilong Xue and Zhi Yang and Mao Yang and Haibo Chen},
  year   = {2025},
  eprint = {2502.15349},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2502.15349v1}
}

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/2502.15349.svg)](https://codeofpaper.com/paper/2502.15349)

Discussion