中文

面向ARMv8架构上高效深度可分离卷积的研究

分布式、并行与集群计算 2022-06-27 v1

摘要

深度可分离卷积被广泛用于轻量级卷积神经网络(CNNs)。与经典卷积不同,深度可分离卷积的性能主要受内存访问而非算术运算的限制,因此直接算法通常比带有额外内存访问的间接算法(矩阵乘法、Winograd和基于FFT的卷积)更高效。然而,现有ARMv8架构上深度可分离卷积的直接实现在不同张量的寄存器级重用之间存在较差的权衡,通常导致次优性能。本文中,我们通过隐式填充、寄存器分块等提出了深度可分离卷积的新直接实现,包含前向传播、反向传播和权重梯度更新过程。与现有实现相比,我们的新实现能大幅减少寄存器与缓存间的通信开销。在两个ARMv8 CPU上的实验结果表明,相比开源库中现有直接实现和Pytorch中基于矩阵乘法的实现,我们的实现分别平均带来4.88倍和16.4倍的性能提升。

关键词

引用

@article{arxiv.2206.12124,
  title  = {Towards Effective Depthwise Convolutions on ARMv8 Architecture},
  author = {Ruochen Hao and Qinglin Wang and Shangfei Yin and Tianyang Zhou and Siqi Shen and Songzhu Mei and Jie Liu},
  journal= {arXiv preprint arXiv:2206.12124},
  year   = {2022}
}