中文

利用卷积切片优化与 ISA 扩展推进直接卷积

计算机视觉与模式识别 2023-03-09 v1 硬件体系结构 机器学习 性能

摘要

卷积是机器学习模型推理中必须执行的计算最密集的操作之一。计算卷积的一种传统方法称为 Im2Col + BLAS 方法。本文提出 SConv:一种基于 MLIR/LLVM 代码生成工具链、可集成到机器学习编译器中的直接卷积算法。该算法引入:(a) 卷积切片分析(CSA)——一种卷积专用的三维缓存分块分析 pass,关注缓存层次上的分块复用;(b) 卷积切片优化(CSO)——一种利用 CSA 生成分块直接卷积宏内核的代码生成 pass;(c) 基于向量的打包(VBP)——一种基于向量寄存器移位指令、针对单位步长卷积的体系结构特定优化输入张量打包方案。在来自完整 ONNX-MLIR 机器学习模型的 393 个卷积上的实验表明,消除 Im2Col 变换并使用快速打包例程,使完整模型推理的总打包时间相较之前减少:Intel x86 上为 2.0x - 3.9x,IBM POWER10 上为 3.6x - 7.2x。相较基于当前 BLAS 实现的 Im2Col + BLAS 方法,端到端机器学习模型推理的加速比在 Intel x86 上为 9% - 25%,在 IBM POWER10 体系结构上为 10% - 42%。模型推理的总卷积加速比在 Intel x86 上为 12% - 27%,在 IBM POWER10 上为 26% - 46%。在计算逐点卷积时,SConv 在 219 个测试实例中的超过 83% 上也优于 BLAS GEMM。

关键词

引用

@article{arxiv.2303.04739,
  title  = {Advancing Direct Convolution using Convolution Slicing Optimization and ISA Extensions},
  author = {Victor Ferrari and Rafael Sousa and Marcio Pereira and João P. L. de Carvalho and José Nelson Amaral and José Moreira and Guido Araujo},
  journal= {arXiv preprint arXiv:2303.04739},
  year   = {2023}
}

备注

15 pages, 11 figures