General sparse matrix-matrix multiplication (SpGEMM) is an integral part of many scientific computing, high-performance computing (HPC), and graph analytic applications. This paper presents a new compressed sparse vector (CSV) format for representing sparse matrices and FSpGEMM, an OpenCL-based HPC framework for accelerating general sparse matrix-matrix multiplication on FPGAs. The proposed FSpGEMM framework includes an FPGA kernel implementing a throughput-optimized hardware architecture based on Gustavson's algorithm and a host program implementing pre-processing functions for converting input matrices to the CSV format tailored for the proposed architecture. FSpGEMM utilizes a new buffering scheme tailored to Gustavson's algorithm. We compare FSpGEMM implemented on an Intel Arria 10 GX FPGA development board with Intel Math Kernel Library (MKL) implemented on an Intel Xeon E5-2637 CPU and cuSPARSE on an NVIDIA GTX TITAN X GPU, respectively, for multiplying a set of sparse matrices selected from SuiteSparse Matrix Collection. The experiment results show that the proposed FSpGEMM solution achieves on average 4.9x and 1.7x higher performance with 31.9x and 13.1x lower energy consumption per SpGEMM computation than the CPU and GPU implementations, respectively.
翻译:普通稀有矩阵矩阵乘法(SpGEMM)是许多科学计算、高性能计算和图表分析应用程序的一个组成部分。本文展示了一种新的压缩稀释矢量(CSV)格式,以代表稀释矩阵和FSpGEMM(基于OpCL的HPC框架,以加速FPGAs上一般稀散矩阵矩阵乘法。FSpGEMM(SpGEMM)框架包括一个FPGA核心部分,以Gustavson的算法和一个主机程序,执行将输入矩阵转换为适合拟议架构的CSV格式的预处理功能。FSpGEMM(C)使用一种适合Gustavson算法的新缓冲计划。我们比较了FSpGEMMM在Intel Arime 10 GX FPGGA开发委员会上实施的FGGGA和Intel Complional图书馆(MU)实施的Intel X E5-2637 CPU和CSPARSESE(CU) TITX X X X X GPIUPI X GPI和CMSMSMSMSMSBI 分别为13 平均计算方法的一套稀数,分别显示SMASBSBSBSBSBRMSBSBRBRA 和CA的SBRABA的SBSBSBA的低性测试结果。