Improving the Space-Time Efficiency of Processor-Oblivious Matrix Multiplication Algorithms
经典的高速缓存无关并行矩阵乘法算法在时间和空间上都达到了最优,但不能同时达到最优,这促使人们对这类算法的最佳平衡或折衷进行了大量的研究。我们研究了现代处理器无关的运行时系统,并找出了几种方法来提高算法的时间界限,同时仍然有界空间和缓存的要求是渐近最优的。通过我们的研究,我们给出了半环上一般矩阵乘法的次线性时间、最优工作、空间和缓存算法以及类Strassen快速算法。我们的实验也表明,这样的算法有经验的优势,经典的同行。本文的研究从理论和实证两个方面为如何优化高速缓存无关并行算法提供了新的见解和研究角度。
2019-11-13 cs.DC
Graph Expansion and Communication Costs of Fast Matrix Multiplication
算法的通信成本(也称为I/O复杂度)与相应计算图的扩展特性密切相关。我们证明了这对Strassen的和其他快速矩阵乘法算法,并获得第一个下界的通信成本。在顺序情况下,其中处理器具有大小为$M$的快速存储器,其太小而不能存储三个$n$ × $n$矩阵,对于许多矩阵乘法算法,在快速和慢速存储器之间移动的字的数目的下限是$Ω((\frac{n}{\sqrt M})^{ω_0}\cdot M)$,其中$ω_0$是算术计数中的指数(例如,用于Strassen的$ω_0 = \lg 7$和用于常规矩阵乘法的$ω_0 = 3$)。对于$p$并行处理器,每个处理器具有大小为$M$的快速存储器,下限小$p$倍。这些界限是可达到的顺序和并行算法,因此最佳的。这些界限也可以通过线性代数中的许多快速算法来获得(例如,用于LU、QR和求解Sylvester方程的算法)。
2011-09-08 cs.CC cs.DC cs.DS
A Framework for Practical Parallel Fast Matrix Multiplication
Stanford University(斯坦福大学);Sandia National Laboratories(桑迪亚国家实验室)
本文提出一个框架,展示新型快速矩阵乘法算法在中等规模问题上优于传统算法和Strassen算法,同时探讨矩阵形状对算法选择的影响,并开发代码生成工具实现多种并行变体。
2014-09-09 cs.DC cs.MS cs.NA
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
SPIN: A Fast and Scalable Matrix Inversion Method in Apache Spark
大数据在诸如地球科学、社交网络、物理科学等领域中的增长导致了对高效且可扩展的线性代数运算(例如,矩阵求逆)的巨大需求。使用大数据平台进行高效和分布式矩阵求逆的现有方法依赖于基于LU分解的块递归算法。然而,这些算法是复杂的,需要大量的边计算,例如矩阵乘法,在各种级别的递归。在本文中,我们提出了一个不同的计划的基础上Strassen的矩阵求逆算法(在Strassen的原始文件在1969年提到),它使用少得多的操作,在每一级的递归。我们实现了所提出的算法,并通过大量的实验,表明它是更有效的比最先进的方法。此外,我们提供了一个详细的理论分析所提出的算法,并推导出理论上的运行时间密切配合的经验观察挂钟运行时间,从而解释了U形行为w.r.t.块大小。
2018-01-15 cs.DC
GCSA Codes with Noise Alignment for Secure Coded Multi-Party Batch Matrix Multiplication
考虑了一个安全的多方批量矩阵乘法问题(SMBMM),其目标是通过将计算分布在S个服务器上,使Master能够高效地计算两批大规模矩阵的两两乘积.任何X共谋服务器都不会获得关于输入的任何信息,主服务器也不会获得关于产品之外的输入的任何额外信息。基于交叉子空间对齐码,提出了一种带噪声对齐的广义交叉子空间对齐码(GCSA-NA)。SMBMM的现有技术解决方案是由Nodehi和Maddah-Ali提出的称为多项式共享(PS)的编码方案。GCSA-NA在几个关键方面优于PS代码-更高效和安全的服务器间通信,更低的延迟,灵活的服务器间网络拓扑,高效的批处理,以及对落伍者的容忍度。噪声对齐的思想也可以与N源交叉子空间对齐(N-CSA)码和快速矩阵乘法算法(如Strassen构造)相结合。此外,噪声对齐可以应用于对称安全私有信息检索,以实现渐近容量。
2020-09-06 cs.CR cs.DC cs.IT
Node Aware Sparse Matrix-Vector Multiplication
稀疏矩阵向量乘(SpMV)运算是许多仿真和线性求解器中的关键计算内核。与并行SpMV的参考实现相关联的大的通信要求导致差的并行可扩展性。通信成本取决于发送和接收进程的物理位置:注入网络的消息比在同一节点上的进程之间发送的消息成本更高。在本文中,一个节点感知并行SpMV(NAPSpMV)被引入到利用系统拓扑结构的知识,特别是节点处理器的布局,以减少与通信相关的成本。输入向量的值被重新分配,以最小化在SpMV期间注入网络的消息的数量和大小,从而降低通信成本。各种计算实验,突出了这种方法的效率。
2017-11-15 cs.DC cs.MS
Tight Memory-Independent Parallel Matrix Multiplication Communication Lower Bounds
矩阵乘法算法的通信下界早已建立。然而,大多数渐近分析方法要么忽略了常数因子,要么没有得到最严格的可能值。最近的工作表明,更仔细的分析,提高了一些经典的矩阵乘法下界的最佳已知常数,并有助于确定更有效的算法,匹配的领导阶项的下界,提高实际性能。本文的主要成果是建立了并行矩阵乘法的与内存无关的通信下界。我们的常数改善以前的工作中的每三种情况下,取决于矩阵的纵横比的相对大小。
2022-05-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
Low-Depth Parallel Algorithms for the Binary-Forking Model without Atomics
Binary-forking模型是一种并行计算模型,最近由Blelloch等人正式定义,其中线程可以递归和异步地派生并发子线程。该模型产生$Θ(\log n)$的成本来产生或同步$n$任务或线程。二进制分叉模型真实地捕获了在多核共享内存机器上使用现代多线程程序设计语言实现的并行算法的性能。相比之下,广泛研究的理论PRAM模型不考虑产生和同步线程的成本,因此,在PRAM模型中实现最佳性能界限的算法在二进制分叉模型中可能不是最佳的。通常,算法需要重新设计,以达到最佳的性能界限,在二进制分叉模型和非恒定的同步成本使任务具有挑战性。虽然二进制分叉模型允许使用原子{\em test-and-set}(TS)指令来减少一些同步开销,但是假设这样的指令的可用性对硬件提出了更强的要求,并且可能限制使用它们的算法的可移植性。在本文中,我们避免使用锁和原子指令在我们的算法中,除了可能在连接操作,这是由运行时系统实现。在本文中,我们设计了有效的并行算法的二进制分叉模型,没有原子的三个基本问题:Strassen的(和Strassen样)矩阵乘法(MM),基于比较的排序,和快速傅立叶变换(FFT)。我们所有的结果都改善了在二进制分叉模型中的相应问题的已知结果,无论有没有原子。
2020-09-02 cs.DC cs.DS
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
Algorithms for Parallel Shared-Memory Sparse Matrix-Vector Multiplication on Unstructured Matrices
针对非结构化稀疏矩阵,提出六种混合SpMV算法,结合并行化、存储格式和非零排序优化,其中一种在多CPU架构上性能提升19%,并分析存储格式转换开销。
2025-02-26 cs.DC
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
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
PARS3: Parallel Sparse Skew-Symmetric Matrix-Vector Multiplication with Reverse Cuthill-McKee Reordering
本文提出PARS3方法,利用RCM重排序将稀疏反对称矩阵转为带状矩阵并划分为3部分并行化,首次实现并行反对称SpMV内核,较串行实现加速达19倍,且超越基于图着色的方法并适用于对称SpMV。
2024-07-24 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
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
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
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
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
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
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
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
Accelerating Matrix Multiplication: A Performance Comparison Between Multi-Core CPU and GPU
本文在消费级异构平台上比较顺序 C++、OpenMP 多核 CPU 与带共享内存优化的 CUDA GPU 矩阵乘法,证明 GPU 在大矩阵上可获得最高约593倍加速。
2025-07-26 cs.DC
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
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
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
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 lower bounds for nested bilinear algorithms via rank expansion of Kronecker products
本文利用编码矩阵 Kronecker 积的秩扩展下界,刻画嵌套双线性算法对应依赖 DAG 的通信成本,并为嵌套 Toom-Cook 卷积、Strassen 算法及部分对称张量缩并给出新下界。
2023-09-28 cs.DC cs.NA math.NA
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