中文

Rosko:用于稀疏矩阵乘法核的行跳过外积方法

机器学习 2023-07-11 v1 硬件体系结构 性能 编程语言

摘要

我们提出 Rosko——行跳过外积(row skipping outer products)——用于推导稀疏矩阵乘法(SpMM)核,以降低深度神经网络(DNNs)的计算与内存访问需求。Rosko 允许在程序执行期间跳过整行计算,且稀疏性管理开销较低。我们分析推导了稀疏 CPU 核,其适应给定硬件特性,有效利用处理器核心并最小化数据移动,无需自动调优或搜索空间探索。Rosko 可与其他外积调度方法集成,使其利用 Rosko 的打包格式跳过不必要的计算,从而借助行跳过。在多种神经网络工作负载的真实硬件上,Rosko 核优于现有的自动调优与基于搜索的解决方案以及最先进的厂商优化库。对于机器学习中典型的稀疏度介于 65% 至 99.8% 的矩阵,Rosko 核在 Intel 和 ARM CPU 上实现了最高 6.5 倍的运行时间缩减。

关键词

引用

@article{arxiv.2307.03930,
  title  = {Rosko: Row Skipping Outer Products for Sparse Matrix Multiplication Kernels},
  author = {Vikas Natesh and Andrew Sabot and H. T. Kung and Mark Ting},
  journal= {arXiv preprint arXiv:2307.03930},
  year   = {2023}
}

备注

Rosko's CPU implementation can be found at https://github.com/vnatesh/Rosko