Scalable Task-Based Algorithm for Multiplication of Block-Rank-Sparse Matrices
基于任务的可扩展通用矩阵乘法算法(SUMMA),一个流行的矩阵乘法(MM)算法,适用于乘法的层次自由,秩结构的矩阵,出现在量子化学(QC)领域。我们制定的新功能是:(1)并发调度多个SUMMA迭代,(2)细粒度的基于任务的组合。这些功能使它容忍的负载不平衡,由于不规则的矩阵结构,并消除所有人为的来源的全球synchronization.Scalability迭代计算的平方根逆块秩稀疏QC矩阵的证明;满秩(密集)矩阵的性能,我们的SUMMA制定通常超过了国家的最先进的密集MM实现(ScaLAPACK和Cyclops张量框架)。
2015-10-09 cs.DC
A sparsity-aware distributed-memory algorithm for sparse-sparse matrix multiplication
提出一种分布式内存1D SpGEMM算法,利用MPI RDMA和块获取策略降低通信成本,在多种配置下优于CombBLAS中的2D和3D实现。
2024-08-26 cs.DC
Arrow Matrix Decomposition: A Novel Approach for Communication-Efficient Sparse Matrix Multiplication
本文提出将稀疏矩阵分解为少量 Arrow 矩阵并利用置换连接,实现通信避免的稀疏矩阵乘法,在数亿行矩阵上优于现有方法,具有近线性扩展性。
2024-03-20 cs.DC
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
A work-efficient parallel sparse matrix-sparse vector multiplication algorithm
我们设计并开发了一个工作效率高的多线程算法稀疏矩阵稀疏向量乘法(SpMSpV)的矩阵,输入向量和输出向量都是稀疏的。SpMSpV是新兴的GraphBLAS标准中的重要原语,并且是许多图算法的主力,包括广度优先搜索,二分图匹配和最大独立集。随着线程数的增加,现有的多线程SpMSpV算法可能会花费更多的时间来访问稀疏矩阵数据结构,而不是做算术。我们的共享内存并行SpMSpV算法的工作效率的意义上说,它的总工作是成比例的算术运算所需的数量。关键的见解是避免每个线程单独扫描矩阵列的列表。我们的算法是简单的实现和现有的基于列的稀疏矩阵格式。它在具有异构稀疏模式的不同矩阵和向量上表现良好。该算法的高性能实现在24核Intel Ivy Bridge处理器上实现了高达15倍的加速,在64核Intel KNL众核处理器上实现了高达49倍的加速。与现有算法的实现相比,我们的算法的性能在各种不同的输入类型上都是持续的,包括表示无标度和高直径图的矩阵。
2016-10-25 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
Locality Sensitive Hash Aggregated Nonlinear Neighbourhood Matrix Factorization for Online Sparse Big Data Analysis
矩阵分解(MF)可以从高维数据中提取低秩特征,并融合数据流形分布的信息,可以考虑非线性邻域信息。因此,MF对于稀疏大数据的低秩分析引起了广泛关注,例如,协同过滤(CF)推荐系统、社交网络和服务质量。然而,存在以下两个问题:1)用于构造图相似性矩阵(GSM)的巨大计算开销,以及2)用于中间GSM的巨大存储开销。因此,基于GSM的MF,例如,核MF、图正则化MF等,不能直接应用于云和边缘平台上稀疏大数据的低秩分析。为了解决稀疏大数据分析中的这一难题,本文提出了局部敏感哈希(LSH)聚合MF(LSH-MF),它可以解决以下问题:1)LSH-MF的概率投影策略可以避免GSM的构建。此外,LSH-MF可以满足稀疏大数据精确投影的要求。2)为了在GPU上运行LSH-MF进行细粒度并行化和在线学习,我们还提出了CUDA并行化的CULSH-MF。实验结果表明,CULSH-MF不仅可以减少计算时间和内存开销,而且可以获得更高的精度。与深度学习模型相比,CULSH-MF不仅可以节省训练时间,而且可以达到相同的精度性能。
2021-11-23 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
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
Is Sparse Matrix Reordering Effective for Sparse Matrix-Vector Multiplication?
本文评估了稀疏矩阵重排序对多核CPU上稀疏矩阵-向量乘法性能的影响,分析了不同重排序策略在顺序与并行执行下的增益差异、跨机器一致性及负载不均衡问题。
2025-09-21 cs.DC cs.PF
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
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
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
Hypergraph Partitioning for Sparse Matrix-Matrix Multiplication
稀疏矩阵-矩阵乘法(SpGEMM)是科学计算和数据分析中的一个关键计算核心,其性能往往受通信约束,本文提出了一种细粒度超图模型.该模型正确地描述了并行计算中沿关键路线的处理器间通信量和顺序计算中通过存储层次结构移动的数据量。我们发现,确定特定的输入矩阵的通信最优算法是等价于解决超图划分问题。我们的方法是稀疏依赖的,这意味着我们寻求最好的算法给定的输入矩阵。除了我们的(3D)细粒度模型,我们还提出了粗粒度的1D和2D模型,对应于更简单的SpGEMM算法。我们从理论上探讨我们的模型之间的关系,我们研究他们的性能实验的背景下,使用SpGEMM作为一个关键计算的应用程序。对于每个应用程序,我们发现,至少有一个粗粒度的模型是通信效率的细粒度的模型。我们还观察到,不同的应用程序有不同的算法的亲和力。我们的研究结果表明,超图是一个准确的模型推理的通信成本的SpGEMM以及探索SpGEMM算法设计空间的实用工具。
2016-03-17 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
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
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
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
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
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
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
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
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
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
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
Entropy Maximization in Sparse Matrix by Vector Multiplication ($\max_E SpMV$)
针对高度稀疏矩阵 SpMV 的随机访问与负载不均衡问题,提出最大化非零元素分布熵的矩阵置换预处理方法,使各架构均能受益并在 AMD 系统上实现 15% 性能提升。
2023-07-24 cs.DC
Low-Bandwidth Matrix Multiplication: Faster Algorithms and More General Forms of Sparsity
本研究改进了低带宽下稀疏矩阵乘法分布式算法,将均匀稀疏矩阵乘法的通信轮数从O(d^1.907)降至O(d^1.832),并拓展研究了行稀疏、列稀疏等多种非均匀稀疏形式的矩阵乘法问题。
2024-05-22 cs.DC
Highly Scalable Multiplication for Distributed Sparse Multivariate Polynomials on Many-core Systems
我们提出了一个高度可扩展的算法乘以稀疏的多元多项式表示的分布式格式。该算法不仅针对共享存储器多核计算机,而且针对计算机集群或附接到主机计算机的专用硬件,诸如图形处理单元或众核协处理器。通过在主并行步骤期间缺乏同步、锁定和假共享来确保大量核上的可扩展性。
2013-03-29 astro-ph.IM cs.DC cs.MS
OpSparse: a Highly Optimized Framework for Sparse General Matrix Multiplication on GPUs
稀疏广义矩阵乘法(SpGEMM)在许多实际应用中是一个重要而昂贵的计算原语。由于SpGEMM固有的不规则性及其输入矩阵的多样性,在现代处理器(如GPU)上开发高性能SpGEMM实现具有挑战性。最先进的SpGEMM库(即,$nsparse$和$spECK$)采用若干算法来解决全局负载平衡、局部负载平衡和结果矩阵的分配的挑战。虽然这些库专注于SpGEMM的高级算法设计,但它们忽略了几个低级别的特定于体系结构的优化,这导致其库中的实现效率低下。在本文中,我们将其低效的实现分为七类。基于我们的观察,我们提出了一个高度优化的SpGEMM库称为$OpSparse$。$OpSparse$中的优化包括1)通过提高共享存储器的利用率来优化装仓方法,2)通过减少对散列表的访问来优化散列方法,3)通过设置适当的装仓范围来提高散列方法中的散列冲突率和硬件利用率之间的折衷,4)通过最小化元数据的全局存储器使用来减少全局存储器利用的开销,以及5)通过将全局存储器分配与内核执行重叠来提高执行并行性。在Nvidia Tesla V100 GPU上使用26个常用矩阵进行的性能评估表明,$OpSparse$分别在三个最先进的库($cuSPARSE$、$nsparse$和$spECK$)上实现了高达$27.8\times$、$1.81\times$和$2.04\times$的性能加速。
2022-06-15 cs.DC
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
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
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
Sparse Matrix Multiplication in the Low-Bandwidth Model
我们研究低带宽模型中的矩阵乘法:有$n$计算机,我们需要计算两个$n \times n$矩阵的乘积。最初,计算机$i$知道每个输入矩阵的行$i$。在一个通信回合中,每台计算机可以发送和接收一个$O(\log n)$位消息。最后,计算机$i$必须输出乘积矩阵的行$i$。我们试图理解这个问题的复杂性,在均匀稀疏的情况下:每个输入矩阵的每一行和每一列最多有$d$非零,在产品矩阵,我们只需要知道在每一行或每一列中的最多$d$元素的值。这正是我们所拥有的设置,例如,当我们在最大度$d$的图中应用矩阵乘法进行三角形检测时。我们专注于支持的设置:矩阵的结构是已知的,只有非零元素的数值是未知的。有一种简单的算法可以在$O(d^2)$轮中解决该问题,但是对于大的$d$,已知存在更好的算法;在适度密集的状态下,该问题可以在$O(dn^{1/3})$通信循环中解决,并且对于非常大的$d$,主要解决方案是使用$O(n^{1.158})$通信循环的快速矩阵乘法算法(用于支持快速矩阵乘法的域和环上的矩阵乘法)。在这项工作中,我们表明,有可能克服二次障碍的所有值的$d$:我们提出了一个算法,解决了这个问题,在$O(d^{1.907})$轮的领域和环支持快速矩阵乘法和$O(d^{1.927})$轮的半环,独立的$n$。
2022-06-01 cs.DC cs.DS
DBCSR: A Blocked Sparse Tensor Algebra Library
大规模电子结构计算的先进算法大多基于处理多维稀疏数据。例子是稀疏矩阵矩阵乘法在线性缩放科恩-沙姆计算或准确的交换能的有效测定。当超越平均场方法时,例如对于Moller-Plesset微扰理论,RPA和耦合簇方法或GW方法,有必要操纵高阶稀疏张量。在其他领域也遇到了非常类似的问题,如信号处理,数据采掘,计算机视觉和机器学习。在稀疏矩阵线性代数库DBCSR(Distributed Block Compressed Sparse Row)的框架下实现了稀疏张量代数的功能。DBCSR专门设计用于有效地执行分块稀疏矩阵运算,因此扩展其功能以包括张量运算变得很自然。我们描述了新开发的张量接口和算法。特别是,我们介绍了张量收缩的基础上的快速矩形稀疏矩阵乘法算法。
2019-10-29 cs.DC
Serpens: A High Bandwidth Memory Based Accelerator for General-Purpose Sparse Matrix-Vector Multiplication
稀疏矩阵向量乘法(SpMV)将稀疏矩阵与密集向量相乘。SpMV在从图形分析到深度学习的许多应用中发挥着至关重要的作用。稀疏矩阵的随机存储器访问使得加速器设计具有挑战性。然而,基于高带宽存储器(HBM)的FPGA非常适合设计用于SpMV的加速器。在本文中,我们提出了Serpens,一个基于HBM的通用SpMV加速器。Serpens的特点是(1)通用设计,(2)以内存为中心的处理引擎,(3)索引合并,以支持任意SpMV的有效处理。根据对12个大尺寸矩阵的评估,Serpens在几何吞吐量方面分别比最新的加速器GraphLiLy和Sextans高1.91倍和1.76倍。我们还评估了2,519个SuiteSparse矩阵,Serpens的吞吐量比K80 GPU高2.10倍。在能量/带宽效率方面,Serpens分别比GraphLily、Sextans和K80高1.71x/1.99x、1.90x/2.69x和6.25x/4.06x。在扩展到24个HBM通道后,Serpens实现了高达60.55~GFLOP/s(30,204~MTEPS),是GraphLily的3.79倍。该代码可在www.example.com上获得。
2022-05-09 cs.AR cs.DC
Node Aware Sparse Matrix-Vector Multiplication
稀疏矩阵向量乘(SpMV)运算是许多仿真和线性求解器中的关键计算内核。与并行SpMV的参考实现相关联的大的通信要求导致差的并行可扩展性。通信成本取决于发送和接收进程的物理位置:注入网络的消息比在同一节点上的进程之间发送的消息成本更高。在本文中,一个节点感知并行SpMV(NAPSpMV)被引入到利用系统拓扑结构的知识,特别是节点处理器的布局,以减少与通信相关的成本。输入向量的值被重新分配,以最小化在SpMV期间注入网络的消息的数量和大小,从而降低通信成本。各种计算实验,突出了这种方法的效率。
2017-11-15 cs.DC cs.MS