Task-Based Algorithm for Matrix Multiplication: A Step Towards Block-Sparse Tensor Computing
分布式存储矩阵乘法(MM)是许多领域(机器学习、量子物理)中算法的关键元素。用于密集MM的常规算法依赖于规则/均匀数据分解来确保负载平衡。这些特性与量子物理中快速方法越来越相关的不规则结构(块稀疏或块内秩稀疏)相冲突。为了处理这种不规则数据,我们提出了一种新的MM算法的基础上可扩展的通用矩阵乘法算法(SUMMA)。新的特点是:(1)多问题调度的SUMMA迭代,(2)细粒度的基于任务的制定。后者消除了显式的节点间同步的需要,与多迭代调度,这允许由于非均匀矩阵结构的负载不平衡。对于具有均匀和不均匀块大小的平方MM(后者模拟具有一般不规则结构的矩阵),我们发现在商品和高端硬件上,在弱和强缩放制度中表现出色。
2015-04-20 cs.DC
Semi-External Memory Sparse Matrix Multiplication for Billion-Node Graphs
稀疏矩阵乘法传统上在内存中执行,并使用多个节点的分布式内存扩展到大型矩阵。相比之下,我们通过以半外部存储器(SEM)方式实现稀疏矩阵密集矩阵乘法(SpMM)来扩展稀疏矩阵乘法超过存储器容量;即,我们将稀疏矩阵保存在商品SSD上,将密集矩阵保存在内存中。我们的SEM-SpMM集成了许多针对大型幂律图的内存优化。它的性能优于Trilinos和英特尔MKL的内存实现,并可扩展到十亿节点图形,远远超出内存的限制。此外,在单个大型并行机上,我们的SEM-SpMM与Trilinos的分布式实现一样快,使用五倍的处理能力。我们还在内存中运行我们的实现(IM-SpMM),以量化在SSD上保存数据的开销。当密集矩阵超过四列时,SEM-SpMM在图上实现了IM-SpMM的几乎100%性能;它在所有输入上实现了IM-SpMM的至少65%性能。我们将我们的SpMM应用于三个重要的数据分析任务-PageRank,eigensolving和非负矩阵分解-并表明我们的SEM实现显着推进了最先进的技术。
2016-10-14 cs.DC
RDMA-Based Algorithms for Sparse Matrix Multiplication on GPUs
本文针对GPU分布式环境下的稀疏矩阵乘法,提出基于RDMA和NVSHMEM的异步SpMM与SpGEMM算法,实验表明其性能优于批量同步方案,并支持工作窃取等新算法。
2024-05-31 cs.DC
Tight Memory-Independent Parallel Matrix Multiplication Communication Lower Bounds
矩阵乘法算法的通信下界早已建立。然而,大多数渐近分析方法要么忽略了常数因子,要么没有得到最严格的可能值。最近的工作表明,更仔细的分析,提高了一些经典的矩阵乘法下界的最佳已知常数,并有助于确定更有效的算法,匹配的领导阶项的下界,提高实际性能。本文的主要成果是建立了并行矩阵乘法的与内存无关的通信下界。我们的常数改善以前的工作中的每三种情况下,取决于矩阵的纵横比的相对大小。
2022-05-26 cs.DC
Distributed-Memory Parallel Algorithms for Sparse Matrix and Sparse Tall-and-Skinny Matrix Multiplication
针对稀疏矩阵与高瘦矩阵乘法(TS-SpGEMM)的性能瓶颈,提出一种基于定制1D划分和稀疏感知分块的分布式内存算法,结合本地与远程计算降低通信开销,较2D和3D SUMMA平均提升5倍性能,并在512节点上验证了多源广度优先搜索等应用的可扩展性。
2024-08-21 cs.DC
Porting of the DBCSR library for Sparse Matrix-Matrix Multiplications to Intel Xeon Phi systems
稀疏矩阵相乘是模拟含有数千个原子和电子的系统的电子结构的关键运算。高度优化的稀疏线性代数库DBCSR(分布式块压缩稀疏行)专门设计用于有效地执行此类稀疏矩阵-矩阵乘法。该库是线性标度电子结构理论和CP 2K中低标度相关方法的基本构建块。它使用MPI和OpenMP进行并行化,并可以通过CUDA利用GPU加速器。我们描述了DBCSR在采用英特尔至强融核Knights Landing(KNL)处理器的系统上与采用英特尔至强CPU的系统(包括采用GPU的系统)的性能比较。我们发现,在相同数量的节点上,基于Cray XC 40 KNL的系统上的DBCSR比使用Nvidia P100卡的混合Cray XC 50慢11%-14%。与配备双插槽Intel Xeon CPU的Cray XC 40系统相比,KNL的速度最高可提高24%。
2017-08-21 cs.DC
Design Principles for Sparse Matrix Multiplication on the GPU
我们实现了两个新的算法稀疏矩阵密集矩阵乘法(SpMM)的GPU上。我们的算法期望稀疏输入流行的压缩稀疏行(CSR)格式,因此不需要昂贵的格式转换。虽然以前的SpMM工作集中在线程级并行,我们还专注于延迟隐藏与指令级并行和负载平衡。我们表明,无论是理论上和实验上,建议的SpMM是一个更好的适合GPU比以前的方法。我们确定了一个关键的内存访问模式,允许有效地访问到输入和输出矩阵,这是至关重要的SpMM获得优异的性能。通过结合这两个成分--(i)合并为基础的负载平衡和(ii)行为主合并内存访问-我们证明了4.1倍的峰值加速比和31.7%的几何加速比在现实世界的数据集上的最先进的SpMM实现。
2018-06-12 cs.DC
Communication-Avoiding and Memory-Constrained Sparse Matrix-Matrix Multiplication at Extreme Scale
稀疏矩阵-矩阵乘法(Sparse matrix-matrix multiplication,SpGEMM)是各种图、科学计算和机器学习算法中广泛使用的核心。在本文中,我们考虑在数十万个处理器上执行SpGEMM,在输出矩阵中生成数万亿个非零。这种极端规模的分布式SpGEMM面临两个关键挑战:(1)高通信成本和(2)生成输出的内存不足。我们通过集成的通信避免和内存受限的SpGEMM算法来解决这些挑战,该算法可扩展到262,144个核心(超过100万个硬件线程),并且只要输入和输出的一小部分适合聚合内存,就可以乘以任何大小的稀疏矩阵。当我们在Cray XC 40超级计算机上从16,384个核心增加到262,144个核心时,新的SpGEMM算法在乘以大规模蛋白质相似性矩阵时运行速度快了10倍。
2020-10-16 cs.DC
Algorithms for Parallel Shared-Memory Sparse Matrix-Vector Multiplication on Unstructured Matrices
针对非结构化稀疏矩阵,提出六种混合SpMV算法,结合并行化、存储格式和非零排序优化,其中一种在多CPU架构上性能提升19%,并分析存储格式转换开销。
2025-02-26 cs.DC
Bandwidth-Optimized Parallel Algorithms for Sparse Matrix-Matrix Multiplication using Propagation Blocking
稀疏矩阵-矩阵乘法(Sparse matrix-matrix multiplication,SpGEMM)是各种图、科学计算和机器学习算法中广泛使用的核心。众所周知,SpGEMM是一个内存受限的操作,其峰值性能预计将受到内存带宽的限制。然而,现有的算法未能饱和的内存带宽,导致在Roofline模型下的次优性能。在本文中,我们现有的SpGEMM算法的特点,其内存访问模式的基础上,开发实用的下限和上限的SpGEMM性能。然后,我们开发了一个基于外积矩阵乘法的SpGEMM算法。新开发的算法称为PB-SpGEMM饱和内存带宽通过使用传播阻塞技术,并通过执行在缓存排序和合并。对于许多实际矩阵,PB-SpGEMM在现代多核处理器上的运行速度比最先进的堆和散列SpGEMM算法快20%-50%。最重要的是,PB-SpGEMM达到了Roofline模型预测的性能,并且其性能在矩阵大小和稀疏性方面保持稳定。
2020-02-26 cs.DC
Hierarchical Parallel Matrix Multiplication on Large-Scale Distributed Memory Platforms
矩阵乘法是一个非常重要的计算内核,它本身就是许多科学应用的构建块,也是其他科学应用的流行代表。1969年提出的Cannon算法是第一个有效的并行矩阵乘法算法,它提供了理论上最优的通信开销。然而,该算法需要平方数量的处理器。在20世纪90年代中期,SUMMA算法被引入。SUMMA克服了Cannon算法的缺点,因为它也可以用于非平方数的处理器上。从那时起,HPC平台中的处理器数量增加了两个数量级,使得通信在总执行时间中的贡献更加显着。因此,应重新审视现有的并行矩阵乘法算法,以进一步降低通信成本。本文介绍了一种新的并行矩阵乘法算法--分层SUMMA(HSUMMA),它是对SUMMA的重新设计。我们的算法减少了通信成本的SUMMA通过引入一个两级的虚拟层次结构的二维安排的处理器。在IBM BlueGene-P上的实验表明,在2048核和16384核上,通信成本分别降低了2.08倍和5.89倍。
2013-06-18 cs.DC
Locality-aware parallel block-sparse matrix-matrix multiplication using the Chunks and Tasks programming model
本文提出了一种在分布式内存集群上实现并行块稀疏矩阵矩阵乘法的方法。通过使用四叉树矩阵表示,利用数据局部性,而无需有关矩阵稀疏模式的先验信息。由于我们最近开发了块和任务编程模型[并行计算],分布式四叉树矩阵表示可以直接实现。40,328(2014)]。四叉树表示与块和任务模型相结合,导致有利的弱和强缩放的通信成本与进程的数量,在理论上和数值实验中所示。矩阵由块对象的稀疏四叉树表示。层次结构中的叶子是块稀疏子矩阵。稀疏性由矩阵库动态检测,并且可以发生在层次结构中的任何级别和/或子矩阵叶内。在图形处理单元(GPU)可用的情况下,CPU和GPU都用于叶级乘法工作,从而利用每个节点的全部计算能力。的性能进行评估,为矩阵具有不同的稀疏结构,包括电子结构计算的例子。与不利用数据局部性的方法相比,我们的局部感知方法显着减少了通信,在弱缩放测试中实现了每个节点基本上恒定的通信。
2016-06-27 cs.DC
RSH-SpMM: A Row-Structured Hybrid Kernel for Sparse Matrix-Matrix Multiplication on GPUs
University of Science and Technology of China(中国科学技术大学)
RSH-SpMM通过自适应行划分和RS-Tile表示法,提升GPU上稀疏矩阵-矩阵乘法的性能,实现1.27至6.13倍的加速。
2026-02-24 cs.DC
AsyncSparse: Accelerating Sparse Matrix-Matrix Multiplication on Asynchronous GPU Architectures
Cornell University(康奈尔大学);Georgia Institute of Technology(佐治亚理工学院)
本文提出两种新内核,利用异步GPU特性优化稀疏矩阵乘法,其中WCSR内核在SuiteSparse矩阵上性能优于现有方法,BCSR内核在Qwen2.5-7B预填充任务中实现显著加速。
2026-04-20 cs.DC
Is Sparse Matrix Reordering Effective for Sparse Matrix-Vector Multiplication?
本文评估了稀疏矩阵重排序对多核CPU上稀疏矩阵-向量乘法性能的影响,分析了不同重排序策略在顺序与并行执行下的增益差异、跨机器一致性及负载不均衡问题。
2025-09-21 cs.DC cs.PF
Batched Sparse Matrix Multiplication for Accelerating Graph Convolutional Networks
图卷积网络(GCN)作为一种高精度的机器学习方法,近年来在生物信息学和化学信息学领域得到了广泛的关注。GCN处理卷积运算以及图形结构,GPU用于处理大量运算,包括当图形结构表示为具有稀疏矩阵格式的邻接矩阵时的稀疏-密集矩阵乘法(SpMM)。然而,SpMM操作上的小图,其中节点的数量是几十或几百,很难利用高并行性或GPU的计算能力。因此,SpMM成为GCN应用中训练和推理的瓶颈。为了提高GCN应用程序的性能,提出了一种新的SpMM算法,特别是针对小稀疏矩阵的SpMM算法和Batched SpMM算法,该算法利用GPU的高并行性,通过单个CUDA内核处理多个SpMM操作。据我们所知,这是第一个工作的批处理方法的SpMM。我们评估了GCN应用程序在采用NVIDIA Tesla P100 GPU的TSUBAME 3.0上的性能,我们的批处理方法在训练和推理方面分别显示出高达1.59倍和1.37倍的显著加速。
2019-03-27 cs.DC
GE-SpMM: General-purpose Sparse Matrix-Matrix Multiplication on GPUs for Graph Neural Networks
图神经网络(GNN)在各个领域都取得了显著的进步。稀疏矩阵-矩阵乘法(SpMM)是GNN中的基本运算符,它执行稀疏矩阵和稠密矩阵之间的乘法。在GPU等并行硬件上加速SpMM可能面临以下挑战:从GNN应用程序的角度来看,需要考虑兼容性。一般的GNN算法需要类似于SpMM的操作(例如,池化),这在当前高性能GPU库中不支持(例如,Nvidia cuSPARSE)。此外,在以前的实现中的复杂的预处理将导致沉重的数据格式转换开销在GNN框架。从GPU硬件的角度来看,GPU上的SpMV(稀疏矩阵向量)设计中的优化并不适用于SpMM。SpMM暴露了密集输出矩阵中的列并行性,但是从SpMV直接泛化导致对全局内存中的稀疏矩阵的低效的、未合并的访问。稀疏行数据可以在GPU线程之间重用,这在从SpMV继承的SpMM设计中是不可能的。为了应对这些挑战,我们提出了GE-SpMM。GE-SpMM对以最常见的压缩稀疏行(CSR)格式表示的稀疏矩阵执行类似于SpMM的操作,因此它可以嵌入到GNN框架中,无需预处理开销,并支持通用GNN算法。我们引入了合并行缓存方法来并行处理列,并确保合并访问稀疏矩阵数据。我们还提出了粗粒度的Warp合并,以减少GPU warp之间的冗余数据加载。在真实世界的图数据集上的实验表明,GE-SpMM比Nvidia cuSPARSE和GraphBLAST的加速比分别高达1.41倍和1.…
2020-07-07 cs.DC
Efficient Sparse-Dense Matrix-Matrix Multiplication on GPUs Using the Customized Sparse Storage Format
稀疏矩阵到稠密矩阵的乘法(SpDM)被广泛地应用于诸如科学计算和机器学习的许多领域。然而,现有的工作忽视了SpDM在现代众核架构(如GPU)上的性能优化。存储数据结构有助于稀疏矩阵以节省内存的方式存储,但由于稀疏结构的数据访问不规则,导致资源利用率较低,性能较差,给SpDM在现代GPU上的性能优化带来困难。在本文中,我们参考的屋顶性能模型的GPU设计一个高效的SpDM算法称为GCOOSpDM,在该算法中,我们利用合并的全局内存访问,快速共享内存重用和更多的操作,每字节的全局内存流量。实验在三个Nvidia GPU上进行评估(即,GTX 980、GTX Titan X Pascal和Tesla P100)与CUDA-8.0使用大量矩阵,包括公共数据集和随机生成的矩阵。实验结果表明,GCOOSpDM在许多矩阵中实现了比Nvidia库cuSPARSE高1.5-8 $\times$的加速比。我们还分析了特定GPU上的并行级操作,以了解GCOOSpDM和cuSPARSE之间的性能差距。分析的指令确认cuSPARSE在慢速内存访问(包括DRAM访问和L2缓存访问)上花费了大量时间,而GCOOSpDM将这种慢速内存访问转移到更快的共享内存,这主要有助于性能提升。结果还表明,GCOOSpDM将优于密集算法(cuBLAS)与较低的稀疏比cuSPARSE在GPU上。
2020-05-29 cs.DC
PARS3: Parallel Sparse Skew-Symmetric Matrix-Vector Multiplication with Reverse Cuthill-McKee Reordering
本文提出PARS3方法,利用RCM重排序将稀疏反对称矩阵转为带状矩阵并划分为3部分并行化,首次实现并行反对称SpMV内核,较串行实现加速达19倍,且超越基于图着色的方法并适用于对称SpMV。
2024-07-24 cs.DC
SpSYRK: Half the Work in Distributed Sparse Matrix Multiplication
Cornell University(康奈尔大学)
本文提出利用对称性的分布式稀疏SYRK方法,通过优化划分与通信减少计算通信开销,在Perlmutter超算32节点上实现2倍加速,可直接替换现有分布式SpGEMM相关应用。
2026-08-12 cs.DC
Exploring Sparse Matrix Multiplication Kernels on the Cerebras CS-3
North Carolina State University(北卡罗来纳州立大学);Argonne National Laboratory(阿贡国家实验室)
本文研究了Cerebras CS-3在稀疏线性代数内核中的性能,针对稀疏-密集矩阵乘法和采样密集-密集矩阵乘法进行了优化,结果显示在高稀疏度下CS-3性能优于CPU,但稀疏度超过99%时性能下降。
2026-08-11 cs.DC
Hybrid-parallel sparse matrix-vector multiplication with explicit communication overlap on current multicore-based systems
我们评估优化的并行稀疏矩阵向量运算的几个代表性的应用领域广泛的基于多核的集群配置。首先,单插槽的基线性能进行了分析和建模的基本架构属性的标准多核芯片。在单个节点之外,并行稀疏矩阵-向量运算的性能通常受到通信开销的限制。从观察到,非阻塞MPI是无法隐藏通信成本使用标准的MPI实现,我们证明了通信和计算的显式重叠可以通过使用专用的通信线程,它可以运行在一个虚拟的核心。此外,我们确定的混合MPI/OpenMP编程的性能优势,由于改进的负载均衡,即使没有明确的通信重叠。我们比较纯MPI的性能结果,广泛使用的“矢量”混合编程策略,并明确重叠的现代多核集群和Cray XE 6系统。
2011-06-29 cs.DC
Mapping Parallel Matrix Multiplication in GotoBLAS2 to the AMD Versal ACAP for Deep Learning
本文研究在配备多AIE的AMD Versal ACAP上移植GotoBLAS2的GEMM优化技术,提出混合精度微内核与多AIE并行设计,实验证明其具备高并行可扩展性,满足深度学习自适应精度推理需求。
2024-04-23 cs.DC
A Systematic Survey of General Sparse Matrix-Matrix Multiplication
本文系统综述了通用稀疏矩阵-矩阵乘法(SpGEMM)的研究进展,按架构与设计选择分类梳理关键技术和优化方法,并通过性能比较指出未来研究方向。
2023-07-11 cs.DC
Sparse Matrix-Matrix Multiplication on Multilevel Memory Architectures : Algorithms and Experiments
具有多种存储介质的架构正在成为主流超级计算机部署的常见部分。所谓的多级存储器为每个存储器组件提供不同的特性,包括带宽、延迟和容量的变化。本文研究了稀疏矩阵乘法内核在两种领先的高性能计算架构(Intel的Knights Landing处理器和NVIDIA的Pascal GPU)上的性能。我们描述了一种数据放置方法和基于分块的算法,我们的内核,利用存在的多个内存空间在每个硬件平台。我们评估这些方法的性能w.r.t.使用自动缓存机制的标准算法。我们的研究结果表明,标准的算法,利用高速缓存重用执行以及多内存感知算法的架构,如KNL的内存子系统具有类似的延迟。然而,对于诸如GPU之类的架构,其中存储器子系统在带宽和延迟方面都有显著差异,多存储器感知方法对于良好的性能至关重要。此外,我们的新方法允许用户运行需要比每个计算节点的最快内存更大容量的问题,而不依赖于软件管理的缓存机制。
2018-04-02 cs.DC
Part of the Strassen algorithm can speed up matrix multiplication in a parallel pebbling game
University of Victoria(维多利亚大学)
本文提出部分Strassen算法,通过使用部分Strassen步骤在更短时间内完成矩阵乘法,内存占用小,三级版本比BLAS快20%,且随矩阵增大性能优于传统Strassen算法。
2026-10-08 cs.DC
Sparsity-Aware Roofline Models for Sparse Matrix-Matrix Multiplication
Texas A&M University(德克萨斯农工大学);Indiana University, Bloomington(印第安纳大学布鲁明顿分校)
本文研究了稀疏矩阵-稠密矩阵乘法的 Roofline 模型,通过考虑稀疏结构对算术强度和性能的影响,评估了三种实现方法,并发现单一模型无法准确预测不同结构的性能。
2026-04-08 cs.DC
ParamSpMM: Adaptive and Efficient Sparse Matrix-Matrix Multiplication on GPUs for GNNs
Beijing University of Posts and Telecommunications(北京邮电大学)
本文提出ParamSpMM,一种自适应高效的稀疏矩阵-矩阵乘法方法,通过参数化压缩稀疏行结构和机器学习决策器提升图神经网络训练效率,相比Nvidia cuSPARSE平均加速1.92倍。
2026-05-15 cs.DC
FlashSparse: Minimizing Computation Redundancy for Fast Sparse Matrix Multiplications on Tensor Cores
Beijing University of Posts and Telecommunications(北京邮电大学)
FlashSparse通过交换-转置策略最小化稀疏粒度,减少计算冗余并充分利用张量核心,在H100和RTX 4090上实现稀疏矩阵乘法5.5倍和3.22倍加速。
2024-12-15 cs.DC cs.LG
Hypergraph Partitioning for Sparse Matrix-Matrix Multiplication
稀疏矩阵-矩阵乘法(SpGEMM)是科学计算和数据分析中的一个关键计算核心,其性能往往受通信约束,本文提出了一种细粒度超图模型.该模型正确地描述了并行计算中沿关键路线的处理器间通信量和顺序计算中通过存储层次结构移动的数据量。我们发现,确定特定的输入矩阵的通信最优算法是等价于解决超图划分问题。我们的方法是稀疏依赖的,这意味着我们寻求最好的算法给定的输入矩阵。除了我们的(3D)细粒度模型,我们还提出了粗粒度的1D和2D模型,对应于更简单的SpGEMM算法。我们从理论上探讨我们的模型之间的关系,我们研究他们的性能实验的背景下,使用SpGEMM作为一个关键计算的应用程序。对于每个应用程序,我们发现,至少有一个粗粒度的模型是通信效率的细粒度的模型。我们还观察到,不同的应用程序有不同的算法的亲和力。我们的研究结果表明,超图是一个准确的模型推理的通信成本的SpGEMM以及探索SpGEMM算法设计空间的实用工具。
2016-03-17 cs.DC
Analysis of the Performance of the Matrix Multiplication Algorithm on the Cirrus Supercomputer
本研究在爱丁堡大学的 Cirrus 超级计算机上分析了串行与并行矩阵乘法算法的性能,证明了其可扩展性与效率,为实际应用中的优化提供了见解。
2024-08-27 cs.DC
Optimizing Block-Sparse Matrix Multiplications on CUDA with TVM
在CUDA平台上实现并优化了稠密矩阵和块稀疏矩阵之间的矩阵乘法运算。我们利用TVM(一种深度学习编译器)来探索操作的调度空间并生成高效的CUDA代码。通过TVM中的自动参数调整,我们的基于跨线程缩减的实现与其他最先进的框架相比具有竞争力或更好的性能。
2020-07-26 cs.DC cs.LG cs.MS
Verification Challenges in Sparse Matrix Vector Multiplication in High Performance Computing: Part I
Argonne National Laboratory(阿贡国家实验室)
本文提出SpMV的顺序和MPI并行实现,作为科学软件验证的挑战问题,基于PETSc库。
2025-10-15 cs.DC cs.LO cs.MS
Exact Sparse Matrix-Vector Multiplication on GPU's and Multicore Architectures
我们提出了有限域和环$\Zb/m\Zb$的稀疏矩阵--稠密向量乘法(\spmv{})的不同实现。我们利用图形卡处理器(GPU)和多核架构。我们的目标是提高\linbox库中的\spmv{}的速度,以及今后其黑盒算法的速度。此外,我们使用这个和一个新的并行化的sigma基算法在有限域上的并行块Wiedemann秩实现。
2010-04-21 cs.DC cs.MS cs.SC
DB-SpMSpV: Dual-View Blocked Sparse Matrix-Sparse Vector Multiplication for Dynamic GPU Workloads
Beihang University(北京航空航天大学)
本文提出面向动态GPU工作负载的双视角分块SpMSpV框架DB-SpMSpV,集成至DB-BFS和DB-Decoding后,在A100和RTX 4090上相比现有方法实现了显著加速。
2026-08-18 cs.DC
A Systematic Literature Survey of Sparse Matrix-Vector Multiplication
本文系统综述现代架构上的SpMV优化技术与硬件平台,通过实验比较先进实现,总结挑战并指出未来方向。
2024-04-09 cs.DC
SMAT: An Input Adaptive Sparse Matrix-Vector Multiplication Auto-Tuner
稀疏矩阵向量乘法(Sparse matrix vector multiplication,SpMV)是科学和工程应用中的一个重要核心问题.前面的优化是特定于稀疏矩阵格式的,并将最佳格式的选择公开给应用程序员。在这项工作中,我们开发了一个自动调优框架,以弥合特定的优化内核和它们的通用用途之间的差距。我们提出了一个SpMV自动调谐器(SMAT),提供了一个统一的接口,基于压缩稀疏行(CSR)的程序员隐式地选择最佳的格式和最快的实现任何输入稀疏矩阵在运行时。SMAT利用一个数据采掘模型,该模型基于从UF稀疏矩阵集合中的2373个矩阵中提取的一组性能参数来制定,以快速搜索最佳组合。实验表明,SMAT在Intel上实现了单精度75 GFLOP/s、双精度33 GFLOP/s的最高性能,在AMD上实现了单精度41 GFLOP/s、双精度34 GFLOP/s的最高性能。与MKL库中的稀疏函数相比,SMAT的运行速度提高了3倍以上。
2012-10-09 cs.DC cs.MS
Acc-SpMM: Accelerating General-purpose Sparse Matrix-Matrix Multiplication with GPU Tensor Cores
针对通用SpMM的硬件性能释放需求,提出基于GPU Tensor Core的高性能库Acc-SpMM,通过重排序、压缩格式等多重优化,在多代NVIDIA GPU上实现了相较cuSPARSE的显著性能提升。
2025-01-16 cs.DC
Accelerating Sparse Matrix-Matrix Multiplication with GPU Tensor Cores
稀疏通用矩阵-矩阵乘法(spGEMM)是许多科学和数据分析应用中的重要组成部分。然而,输入矩阵的稀疏模式和它们的模式的相互作用使得spGEMM具有挑战性。现代GPU包括张量核心单元(TCU),专门用于密集矩阵乘法。我们的目标是为稀疏矩阵重新使用TCU。我们的spGEMM算法tSparse的关键思想是使用TCU的混合精度模式来乘以稀疏矩形块。tSparse将输入矩阵划分为tile,并仅对包含一个或多个元素的tile进行操作。它创建区块的任务列表,并使用TCU执行这些区块的矩阵乘法。据我们所知,这是首次在spGEMM背景下使用TCU。我们表明,spGEMM,我们的平铺方法,从TCU的好处。与cuSPARSE、CUSP、RMerge 2、Nsparse、AC-SpGEMM和spECK相比,我们的方法显著提高了spGEMM的性能。
2020-09-29 cs.DC cs.MS cs.PF
Improving the Space-Time Efficiency of Processor-Oblivious Matrix Multiplication Algorithms
经典的高速缓存无关并行矩阵乘法算法在时间和空间上都达到了最优,但不能同时达到最优,这促使人们对这类算法的最佳平衡或折衷进行了大量的研究。我们研究了现代处理器无关的运行时系统,并找出了几种方法来提高算法的时间界限,同时仍然有界空间和缓存的要求是渐近最优的。通过我们的研究,我们给出了半环上一般矩阵乘法的次线性时间、最优工作、空间和缓存算法以及类Strassen快速算法。我们的实验也表明,这样的算法有经验的优势,经典的同行。本文的研究从理论和实证两个方面为如何优化高速缓存无关并行算法提供了新的见解和研究角度。
2019-11-13 cs.DC
Fast Strassen-based $A^t A$ Parallel Multiplication
矩阵乘法$A^t A$作为一种中间运算出现在许多问题的求解过程中。本文提出了一种新的$A^t A$乘法的高速缓存无关算法。我们的算法A $\scriptstyle \mathsf{T}$ A调用经典的Strassen算法作为子例程,将传统的$A^t A$乘法的计算成本%(以执行的产品的数量表示)降低到$\frac{2}{7}n^{\log_2 7}$。它适用于一般的矩形矩阵,并利用所得乘积矩阵的特殊对称性来节省内存。我们使用MPI范例来并行实现A $\scriptstyle \mathsf{T}$ A,并在Galileo集群的一小部分节点上测试其性能。实验结果表明,该通信系统具有良好的可扩展性和加速性,同时所设计的通信系统中交换的消息数最少。在测试的配置中,并行开销和固有的顺序时间分数可以忽略不计。
2019-02-06 cs.DC cs.MS
Scaling betweenness centrality using communication-efficient sparse matrix multiplication
介数中心性(BC)是一个重要的图问题,它通过穿过顶点的最短路径的数量来衡量顶点的重要性。我们提出了最大边界介数中心性(MFBC):一种基于新颖的稀疏矩阵乘法例程的简洁BC算法,其在$p$处理器上执行比最佳已知替代方案少$p^{1/3}$倍的通信,对于具有$n$顶点和平均度$k=n/p^{2/3}$的图。我们制定,实施,并证明了MFBC的正确性加权图利用幺半群,而不是半环,这使得一个令人惊讶的简洁的配方。MFBC的规模非常稀疏和相对密集的图形。它自动搜索分布式数据分解和稀疏矩阵乘法算法的空间,以获得最有利的配置。MFBC实现的性能比著名的CombBLAS库高出8倍,并显示出更强大的性能。我们的设计方法很容易扩展到其他图形问题。
2017-08-09 cs.DC cs.DM cs.MS
HC-SpMM: Accelerating Sparse Matrix-Matrix Multiplication for Graphs with Hybrid GPU Cores
针对真实图不规则性导致GPU上SpMM效率低的问题,提出HC-SpMM算法,利用混合GPU核心并结合数据划分、核心选择等优化,还集成至GNN流水线,在14个数据集上实现优于现有方案的加速效果。
2024-12-12 cs.DC
Accelerating Sparse Matrix-Matrix Multiplication on GPUs with Processing Near HBMs
SOLAB, SK hynix America(SK海力士美国公司 SOLAB);AMS, SK hynix(SK海力士 AMS);Texas State University(德克萨斯州立大学)
本文提出了一种基于哈希的多阶段SpGEMM方法和AIA技术,通过近内存处理优化GPU HBM上的稀疏矩阵矩阵乘法,显著提升性能,尤其在图分析和GNN训练任务中表现突出。
2025-12-12 cs.DC
LOw-cOst yet High-Performant Sparse Matrix-Matrix Multiplication on Arm SME Architectures
Beihang University(北京航空航天大学);Universitat Politècnica de València(瓦伦西亚理工大学)
针对Armv9架构中SME和SIMD资源难以协同利用于非结构化稀疏工作负载的问题,提出混合执行框架LOOPS,结合CSR和BCSR布局,协同使用NEON和SME资源,在多精度SpMM上实现了远超基线和GPU方法的加速比与能效。
2025-11-13 cs.DC
Efficient Distributed-Memory Parallel Matrix-Vector Multiplication with Wide or Tall Unstructured Sparse Matrices
本文提出了一种有效的技术,矩阵向量和向量转置矩阵乘法在分布式内存并行计算环境中,矩阵是非结构化的,稀疏的,有一个显着的列数比行数或反之亦然。我们的方法允许并行I/O,不需要大量的预处理,并具有相同的通信复杂性的矩阵向量乘法与列或行分区。我们使用MPI实现该方法。我们将矩阵划分为单个非零元素,而不是行或列,并使用与矩阵匹配的“重叠”向量表示。转置乘法使用矩阵特定的MPI通信和减少,我们可以建立一个有效的方式。所提出的技术实现了良好的工作每处理器的平衡,即使一些列是密集的,同时保持通信成本相对较低。
2018-12-03 cs.DC cs.MS
Highly Scalable Multiplication for Distributed Sparse Multivariate Polynomials on Many-core Systems
我们提出了一个高度可扩展的算法乘以稀疏的多元多项式表示的分布式格式。该算法不仅针对共享存储器多核计算机,而且针对计算机集群或附接到主机计算机的专用硬件,诸如图形处理单元或众核协处理器。通过在主并行步骤期间缺乏同步、锁定和假共享来确保大量核上的可扩展性。
2013-03-29 astro-ph.IM cs.DC cs.MS
Highly Parallel Sparse Matrix-Matrix Multiplication
Lawrence Berkeley National Laboratory(劳伦斯伯克利国家实验室);University of California, Santa Barbara(加利福尼亚大学圣塔芭芭拉分校)
针对广义稀疏矩阵-矩阵乘法,提出基于二维块分布和超稀疏内核的并行算法,实现处理器数量无限制下的加速,并通过MPI实现验证了数千处理器上的可扩展性。
2010-06-11 cs.DC cs.MS cs.NA
Sparse Random Khatri-Rao Product Codes for Distributed Matrix Multiplication
我们介绍了两个推广的范例,使用随机Khatri-Rao产品(RKRP)代码的分布式矩阵乘法。本文首先介绍了一类具有稀疏生成矩阵的稀疏随机Khatri-Rao乘积码。当输入矩阵稀疏时,SRKRP码比RKRP码具有更低的编码、计算和通信成本,同时它们表现出与其他现有技术方案相似的数值稳定性。我们实证研究的概率之间的关系的生成矩阵(仅限于一组非离散)的随机选择的SRKRP码是秩亏和各种参数的编码方案,包括稀疏度的生成矩阵和非离散的数量。其次,我们表明,如果主节点可以执行一个非常小的数量的矩阵产品的计算,除了由工人进行的计算,故障概率可以大大提高。
2022-05-12 cs.DC cs.IT math.IT
Efficiently Parallelizable Strassen-Based Multiplication of a Matrix by its Transpose
本研究提出缓存无关的ATA算法,以Strassen算法为子例程计算矩阵转置乘积$A^T A$,降低计算成本、节省内存,在共享内存与分布式环境下均展现出良好的可扩展性与优于现有方法的性能。
2021-10-25 cs.DC
Accelerating Matrix Multiplication: A Performance Comparison Between Multi-Core CPU and GPU
本文在消费级异构平台上比较顺序 C++、OpenMP 多核 CPU 与带共享内存优化的 CUDA GPU 矩阵乘法,证明 GPU 在大矩阵上可获得最高约593倍加速。
2025-07-26 cs.DC
Entropy Maximization in Sparse Matrix by Vector Multiplication ($\max_E SpMV$)
针对高度稀疏矩阵 SpMV 的随机访问与负载不均衡问题,提出最大化非零元素分布熵的矩阵置换预处理方法,使各架构均能受益并在 AMD 系统上实现 15% 性能提升。
2023-07-24 cs.DC
Performance Modeling of Streaming Kernels and Sparse Matrix-Vector Multiplication on A64FX
A64 FX CPU是目前Top500排行榜上排名第一的超级计算机。虽然它是一个传统的基于缓存的多核处理器,但其峰值性能和内存带宽可与加速器设备相媲美。为这样一个新的体系结构生成高效的代码需要很好地理解其性能特性。利用这些功能,我们构建的执行缓存存储器(ECM)的性能模型的A64 FX处理器在FX 700超级计算机,并验证它使用流循环。我们还确定架构的特点,并获得优化提示。将ECM模型应用于稀疏矩阵向量乘法(SpMV),我们激发了CRS矩阵存储格式不合适的原因以及SELL-C-sigma格式如何通过适当的代码优化实现SpMV的带宽饱和。
2020-09-29 cs.AR cs.DC cs.PF
Communication-Optimal Parallel Algorithm for Strassen's Matrix Multiplication
并行矩阵乘法是分布式高性能计算中研究最多的基本问题之一。我们得到了一个新的并行算法,该算法是基于Strassen的快速矩阵乘法和最小化通信。该算法优于所有已知的并行矩阵乘法算法,经典的和基于Strassen的,无论是渐进的,并在实践中。并行化Strassen算法的一个关键瓶颈是处理器之间的通信。Ballard,Demmel,Holtz和Schwartz(SPAA'11)使用底层计算图的扩展特性证明了这些通信成本的下限。我们的算法匹配这些下限,因此是通信最优的。它在最大可能范围内表现出完美的强缩放性。基准测试我们的实现在Cray XT4上,我们获得了超过经典和基于Strassen的算法的加速比,范围从24%到184%,对于固定的矩阵维数n=94080,其中节点的数量范围从49到7203。我们的并行化方法推广到其他快速矩阵乘法算法。
2012-02-14 cs.CC cs.DC cs.DS