中文

通过算法-架构协同设计在定制架构上加速BLAS

硬件体系结构 2016-11-29 v5 数学软件

摘要

基础线性代数子程序(BLAS)在高性能和科学计算应用中扮演关键角色。实验表明,对于双/单精度通用矩阵乘法(XGEMM)等计算受限操作,以往的多核处理器和通用图形处理单元(GPGPUs)在65W至240W功耗下分别能达到理论峰值性能的15%至57%。对于单/双精度矩阵-向量乘法(XGEMV)等带宽受限操作,多核处理器和GPGPUs的性能分别仅为理论峰值性能的5%至7%。要在BLAS上实现高性能,需要摆脱传统思维,通过算法-架构协同设计向为BLAS量身定制的加速器演进。本文中,我们展示了在粗粒度可重构架构(CGRA)上通过算法-架构协同设计加速Level-1(向量操作)、Level-2(矩阵-向量操作)和Level-3(矩阵-矩阵操作)BLAS。我们选择REDEFINE CGRA作为实验平台,因为REDEFINE可以通过量身定制的自定义功能单元(CFUs)来适应特定兴趣领域。为了实现BLAS的高效顺序执行,我们提出了一个处理单元(PE)的设计,并在PE中进行了微架构增强,在DGEMM中达到PE理论峰值性能的74%,在DGEMV中达到40%,在双精度内积(DDOT)中达到20%。我们将此PE作为CFU附加到REDEFINE CGRA上,并展示了我们解决方案的可扩展性。最后,我们展示了PE相对于商用Intel微架构、ClearSpeed CSX700、FPGA和Nvidia GPGPUs的3至140倍性能提升。

关键词

引用

@article{arxiv.1610.06385,
  title  = {Accelerating BLAS on Custom Architecture through Algorithm-Architecture Co-design},
  author = {Farhad Merchant and Tarun Vatwani and Anupam Chattopadhyay and Soumyendu Raha and S K Nandy and Ranjani Narayan},
  journal= {arXiv preprint arXiv:1610.06385},
  year   = {2016}
}