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
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
Analysis of the Performance of the Matrix Multiplication Algorithm on the Cirrus Supercomputer
本研究在爱丁堡大学的 Cirrus 超级计算机上分析了串行与并行矩阵乘法算法的性能,证明了其可扩展性与效率,为实际应用中的优化提供了见解。
2024-08-27 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
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
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
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
Hierarchical Coded Matrix Multiplication
工作速度慢的节点,称为落伍者,可以大大降低分布式计算的速度。编码矩阵乘法是最近引入的一种技术,它可以实现大型矩阵的抗离散分布式乘法。一个关键的属性是,完成时间只取决于一组最快的工人完成的工作,而最慢的工人完成的工作被完全忽略。本文的动机是观察到,在现实世界的商业云计算系统,如亚马逊的弹性计算云(EC2)之间的区别快和慢节点往往是一个软的。因此,如果我们也能利用掉队者完成的工作,我们可能会实现可观的性能增益。为了实现这样的增益,在本文中,我们使用分层编码的思想(Ferdinand和Draper,IEEE Int. Symp. Inf. Theory,2018).我们将整个矩阵乘法任务分解成一个层次结构的异构大小的子任务。完成每个子任务的责任由所有工人分担,每个子任务(通常)具有不同的复杂性。分层分解的动机是认识到更多的工人将完成第一个子任务,而不是第二个(或第三个,第四个等)。连接到纠错编码,因此较早的子任务可以被设计为比较晚的子任务具有更高的速率。通过这种分层设计,我们的方案利用了落后者完成的工作,而不是忽略它,即使这个数量比最快的工人完成的要少得多。我们的数值计算表明,我们的方法实现了60%的预期完成时间的改进,广泛研究的统计模型的计算速度,在亚马逊EC2上,增益为35%。
2019-07-20 cs.DC cs.IT math.IT
MatRox: Modular approach for improving data locality in Hierarchical (Mat)rix App(Rox)imation
分层矩阵近似在机器学习和科学界获得了显著的吸引力,因为它们利用内核方法中可用的低秩结构来压缩内核矩阵。所得到的压缩矩阵HMatrix用于在评估阶段中以可调精度降低诸如HMatrix矩阵乘法的运算的计算复杂性。现有的实现HMatrix评估不保持局部性,往往会导致不平衡的并行执行与高同步。此外,如果内核方法或所需的精度发生变化,当前的解决方案需要重新执行压缩阶段。在这项工作中,我们描述了MatRox,一个框架,使用新的结构分析策略,块和粗化,代码专业化和存储格式,以提高本地化和创建负载平衡的并行任务HMatrix矩阵乘法。当输入精度和核函数发生变化时,矩阵压缩阶段的模块化可以重用计算。MatRox生成的矩阵-矩阵乘法代码分别比GOFMM、SMASH和STRUMPACK中的库实现快2.98倍、1.60倍和5.98倍。此外,MatRox能够重复使用部分压缩计算来更改精度,这比使用GOFMM更改5次精度提高了2.64倍。
2019-11-30 cs.DC
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
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
Hierarchical Block Multi-Color Ordering: A New Parallel Ordering Method for Vectorization and Parallelization of the Sparse Triangular Solver in the ICCG Method
本文提出了一种新的并行排序方法来实现稀疏三角形求解器的矢量化和并行化,称为层次块多色排序。在该方法中,并行的向前和向后替换可以被矢量化,同时保留块多色排序的优点,即快速收敛和较少的线程同步。为了在并行ICCG(不完全乔列斯基共轭梯度)求解器中评估所提出的方法,使用五个测试矩阵在三种类型的计算节点上进行了数值测试。数值结果表明,在15个测试用例中,有13个测试用例的性能优于传统的分块和节点多色排序方法,验证了该方法的有效性。
2019-08-02 cs.DC
Stream-K: Work-centric Parallel Decomposition for Dense Matrix-Matrix Multiplication on the GPU
我们介绍Stream-K,一个以工作为中心的矩阵乘法(GEMM)和稠密线性代数中相关计算的并行化。而当代的分解主要是基于瓦片的,我们的方法通过在物理处理元件之间划分均匀份额的聚合内部循环迭代来操作。这提供了计算资源的近乎完美的利用,而不管任何给定问题的输出平铺跨底层处理元素量化的效率如何。在GPU处理器上,我们对GEMM的Stream-K并行化可产生高达14 $\times$和6.7 $\times$的峰值加速比,以及在32,824个GEMM问题几何中比最先进的数学库(如CUTLASS和cuBLAS)更高且更一致的平均性能响应。此外,我们从每个浮点精度的单个瓦片大小配置中实现了这种性能,而今天的数学库采用复杂的内核选择算法来从大量的内核变体中进行选择。
2023-01-09 cs.DC cs.DS
Parallel Filtered Graphs for Hierarchical Clustering
给定一组对象之间的所有成对权重(距离),过滤图通过仅保留权重的重要子集来提供稀疏表示。这样的图可以被传递到图聚类算法以生成分层聚类。特别是,定向气泡层次树(DBHT)算法过滤图已被证明产生良好的层次聚类的时间序列数据。我们提出了一个新的并行算法,用于构建三角最大过滤图(TMFG),它产生有效的输入DBHT,和一个可扩展的并行算法生成DBHTs是优化TMFG输入。除了并行化原始的TMFG结构,这具有有限的并行性,我们还设计了一个新的算法,插入多个顶点上的每一轮,以实现更多的并行性。我们表明,我们的新算法生成的图形具有类似的质量相比,原来的TMFG,而更快地生成。我们的新的并行算法的TMFG和DBHT是136- 2483倍的速度比国家的最先进的实现,同时实现高达41.56倍的自相对加速48核与超线程,并实现更好的聚类结果相比,标准的平均链接和完全链接层次聚类算法。我们表明,在股票数据集上,我们的算法产生的聚类与人类专家的分类非常一致。
2023-03-09 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
Scalable Hierarchical Scheduling for Malleable Parallel Jobs on Multiprocessor-based Systems
多核和基于多处理器的计算机系统的激增导致了并行应用的爆炸式发展,因此需要高效的并行处理器。本文研究了多处理器系统上可延展并行作业的分层调度问题,这一问题出现在许多分布式和多层计算环境中。我们提出了一个分层调度算法,命名为AC-DS,它包括一个反馈驱动的自适应调度器,一个期望的聚合计划和一个有效的资源分配政策。从理论的角度来看,我们表明,AC-DS具有可扩展的性能,无论层次的数量。特别是,我们证明了AC-DS实现$O(1)$ -竞争力的整体完成时间的工作,或完工时间。一个详细的可延展作业模型的开发实验评估所提出的调度算法的有效性。结果验证了AC-DS的可扩展性,并表明AC-DS优于其他策略的广泛的并行工作负载。
2014-12-13 cs.DC
Communication-Optimal Parallel Standard and Karatsuba Integer Multiplication in the Distributed Memory Model
我们提出了COPSIM标准整数乘法的并行实现的分布式内存设置,和COPK的Karatsuba的快速整数乘法算法的分布式内存设置的并行实现。当使用$\mathcal{P}$处理器,每个处理器配备一个本地非共享存储器,计算两个$n$位整数的乘积时,在温和的条件下,我们的算法实现了最佳的计算时间加速比.即,$\mathcal{O}\left(n^2/\mathcal{P}\right)$用于COPSIM,$\mathcal{O}\left(n^{\log_2 3}/\mathcal{P}\right)$用于COPK。跨处理器所需的内存总量为$\mathcal{O}\left(n\right)$,也就是说,在存储输入值所需的最小空间的常数因子内。我们严格分析所提出的算法的输入/输出(I/O)成本。我们表明,他们的带宽成本(即,由至少一个处理器发送或接收的存储器字的数量)与渐近对应的已知I/O下限匹配,并且它们的等待时间(即,在算法的关键执行路径中发送或接收的消息的数量)渐近地在对应的已知I/O下限的乘法因子$\mathcal{O}\left(\log^2_2 \mathcal{P}\right)$内。因此,我们的算法是渐近最优的带宽成本和几乎渐近最优的延迟成本。
2020-09-30 cs.DC cs.DS
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
A Framework for Practical Parallel Fast Matrix Multiplication
Stanford University(斯坦福大学);Sandia National Laboratories(桑迪亚国家实验室)
本文提出一个框架,展示新型快速矩阵乘法算法在中等规模问题上优于传统算法和Strassen算法,同时探讨矩阵形状对算法选择的影响,并开发代码生成工具实现多种并行变体。
2014-09-09 cs.DC cs.MS cs.NA
Exploiting Multiple Levels of Parallelism in Sparse Matrix-Matrix Multiplication
稀疏矩阵-矩阵乘法(Sparse matrix-matrix multiplication,简称SpGEMM)是许多高性能图算法以及一些线性求解器(如代数多重网格)的关键原语。SpGEMM的现有并行实现的缩放严重受限于通信。尽管在基于Erdos-Renyi矩阵的平面MPI模型中已经提出了3D(或2.5D)算法并进行了理论分析,但这些算法还没有在实际中实现,也没有对一般情况下的算法复杂度进行分析。在这项工作中,我们提出了有史以来第一次实现的三维SpGEMM制定,也利用多个(节点内和节点间)的并行级别,实现显着的速度比国家的最先进的公开可用的代码在所有级别的并发。我们广泛评估我们的实施情况,并确定应进一步研究的瓶颈。
2016-11-16 cs.DC cs.NA math.NA
Red-blue pebbling revisited: near optimal parallel matrix-matrix multiplication
我们建议宇宙空间协会:一种并行矩阵-矩阵乘法算法,对于矩阵维度、处理器计数和存储器大小的所有组合而言,该算法接近通信最优。COSMA背后的关键思想是导出一个最佳的(对于10 MB的快速内存,最高可达0.03\%)顺序调度,然后将其并行化,保持I/O最优性。为了实现这一点,我们使用红蓝卵石游戏精确建模MMM依赖,并推导出一个建设性的和紧密的顺序和并行I/O下界证明。与2D或3D算法(预先修复处理器分解,然后将其映射到矩阵维度)相比,它将通信量减少了高达$\sqrt{3}$倍。COSMA在所有场景中的性能都优于ScaLAPACK、CARMA和CTF算法,最高可达12.8倍(平均2.2倍),达到Piz Daint峰值性能的88%。我们的工作不需要任何手动调优,并且作为开源实现进行维护。
2019-12-13 cs.CC cs.DC cs.PF
Strong Scaling of Matrix Multiplication Algorithms and Memory-Independent Communication Lower Bounds
如果并行算法在P个处理机上的运行时间是1/P线性的,包括所有的通信开销,则该并行算法具有完美的强标度性。具有完美强标度的矩阵乘法的分布式内存并行算法最近才被发现。一种是基于经典矩阵乘法(Solomonik and Demmel,2011),另一种是基于Strassen的快速矩阵乘法(Ballard,Demmel,Holtz,Lipshitz,and Schwartz,2012)。这两种算法都可以完美地扩展,但只能扩展到处理器间通信不再扩展的处理器数量。我们得到了一个内存独立的通信成本的经典和基于Strassen的分布式存储矩阵乘法算法的下界。这些界限意味着,没有经典的或基于Strassen的并行矩阵乘法算法可以强大的规模完全超出上述两个并行算法已经达到的范围。记忆无关的边界和强缩放边界推广到其他算法。
2012-02-14 cs.CC cs.DC cs.DS
Array BP-XOR Codes for Hierarchically Distributed Matrix Multiplication
提出了一种基于阵列置信传播(BP)-可译码异或(BP-XOR)码的分布式矩阵-矩阵乘法容错计算方法。所提出的方案被证明是可配置的,并适合于现代分层计算架构,如图形处理单元(GPU)配备了多个节点,其中每个都有许多小的独立处理单元,增加了核心到核心的通信。研究表明,在存在缓慢节点的情况下,所提出的方案在端到端总执行时间方面优于一些众所周知的早期策略,称为$stragglers$。这种性能优势是由于阵列码的精心设计,它以增加主从通信为代价将编码操作分布在集群(从)节点上。端到端延迟和总通信成本之间的一个有趣的权衡精确地描述。此外,为了能够解决一个确定的问题,缩放落后者,一个渐进版本的阵列BP-XOR码的基础上投影几何提出了一些计算开销的代价。对所有方案进行了彻底的延迟分析,以证明所提出的方案从端到端延迟的角度来看,在计算产品的大小的次线性和线性制度中实现了顺序最优计算。
2021-12-10 cs.DC cs.IT math.IT
Hierarchical Coded Matrix Multiplication
在分布式计算系统中,工作速度慢的节点(称为落后节点)会极大地延长完成时间。编码计算是一种能够实现抗离散计算的技术。迄今为止,大多数编码计算技术通过确保完成时间仅取决于一组最快的节点来提供鲁棒性。然而,虽然落后者确实比非落后者计算更少的工作,但是在现实世界的商业云计算系统(例如,亚马逊的弹性计算云(EC2))的区别往往是软的。在本文中,我们开发了分层编码计算,利用所有节点完成的工作,快速和缓慢,自动集成每个潜在的贡献。首先,我们提出了一个概念框架来表示编码矩阵乘法作为一个长方体分区问题的节点之间的分工。这个框架使我们能够统一现有的方法和激励新的技术。然后,我们开发了三种分层编码计算的方法,我们称之为比特交织编码计算(BICC),多级编码计算(MLCC),和混合分层编码计算(HHCC)。在这个范例中,每个工作者的任务是完成有序子任务的序列(层次结构)。子任务的顺序和每个子任务的复杂性都被设计成可以使用而不是忽略落后者完成的部分工作。我们注意到,我们的方法可以与任何编码的计算方法结合使用。我们通过展示如何使用我们的方法来加速所有以前开发的编码计算技术来说明这一点,使他们能够利用落伍者。在一个广泛研究的统计模型的完成时间,我们的方法实现了$66\%$的预期完成时间的改善。在Amazon EC2上,模拟离散者时,增益为$27\%$。
2021-01-30 cs.DC cs.IT math.IT
Optimizing Irregular-Shaped Matrix-Matrix Multiplication on Multi-Core DSPs
广义矩阵乘法在科学模拟和人工智能中有着广泛的应用。虽然传统的库可以在大型规则形状的GEMM上实现高性能,但它们通常在不规则形状的GEMM上表现不佳,这通常在高性能计算(HPC)的新算法和应用中发现。由于能源效率的限制,低功耗多核数字信号处理器(DSP)已成为HPC系统中的替代架构。针对高性能计算中的原型CPU-DSP异构处理器FT-m7032中的多核DSP,提出了一种高效的三种不规则形状GEMM的实现方法- ftIMM。FtIMM支持自动生成汇编微内核,两种并行化策略,以及自动调整块大小和并行化策略。实验结果表明,ftIMM可以得到更好的性能比传统的GEMM实现在多核DSP的FT-m7032,产量高达7.2倍的性能提高,当执行不规则形状的GEMM。多核DSP上的ftIMM也可以远远超过FT-m7032中多核CPU上的开源库,提供高达3.1倍的效率。
2022-08-11 cs.DC
Faster Parallel Triangular Maximally Filtered Graphs and Hierarchical Clustering
针对现有TMFG-DBHT并行聚类算法并行度有限的问题,本文通过聚合TMFG构建工作、惰性更新信息及近似计算DBHT全源最短路径,实现了3.7-10.7倍的速度提升且保持聚类精度。
2024-08-18 cs.DC
Hierarchical QR factorization algorithms for multi-core cluster systems
本文描述了一种新的QR分解算法,它是专门为大规模并行平台结合并行分布式多核节点设计的。这些平台造就了高性能计算的现在和可预见的未来。我们的新QR分解算法属于瓦片算法的类别,其自然地为由核心执行的顺序内核实现良好的数据局部性(高顺序性能),并行分布式设置中的消息数量少(小延迟期),以及细粒度(高并行性)。
2011-10-07 cs.DC
Multi-threaded Sparse Matrix-Matrix Multiplication for Many-Core and GPU Architectures
稀疏矩阵-矩阵乘法是一个关键的核心,在科学计算和图分析等领域有着广泛的应用。过去已经研究了几种算法用于这个基本内核。在本文中,我们开发了稀疏矩阵矩阵乘法的并行算法,重点是跨不同的高性能计算架构的性能移植。这些算法的性能取决于它们所使用的数据结构。我们比较了这些算法中不同类型的数据结构,并展示了这些数据结构之间的性能差异。此外,我们开发了一个元算法,kkSpGEMM,选择正确的算法和数据结构的基础上的问题的特点。我们展示了三种体系结构的性能比较,并证明了社区需要开发两个阶段的稀疏矩阵矩阵乘法实现所涉及的数据结构的有效重用。
2018-01-09 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
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
Approximate multiplication of nearly sparse matrices with decay in a fully recursive distributed task-based parallel framework
在本文中,我们考虑并行实现的近似乘法的大型矩阵与指数衰减的元素。这种矩阵出现在与电子结构计算和计算科学的一些其他领域相关的计算中。通常,稀疏性通过丢弃输入矩阵的小条目(截断)来引入。另一种方法是稀疏近似乘法算法[M. Challacombe和N. Bock,arXiv preprint 1011.3534,2010]执行子矩阵乘积的截断。我们考虑这两种方法及其组合,即截断输入矩阵和子矩阵乘积。使用Chunks and Tasks编程模型和库完成的实现[E. H. Rubensson和E. Rudberg,并行计算,40:328-343,2014]被呈现和讨论。我们表明,在Frobenius范数的绝对误差表现为$O\left(n^{1/2} \right), n \longrightarrow \infty $和$O\left(τ^{p/2} \right), τ\longrightarrow 0,\,\, \forall p < 2$的所有三种方法,其中$n$是矩阵的大小和$τ$是截断阈值。我们比较了一个模型问题的方法,并表明,合并后的方法优于原来的两个。该方法也适用于矩阵来自大型化学系统与$\sim 10^6$原子。我们表明,这两种方法的结合,实现了更好的弱缩放,通过减少通信量的一个因素的$\approx 2$。
2021-02-20 cs.DC cs.NA math.NA
Tolerance to Asynchrony in Algorithms for Multiplication and Modulo
本文研究了乘法与取模运算的并行算法,证明其状态转换满足格线性,从而使其能在无同步开销的异步环境中正确收敛,并具备快照稳定特性。
2024-10-15 cs.DC
Fast multiplication by two's complement addition of numbers represented as a set of polynomial radix 2 indexes, stored as an integer list for massively parallel computation
本文提出了一种基于多项式基数2索引集合的快速乘法方法,通过二进制补码加法实现高效并行计算,克服了传统并行乘法的内存共享限制。
2025-11-27 cs.DC cs.DS cs.LG
Parallel Sparse Matrix-Matrix Multiplication and Indexing: Implementation and Experiments
Lawrence Berkeley National Laboratory(劳伦斯伯克利国家实验室);University of California, Santa Barbara(加州大学圣塔芭芭拉分校)
本文提出一种基于二维块数据分布和串行超稀疏内核的并行SpGEMM方法,实现了分布式内存中通用稀疏矩阵索引的高效算法,并在数千处理器上展示可扩展性。
2012-04-26 cs.DC cs.MS cs.NA
Stark: Fast and Scalable Strassen's Matrix Multiplication using Apache Spark
本文在Strassen矩阵乘法算法的基础上,在Apache Spark平台上提出了一种新的快速、高可扩展的分布式矩阵乘法算法Stark。Stark在分布式环境中保留了Strassen的7乘法方案,从而实现了更快的执行速度。它基于两个新的思想:建立一个计算的递归树,树的每一层对应于弹性分布式数据集(RDD)形式的分布式矩阵块的划分和组合;它并行处理每个除法和合并步骤,并通过智能标记其中的矩阵块来记忆子矩阵。据我们所知,Stark是Strassen在Spark平台上的第一个实现。我们的实验表明,斯塔克具有很强的可扩展性,随着矩阵大小的增加,使我们能够乘以两个(16384 × 16384)矩阵与28%和36%的挂钟时间分别比马林和MLLib,国家的最先进的矩阵乘法方法的基础上火花。
2018-11-22 cs.DC
Parallel Hierarchical Affinity Propagation with MapReduce
互联网和社交媒体的加速发展和爆炸正在产生大量的数据(在zettabyte规模上)。从海量大数据中操纵和提取可操作情报的愿望中,最重要的是需要可扩展的、性能敏感的分析算法。为了直接满足这一需求,我们提出了一种新的MapReduce实现的基于样本的聚类算法称为亲和传播。我们的并行化策略扩展到多层次的层次亲和传播算法,使分层聚合的非结构化数据与最小的自由参数,原则上只需要一个数据点之间的相似性度量。我们详细介绍了我们的方法的线性运行时的复杂性,克服了原来的算法的限制二次复杂性。在各种合成和真实数据集(例如图像和点数据)上对我们的聚类方法进行了实验验证,证明了我们对其他最先进的MapReduce聚类技术的竞争力。
2014-03-28 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
Basker: A Threaded Sparse LU Factorization Utilizing Hierarchical Parallelism and Data Layouts
可扩展的稀疏LU分解对于电路和电网的高效数值模拟至关重要。在这项工作中,我们提出了一个新的可扩展的稀疏直接求解器称为Basker。Basker介绍了一种新的算法来并行化稀疏LU分解的Gilbert-Peierls算法。随着体系结构的发展,存在对本质上分层的算法的需求,以匹配线程组、单个线程和向量级并行性中的层次结构。Basker旨在很好地映射到架构中的这种层次结构。还需要数据布局来匹配存储器中的多个层级。Basker使用稀疏矩阵的二维层次结构,该结构映射到存储器架构中的层次结构和并行性中的层次结构。我们使用佛罗里达大学稀疏矩阵集合和Xyce电路仿真中的电路和电网矩阵,在英特尔SandyBridge和至强融核平台上对Basker进行了性能评估。Basker在CPU(16核)上实现了5.91倍的几何平均加速比,在Xeon Phi(32核)上实现了7.4倍的几何平均加速比。对于低填充电路矩阵,Basker在CPU(16核)和Xeon Phi(32核)上的性能分别是Intel MKL Pardiso(PMKL)的53倍和13.3倍。此外,Basker对来自实际Xyce模拟的具有挑战性的矩阵序列提供了5.4倍的加速。
2016-01-21 cs.DC
Node Aware Sparse Matrix-Vector Multiplication
稀疏矩阵向量乘(SpMV)运算是许多仿真和线性求解器中的关键计算内核。与并行SpMV的参考实现相关联的大的通信要求导致差的并行可扩展性。通信成本取决于发送和接收进程的物理位置:注入网络的消息比在同一节点上的进程之间发送的消息成本更高。在本文中,一个节点感知并行SpMV(NAPSpMV)被引入到利用系统拓扑结构的知识,特别是节点处理器的布局,以减少与通信相关的成本。输入向量的值被重新分配,以最小化在SpMV期间注入网络的消息的数量和大小,从而降低通信成本。各种计算实验,突出了这种方法的效率。
2017-11-15 cs.DC cs.MS
Using Hierarchical Parallelism to Accelerate the Solution of Many Small Partial Differential Equations
本文通过两种方法改进两尺度模拟代码的GPU层次并行性能,其中将子问题循环移入单内核的Kokkos方法效果最佳。
2023-05-05 cs.DC cs.MS
SHIRO: Near-Optimal Communication Strategies for Distributed Sparse Matrix Multiplication
Institute of Science Tokyo(东京科学大学);RIKEN Center for Computational Science(理化学研究所计算科学中心);Intel Corporation(英特尔公司)
本文提出SHIRO框架,通过细粒度稀疏感知通信策略和分层通信策略,减少通信开销,提升分布式稀疏矩阵乘法的性能与可扩展性。
2026-05-13 cs.DC cs.PF
A Recursive Algebraic Coloring Technique for Hardware-Efficient Symmetric Sparse Matrix-Vector Multiplication
对称稀疏矩阵向量乘法(SymmSpMV)是许多数值线性代数核运算或图遍历应用的重要构建块。由于需要管理结果向量上的冲突更新,因此在当今多达100个内核的多核平台上对SymmSpMV进行并行化是很困难的。着色方法可以用来解决这个问题,没有数据重复,但现有的着色算法不考虑负载均衡和深存储层次结构,阻碍了可扩展性和全芯片性能。在这项工作中,我们提出了递归代数着色引擎(RACE),一种新的着色算法和开源库实现,它消除了以前的着色方法在硬件效率和并行化开销方面的缺点。我们描述了RACE中的级别构造、距离k着色和负载均衡步骤,使用它来并行化SymmSpMV,并在两个现代多核处理器上比较了它在31个稀疏矩阵上与其他最先进的着色技术和英特尔MKL的性能。RACE大大优于所有其他方法,并根据Roofline模型进行操作。对异常值进行了详细的讨论和分析。虽然我们专注于SymmSpMV在本文中,我们的算法和软件是适用于任何稀疏矩阵操作的数据依赖关系,可以解决距离-k着色。
2019-07-15 cs.DC cs.PF
Parallel Batch-Dynamic $k$-Clique Counting
在本文中,我们研究了新的批量动态算法$k$ -团计数问题,这是动态算法的更新是批量的边缘插入和删除。我们研究这个问题的并行设置,其中的目标是获得低(多对数)深度的算法。我们的第一个结果是一个新的并行批量动态三角形计数算法与$O(Δ\sqrt{Δ+m})$分期付款的工作和$O(\log^* (Δ+m))$深度的概率高,和$O(Δ+m)$空间的一批$Δ$边缘插入或删除。我们的第二个结果是基于并行快速矩阵乘法的代数算法。假设存在具有并行矩阵乘法常数$ω_p$的并行快速矩阵乘法算法,则相同的算法解决了具有高概率的$O\left(\min\left(Δm^{\frac{(2k - 1)ω_p}{3(ω_p + 1)}}, (Δ+m)^{\frac{2(k + 1)ω_p}{3(ω_p + 1)}}\right)\right)$分摊工作和$O(\log (Δ+m))$深度以及$O\left((Δ+m)^{\frac{2(k + 1)ω_p}{3(ω_p + 1)}}\right)$空间的动态$k$ -团计数。使用最近开发的并行$k$ -团计数算法,我们也得到了一个简单的批量动态算法$k$ -团计数的图荫度$α$运行在$O(Δ(m+Δ)α^{k-4})$预期的工作和$O(\log^{k-2} n)$深度与高概率,和$O(m + Δ)$空间。最后,我们提出了一个多核CPU实现我们的并行批动态三角形…
2020-12-13 cs.DC cs.DS
A parallel structured divide-and-conquer algorithm for symmetric tridiagonal eigenvalue problems
本文基于ScaLAPACK和并行结构矩阵乘法算法PSMMA,提出了一种对称三对角矩阵特征值求解器的并行结构分治(PSDC)算法。通过矩阵-矩阵乘法计算特征向量是分治算法中计算量最大的部分,并且这种乘法中涉及的矩阵之一是秩结构的柯西矩阵。PSMMA利用这一特性,在不进行任何通信的情况下,利用Cauchy矩阵的生成器构造局部矩阵,并利用结构化的低秩近似算法进一步降低计算量.因此,降低了通信和计算成本。实验结果表明,PSMMA和PSDC都是高度可扩展的,至少可扩展到4096个进程。PSDC具有比在[J. Comput. Appl.Math.344(2018)512- 520],并且对于相同的矩阵仅缩放到300个过程。与ScaLAPACK中的\texttt{PDSTEDC}相比,PSDC总是更快,并且对于一些具有很少收缩的矩阵,PSDC实现了$1.4$ x- $1.6$ x加速比。PSDC也可与ELPA相比较,当使用少数进程时,PSDC比ELPA快,当使用许多进程时,PSDC稍慢。
2020-11-28 cs.DC cs.MS
On Performance Analysis of Graphcore IPUs: Analyzing Squared and Skewed Matrix Multiplication
本文系统评测 Graphcore IPU 上的方阵与偏斜矩阵乘法,从执行效率和内存使用角度对比 RTX 2080TI,证明 IPU 在偏斜矩阵场景下性能更稳健。
2023-09-30 cs.DC cs.ET
Parallel Scan on Ascend AI Accelerators
Huawei Zurich Research Center(华为苏黎世研究中心)
本文提出基于Ascend AI加速器的并行扫描算法,利用立方单元和向量单元提升性能,实现单核和多核加速,应用于AI工作负载中的排序、张量掩码和top-k采样。
2026-01-02 cs.DC cs.DS
Effect of Mixed Precision Computing on H-Matrix Vector Multiplication in BEM Analysis
层次矩阵(Hierarchical Matrix,H矩阵)是一种近似技术,它将目标稠密矩阵分解为多个子矩阵,并且其中所选的子矩阵部分是低秩近似的。该技术大大降低了稠密矩阵向量乘法的时间和空间复杂度,因此已被应用于许多实际问题。在本文中,我们的目标是通过引入混合精度计算来加速H矩阵向量乘法,其中我们使用binary 64(FP 64)和binary 32(FP 32)算术运算。我们提出了三种方法来引入混合精度计算的H-矩阵向量乘法,然后评估他们在边界元法(BEM)分析。数值试验研究混合精度计算的影响,特别是对所需的模拟时间和迭代(BiCG-STAB)线性求解器的收敛速度。我们确认所提出的方法的有效性。
2019-10-30 cs.DC cs.MS
Verification Challenges in Sparse Matrix Vector Multiplication in High Performance Computing: Part I
本文提出SpMV的顺序和MPI并行实现,作为科学软件验证的挑战问题,基于PETSc库。
2025-10-15 cs.DC cs.LO cs.MS
Efficient Computer Vision on Edge Devices with Pipeline-Parallel Hierarchical Neural Networks
Purdue University(普渡大学);Loyola University Chicago(芝加哥洛约拉大学)
低功耗边缘设备上的计算机视觉可实现搜索救援和安全等应用。最先进的计算机视觉算法,如深度神经网络(DNN),对于低功耗边缘设备的推理来说太大了。为了提高效率,一些现有方法跨多个边缘设备并行化DNN推理。然而,这些技术引入了显著的通信和同步开销,或者无法跨设备平衡工作负载。本文证明了分层DNN架构非常适合多个边缘设备上的并行处理。我们设计了一种新的方法,创建一个并行推理流水线的计算机视觉问题,使用分层DNN。该方法平衡了协作设备之间的负载,并降低了通信成本,以便于以更高的吞吐量同时处理多个视频帧。我们的实验考虑了一个代表性的计算机视觉问题,其中在多个Raspberry Pi 4B上运行的每个视频帧上执行图像识别。通过四个协作的低功耗边缘设备,与现有的单设备分层DNN相比,我们的方法实现了3.21倍的吞吐量,每帧每设备能耗减少68%,内存减少58%。
2021-11-04 cs.CV cs.DC
Is Sparse Matrix Reordering Effective for Sparse Matrix-Vector Multiplication?
本文评估了稀疏矩阵重排序对多核CPU上稀疏矩阵-向量乘法性能的影响,分析了不同重排序策略在顺序与并行执行下的增益差异、跨机器一致性及负载不均衡问题。
2025-09-21 cs.DC cs.PF
HSAP: A Hierarchical Sequence-aware Parallelism for Hybrid-Context Generative Models
Southern University of Science and Technology(南方科技大学);International Digital Economy Academy(国际数字经济学院)
提出一种分层序列感知并行框架,通过JIT编译优化通信策略,解决混合上下文打包序列中的因果注意力计算问题,在多个指标上优于现有方法。
2026-07-01 cs.DC cs.LG