中文

PowerFusion:一种具有显式数据移动描述与指令级图中间表示的张量编译器

机器学习 2023-07-12 v1 编程语言

摘要

深度神经网络(DNNs)在不同领域中具有关键用途。为加速 DNN 计算,人们提出了张量编译器以在不同领域专用加速器上生成高效代码。现有张量编译器主要关注计算效率的优化。然而,由于加速器的计算性能提升远快于内存性能,内存访问正成为关键性能瓶颈。当前张量编译器的中间表示(IR)缺乏对内存访问和数据依赖的直接描述,这给生成内存高效代码带来了显著挑战。在本文中,我们提出 IntelliGen,一种通过同时考虑计算与数据移动优化,为内存密集型算子生成高性能代码的张量编译器。IntelliGen 使用 GIR 表示 DNN 程序,其中包含指示其计算、数据移动和并行策略的原语。该信息将进一步被组合为指令级数据流图,通过搜索不同内存访问模式与计算操作来执行整体优化,并在不同硬件上生成内存高效代码。我们在 NVIDIA GPU、AMD GPU 和寒武纪 MLU 上评估 IntelliGen,相比当前性能最优的框架,分别实现了最高 1.97x、2.93x 和 16.91x(平均 1.28x、1.23x 和 2.31x)的加速。

关键词

引用

@article{arxiv.2307.04995,
  title  = {PowerFusion: A Tensor Compiler with Explicit Data Movement Description and Instruction-level Graph IR},
  author = {Zixuan Ma and Haojie Wang and Jingze Xing and Liyan Zheng and Chen Zhang and Huanqi Cao and Kezhao Huang and Shizhi Tang and Penghan Wang and Jidong Zhai},
  journal= {arXiv preprint arXiv:2307.04995},
  year   = {2023}
}

备注

12 pages, 14 figures