Apr, 2024

迈向具备上游 MLIR 的高性能 AI 编译器

TL;DR该研究提出了一种使用开源编译器的编译流程,构建一个框架,实现从通用的线性代数高级抽象中获得忍者级性能。通过用 TensorFlow 和 PyTorch 中的 Linalg-on-Tensor 中的输入 IR,执行缓存级优化和降低到微内核以实现高效矢量化,实现了超过 90% 与忍者编写等效程序性能的概念证明 MLIR 项目。该研究的贡献包括:(1)在张量方言上对基元进行打包以及用于缓存感知张量(单核和多核)的传播以及类型感知指令(VNNI、BFDOT、BFMMLA)的传播,包括在整个函数中进行形状传播;(2)线性代数流水线,包括切片、融合和缓冲策略,将模型级 IR 转化为硬件友好的切片调用;(3)将微内核降级到支持各种 CPU 的开源库的机制。