Sparse matrix-matrix multiplication (SpGEMM) is a critical kernel widely employed in machine learning and graph algorithms. However, real-world matrices' high sparsity makes SpGEMM memory-intensive. In-situ computing offers the potential to accelerate memory-intensive applications through high bandwidth and parallelism. Nevertheless, the irregular distribution of non-zeros renders SpGEMM a typical unstructured software. In contrast, in-situ computing platforms follow a fixed calculation manner, making them structured hardware. The mismatch between unstructured software and structured hardware leads to sub-optimal performance of current solutions. In this paper, we propose SPLIM, a novel in-situ computing SpGEMM accelerator. SPLIM involves two innovations. First, we present a novel computation paradigm that converts SpGEMM into structured in-situ multiplication and unstructured accumulation. Second, we develop a unique coordinates alignment method utilizing in-situ search operations, effectively transforming unstructured accumulation into high parallel searching operations. Our experimental results demonstrate that SPLIM achieves 275.74$\times$ performance improvement and 687.19$\times$ energy saving compared to NVIDIA RTX A6000 GPU.
翻译:稀疏矩阵-矩阵乘法(SpGEMM)是机器学习和图算法中广泛使用的关键计算核。然而,现实世界矩阵的高度稀疏性使得SpGEMM成为内存密集型任务。原位计算通过高带宽和并行性为加速内存密集型应用提供了潜力。然而,非零元的不规则分布使SpGEMM成为典型的非结构化软件。相比之下,原位计算平台遵循固定的计算模式,属于结构化硬件。非结构化软件与结构化硬件之间的不匹配导致当前解决方案的性能次优。本文提出SPLIM,一种新颖的原位计算SpGEMM加速器。SPLIM包含两项创新:首先,我们提出了一种新的计算范式,将SpGEMM转化为结构化的原位乘法与非结构化的累加;其次,我们开发了一种独特的坐标对齐方法,利用原位搜索操作,将非结构化累加高效转化为高并行度的搜索操作。实验结果表明,与NVIDIA RTX A6000 GPU相比,SPLIM实现了275.74倍的性能提升和687.19倍的能耗节省。