GPU 上的稀疏矩阵乘法设计原则
本文介绍了 GE-SpMM 方法,该方法可以在 GPU 上进行支持高通用性的稀疏矩阵加速操作,并且在真实的图像数据集上实验表明,GE-SpMM 可以在 Nvidia cuSPARSE 和 GraphBLAST 上实现高达 1.41 倍和 1.81 倍的加速,且在 GNN 模型上可以获得高达 3.67 倍的加速效果。
Jul, 2020
本文主要研究稀疏矩阵操作在机器学习应用中的三个方面,分别是稀疏 - 稠密矩阵乘法(SPMM)、采样稠密 - 稠密矩阵乘法(SDDMM)以及 SDDMM 与 SPMM 的组合。我们利用 Intel oneAPI 的显式 SIMD(ESIMD)SYCL 扩展 API 对 SPMM、SDDMM 和 FusedMM 操作进行了优化,与 CUDA 或 SYCL 相比,ESIMD API 能够编写明确向量化的内核代码。使用 ESIMD API 实现的稀疏矩阵算法在目标 Intel 数据中心 GPU 的性能接近峰值。我们将性能结果与 Intel 的 oneMKL 库在 Intel GPU 上和最近 NVIDIA V100 GPU 上的一个 CUDA 实现进行了对比,并证明了我们稀疏矩阵操作的优越性。
Nov, 2023
本文提出了一种有效的稀疏矩阵乘法加速架构 SpArch,它联合优化了输入和输出矩阵的数据局部性。通过设计高度并行化的基于流的合并器和一种压缩矩阵表示,该架构使总 DRAM 访问次数减少了 2.8x,平均速度提高了 4x - 1285x,节约了 6x-435x 能源。
Feb, 2020
通过将稀疏矩形块进行分割,利用 Tensor Core Units(TCUs)的混合精度模式实现的稀疏矩阵乘法算法 tSparse,可以显著比常用的 cuSPARSE、CUSP、RMerge2、Nsparse、AC-SpGEMM 和 spECK 的方法提高性能。
Sep, 2020
通过使用决策树和深度强化学习技术,本文提出一种基于机器学习的方法来自适应地选择适应不同稀疏度模式的 SpGEMM 任务的最合适的数据流方案,进一步对比了传统的启发式方法,结果显示使用机器学习来进行硬件加速器中的动态数据流选择能够带来高达 28 倍的性能提升。
Jun, 2024
本文提出一种基于稀疏矩阵的计算优化方法,通过对深度学习应用中的稀疏矩阵进行深入研究,开发出可用于稀疏矩阵与密集矩阵乘法和采样密集 - 密集矩阵乘法的高性能 GPU 核,实现了神经网络模型的加速和内存节省。
Jun, 2020
通过一项全面的基准测试,本研究评估了目前 GPU 上用于蝶形稀疏矩阵乘法算法的现状,旨在为用户提供一个简单的工具来选择最佳算法实现。结果显示现有实现在内存重写操作上耗费了总运行时间的高达 50%。同时,引入一种新的 CUDA 核心可以优化这些内存操作,最多可以使计算速度提高 1.4 倍,降低能耗 0.85 倍。我们还展示了新核心的广泛意义,以其加速神经网络的推断。
May, 2024
介绍了 NVIDIA Ampere GPU 架构中的稀疏张量核心 (Sparse Tensor Cores),它们利用了 2:4 的稀疏模式,通过两倍的数学吞吐量加速了稠密矩阵单元,并提出了一种简单的工作流程以训练满足 2:4 稀疏模式和保持准确性的网络,从而在稀疏张量核心上实现精确模型的高效部署。
Apr, 2021
本论文介绍了 cuMF, 一种基于 CUDA 的矩阵分解库,利用 GPU 技术,采用内存优化的交替最小二乘法(ALS)方法解决非常大规模的 MF 问题,并利用各种技术在单个或多个 GPU 上最大化其性能。与分布式 CPU 解决方案相比,cuMF 仅使用具有 4 个 Nvidia GPU 卡的单个机器就能够快 6-10 倍,成本效益高达 33-100 倍。
Mar, 2016