分享自:

基于FPGA的Top-k SPMV高效扩展用于近似嵌入相似性计算

期刊:IEEEDOI:10.1109/ACCESS.2021.3054567

本文介绍了一项由Alberto Parravicini、Luca Giuseppe Cellamare、Marco Siracusa和Marco D. Santambrogio等研究人员共同完成的研究,他们来自意大利米兰理工大学(Politecnico di Milano)的DEIB(电子、信息和生物工程系)。该研究于2021年发表在ACM/IEEE设计自动化会议(DAC)上,题为《Scaling Up HBM Efficiency of Top-k SPMV for Approximate Embedding Similarity on FPGAs》。研究的主要目标是优化稀疏矩阵-向量乘法(Sparse Matrix-Vector Multiplication, SPMV)中的Top-k计算,以提升信息检索(IR)和推荐系统中的相似性搜索性能。

研究背景与动机

Top-k SPMV是推荐系统和信息检索中的关键计算任务,用于从稀疏嵌入(sparse embeddings)中找到与输入嵌入最相似的k个嵌入。稀疏嵌入是通过神经网络生成的短数值表示,能够有效捕捉重要信息并过滤噪声,从而减少内存占用和计算时间。然而,Top-k SPMV的计算具有极高的内存需求,且涉及随机内存访问,这使得其在传统的通用计算架构(如CPU和GPU)上表现不佳。FPGA(现场可编程门阵列)由于其可定制的数据表示和内存子系统,能够更好地优化此类计算任务。

研究方法与流程

研究团队提出了一种基于FPGA的Top-k SPMV设计,主要包含以下几个关键步骤:

  1. 矩阵分区与近似计算
    研究提出了一种分区方案,将稀疏矩阵划分为多个子矩阵,每个子矩阵由一个独立的FPGA核心处理。每个核心计算其分区内的Top-k结果,最终通过汇总各分区的结果来近似全局Top-k值。这种分区方法显著减少了计算复杂度,同时通过增加分区数量(c)来提高近似精度。

  2. 块流式CSR矩阵格式(BS-CSR)
    研究团队提出了一种新的稀疏矩阵存储格式——块流式CSR(Block-Streaming CSR, BS-CSR),该格式结合了CSR(压缩稀疏行格式)的低内存占用和COO(坐标格式)的流式访问特性。BS-CSR通过减少数据包中的指针位数和优化非零值的存储,显著提高了内存带宽的利用率和计算效率。

  3. FPGA硬件设计
    研究设计了一个多核FPGA架构,每个核心使用一个HBM(高带宽内存)通道读取输入矩阵,并通过URAM(超高速随机访问内存)存储输入向量。每个核心的处理流程分为四个阶段:数据读取、部分结果聚合、行完成检测和Top-k值更新。通过这种流水线设计,研究团队成功隐藏了Top-k更新的计算开销。

  4. 低精度计算与资源优化
    研究采用了低精度定点算术(如20位和25位)来进一步优化FPGA资源利用率和计算性能。实验表明,低精度计算不仅减少了资源消耗,还显著提高了计算速度,同时保持了较高的计算精度。

主要结果

研究团队在Xilinx Alveo U280加速卡上进行了实验评估,主要结果如下:

  1. 性能提升
    与多线程CPU实现相比,FPGA设计在Top-k SPMV任务中实现了100倍的加速。与GPU相比,FPGA设计在带宽低20%的情况下,仍实现了2倍的性能提升,并且功耗效率提高了14.2倍。

  2. 功耗效率
    FPGA设计的功耗仅为35W,远低于CPU(300W)和GPU(250W)的功耗。在性能/功耗比方面,FPGA设计比CPU高400倍,比GPU高14.2倍。

  3. 近似精度
    实验表明,即使在低精度(20位定点)下,FPGA设计的Top-k计算结果精度仍高于97%,与高精度GPU实现相比具有竞争力。

研究结论与意义

该研究提出了一种基于FPGA的高效Top-k SPMV设计,通过分区近似计算、BS-CSR矩阵格式和低精度算术优化,显著提升了计算性能和功耗效率。该设计特别适用于实时信息检索和推荐系统,能够处理包含数百万行和数亿非零值的稀疏矩阵,同时保持低延迟和高精度。

研究亮点

  1. 创新性矩阵格式
    BS-CSR格式通过优化数据包结构和减少冗余存储,显著提高了内存带宽利用率和计算效率。

  2. 多核FPGA设计
    研究提出的多核FPGA架构能够充分利用HBM带宽,并通过分区近似计算实现了高性能和低功耗。

  3. 低精度计算优化
    低精度定点算术不仅减少了资源消耗,还显著提升了计算速度,同时保持了较高的计算精度。

未来工作

研究团队计划进一步探索自适应压缩矩阵表示方法,通过动态调整FPGA的数值精度来满足不同的精度和性能需求。此外,他们还计划将该设计应用于更小型的FPGA加速卡,以进一步降低成本和功耗。

这项研究为稀疏矩阵计算和实时信息检索提供了新的解决方案,具有重要的科学价值和应用前景。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com