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
A Framework for General Sparse Matrix-Matrix Multiplication on GPUs and Heterogeneous Processors
Niels Bohr Institute, University of Copenhagen(哥本哈根大学尼尔斯·玻尔研究所)
本文提出了一种面向GPU和异构处理器的通用稀疏矩阵-矩阵乘法框架,解决稀疏矩阵乘法中的内存预分配、并行插入操作和负载均衡问题,提升性能和效率。
2015-09-13 cs.DC cs.MS cs.NA
Novel Graph Processor Architecture, Prototype System, and Results
图算法越来越多地用于利用大型数据库的应用程序中。然而,传统的处理器架构不足以处理图形计算的吞吐量和存储器要求。林肯实验室的图形处理器架构代表了对图形问题的并行架构的重新思考。我们的处理器采用的创新,包括稀疏矩阵为基础的图形指令集,无缓存存储器系统,基于加速器的架构,脉动排序器,高带宽多维环形通信网络,和随机通信。一个现场可编程门阵列(FPGA)原型的新的图形处理器已开发出显着的性能增强,在传统的处理器图形计算吞吐量。
2016-07-22 cs.AR cs.DC
Computing the sparse matrix vector product using block-based kernels without zero padding on processors with AVX-512 instructions
稀疏矩阵向量积(SpMV)是各个领域许多科学应用中的基本运算。因此,高性能计算(HPC)社区不断投入大量精力,在现代CPU架构上提供高效的SpMV内核。虽然已经证明基于块的内核有助于实现高性能,但由于它们需要零填充,因此它们难以在实践中使用。在目前的论文中,我们提出了新的内核使用的AVX-512指令集,这使得它可以使用一个阻塞方案,没有任何零填充的矩阵存储器存储。我们描述了基于掩码的稀疏矩阵格式及其相应的SpMV内核高度优化的汇编语言。考虑到最佳的块大小取决于矩阵,我们还提供了一种方法来预测最好的内核使用从以前的执行结果的简单插值。我们在一组标准基准测试矩阵上比较了我们的方法与英特尔MKL CSR内核和CSR 5开源软件包的性能。我们表明,我们可以实现显着的改善,在许多情况下,顺序和并行执行。最后,我们在一个名为SPC 5的开源库中提供了相应的代码。
2018-05-11 cs.DC cs.MS cs.PF
Accelerating Sparse Linear Solvers in OpenFOAM using RISC-V Vector Extensions
University of Bologna(博洛尼亚大学);CINECA - HPC Department(CINECA高性能计算部)
本文利用RISC-V向量扩展优化OpenFOAM中的稀疏矩阵-向量乘法,集成自定义平滑器,在EPAC和Sophon SG2044上分别实现6倍和1.5倍加速。
2026-09-09 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
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
High-performance sparse matrix-matrix products on Intel KNL and multicore architectures
稀疏矩阵-矩阵乘法(SpGEMM)是一种计算原语,广泛应用于从传统数值应用到最近的大数据分析和机器学习等领域。虽然已经提出了许多SpGEMM算法,但缺乏针对多核和众核处理器的硬件特定优化,并且无法详细分析其在各种用例和矩阵下的性能。我们首先在英特尔至强融核(Knights Landing或KNL)上识别并缓解存储管理和线程调度的多个瓶颈。具体针对多核和众核处理器,我们开发了一个基于哈希表的算法,并优化了一个基于堆的共享内存SpGEMM算法。我们研究他们的表现与其他公开可用的代码。与文献不同的是,我们的评估还包括代表实数图算法的用例,例如多源广度优先搜索或三角形计数。在大多数情况下,我们的哈希表和基于堆的算法显示出来自库的显著加速,而不同的算法在具有不同矩阵大小、稀疏性、压缩因子和操作类型的其他场景中占主导地位。我们总结了深入的评估结果,并制定了一个食谱,以给出最好的SpGEMM算法的目标场景。一个关键的发现是,如果不需要在输出矩阵的每一行中对非零进行排序,则基于哈希表的SpGEMM的性能将得到显着提升。
2018-06-26 cs.DC
Scheduling Trees of Malleable Tasks for Sparse Linear Algebra
科学工作负载通常被描述为有向非循环任务图。在本文中,我们专注于稀疏矩阵的多锋分解,其任务图被构造为一棵树的并行任务。在现有的并行任务模型中,可延展任务的概念特别强大,因为它允许每个任务在时变数量的处理器上处理。根据Prasanna和Musicus提出的矩阵计算模型,我们考虑了具有延展性的任务,其加速比为$p^α$,其中$p$是任务执行的处理器的分数份额,$α$($0 < α\leq 1$)是一个不依赖于任务的参数。我们首先激励我们的应用程序与实际实验在多核平台上的相关性,这个模型。然后,我们研究了由Prasanna和Musicus提出的最大完工时间最小化的最优控制理论的最优分配。我们在很大程度上简化了他们的证明,只诉诸纯粹的调度参数。基于这些新证据所获得的洞察力,我们将研究扩展到分布式多核平台。在那里,任务不能分布在多个分布式节点之间。在这样的分布设置(同构或异构),我们证明了相应的调度问题的NP-完全性,并提出了一些近似算法。最后,我们评估我们的方法的相关性模拟现实的树木。我们表明,我们的分配相对于现有的解决方案(因此不知道实际的加速功能)的平均性能增益是高达16%的$α=0.9$(在实际实验中观察到的值)。
2015-06-04 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
Optimization of the Sparse Multi-Threaded Cholesky Factorization for A64FX
稀疏线性代数例程是各种科学应用的基本构建块。直接求解器是通过将矩阵分解为三角矩阵的乘积来求解线性系统的方法,通常在许多情况下使用。Cholesky分解是求解对称正定矩阵的最快的直接方法。提出了一种基于稀疏矩阵结构确定并行Cholesky分解最优任务粒度的方法--选择性嵌套。我们提出了OPT-D-COST算法,自动和动态地应用选择性排样。OPT-D-COST利用矩阵稀疏性在直接求解器的上下文中驱动基于复杂任务的并行工作负载。我们运行一个广泛的评估活动,考虑一组异构的60稀疏矩阵和并行机具有A64 FX处理器。OPT-D-COST相对于运行直接求解器的最佳并行方法,平均性能加速比为1.46 $\times$。
2022-02-18 cs.DC
Parallel Sparse Matrix Solver on the GPU Applied to Simulation of Electrical Machines
如今,一些工业应用程序正在移植到并行架构。事实上,这些平台可以为系统建模和仿真提供更多的性能。在电机领域,有许多问题需要加速解决。本文研究稀疏矩阵求解器在图形处理器上的并行性。更具体地说,我们实现了共轭梯度技术与输入矩阵存储在CSR,对称CSR和CSC格式。该方法是求解麦克斯韦方程组有限元基函数的最有效的迭代法之一。GPU(图形处理单元),这是用于其实现,提供了机制,并行算法。因此,它大大提高了与基于CPU的系统上的串行代码相关的计算速度。
2010-10-22 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
Better Process Mapping and Sparse Quadratic Assignment
通信和拓扑感知进程映射是一种有效的方法,可以减少大型分布式内存系统上具有已知通信模式的并行应用程序的通信时间。我们解决的问题,作为一个二次分配问题(QAP),并提出算法来构建初始映射的进程处理器,快速局部搜索算法,以进一步提高映射。通过利用假设,通常持有的应用程序和现代超级计算机系统,如稀疏的通信模式和分层组织的通信系统,我们获得这些特殊的QAP更强大的算法。我们的多级构造算法采用完全平衡的图划分技术,并利用给定的通信系统层次结构的显着方式。我们对Brandfass等人(2013)的局部搜索算法进行了改进,并通过减少分配中执行交换所需的时间以及仔细约束局部搜索邻域来进一步减少运行时间。我们还研究了不同的算法来创建映射到处理器网络的通信图。实验表明,我们的算法不仅大大加快了局部搜索,但由于多级方法也找到更好的解决方案在实践中。
2019-07-22 cs.DC cs.DS
Performance of an Astrophysical Radiation Hydrodynamics Code under Scalable Vector Extension Optimization
我们目前的天体物理辐射流体动力学代码,V2D,基于ARM的A64FX处理器由富士通开发的性能研究的结果。该代码解决了稀疏线性系统,A64FX架构应该非常适合这项任务。我们在使用A64FX处理器的Apollo 80平台Ookami上进行了性能分析研究。我们研究了几个编译器和性能分析包,发现代码在可扩展向量扩展优化下的性能不如预期,这表明值得对代码进行“更深入的分析”。然而,一个简单的驱动程序,运行V2D使用的基本稀疏线性代数例程,确实显示出使用可扩展向量扩展优化的显着加速。我们提出了使用V2D在一个相对简单的测试问题,强调稀疏线性系统的重复解决方案的研究的初步结果。
2022-07-27 astro-ph.HE 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
Co-designing a Programmable RISC-V Accelerator for MPC-based Energy and Thermal Management of Many-Core HPC Processors
针对多核HPC处理器的能耗与热管理,提出基于算子分裂求解器和多核RISC-V的MPC控制器软硬件协同设计,实现亚毫秒延迟、33倍低延迟和7.9倍高能效。
2025-10-10 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
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
Improving Locality in Sparse and Dense Matrix Multiplications
本文提出运行时方法 tile fusion,通过融合稀疏与稠密矩阵乘法分块来改善数据局部性,并在多核 CPU 上相比未融合基线和 MKL 分别取得 1.97 倍和 1.64 倍的几何平均加速。
2024-06-28 cs.DC
Geometric Partitioning and Ordering Strategies for Task Mapping on Parallel Computers
提出了一种将应用程序的MPI任务映射到并行计算机核上的新方法,从而减少了应用程序的通信时间。我们解决稀疏节点分配的情况下,分配给一个工作的节点不一定位于一个连续的块,也不一定在网络中彼此接近,虽然我们的方法推广到连续的分配以及。目标是将任务分配给核心,以便由“附近”的核心执行相互依赖的任务,从而降低消息必须传输的距离,网络中的拥塞量以及通信的总体成本。我们的新方法适用于几何划分算法的任务和处理器,并分配任务部分相应的处理器部分。我们还提出了一些算法优化,利用网络或应用程序的特定功能。我们发现,对于结构化有限差分迷你应用程序MiniGhost,我们的映射方法减少了通信时间高达75%相对于MiniGhost的默认映射128 K核心的Cray XK 7稀疏分配。对于大气建模代码E3 SM/HOMME,我们的方法减少了31%的IBM BlueGene/Q连续分配的32 K核心的通信时间。
2018-04-25 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
Matrix Multiplication in the MPC Model
研究 MPC 模型中不同处理器数与单机内存约束下的矩形矩阵及稀疏矩阵乘法,给出相应轮复杂度算法。
2025-09-29 cs.CC cs.DC
Smooth minimization of nonsmooth functions with parallel coordinate descent methods
研究了一类随机并行坐标下降法在极小化非光滑可分凸函数和问题上的性能。问题类包括作为特殊情况的L1正则化L1回归和指数损失的最小化(“AdaBoost问题”)。我们假设定义损失函数的输入数据包含在稀疏$m\times n$矩阵$A$中,每行中至多具有$ω$非零值。我们的方法需要$O(n β/τ)$迭代以找到具有高概率的近似解,其中$τ$是处理器的数量,$β= 1 + (ω-1)(τ-1)/(n-1)$是最快的变体。该符号隐藏了对诸如所需精度和置信水平以及起始点与最佳点的距离等数量的依赖性。由于$β/τ$是$τ$的递减函数,因此当使用更多处理器时,该方法需要较少的迭代。我们的算法的某些变体在每个处理器的单次迭代期间平均仅执行$O(\nnz(A)/n)$算术运算,并且由于当$ω$减少时$β$减少,因此对于稀疏问题需要较少的迭代。
2013-09-23 cs.DC math.OC stat.ML
Parallel scheduling of task trees with limited memory
本文研究了使用多处理器的树形任务图的执行。这种树的每条边都代表一些大数据。只有当所有输入和输出数据都适合内存时,才能执行任务,并且只有在完成将数据用作输入数据的任务后,才能从内存中删除数据。例如,这种树出现在稀疏矩阵分解的多波前方法中。处理整个树所需的峰值内存取决于任务的执行顺序。对于一个处理器,树遍历的目标是最小化所需的内存。该问题已被广泛研究并提出了最优多项式算法。在这里,我们通过考虑多个处理器来扩展问题,这在矩阵因式分解的应用领域中具有明显的兴趣。多处理器的附加目标是最小化遍历树所需的时间,即,以最小化完工时间。毫不奇怪,这个问题被证明比顺序问题要难得多。我们研究了这个问题的计算复杂性,并提供了不可逼近的结果,即使是单位重量的树。我们设计了一系列实用的算法,实现了最小化峰值内存使用和最大完工时间之间的不同权衡。其中一些算法能够处理树,同时将内存使用量保持在给定的内存限制之下。在广泛的实验评估中,使用逼真的树木对不同的算法进行了评估。
2014-10-01 cs.DC
Parallel memory-efficient all-at-once algorithms for the sparse matrix triple products in multigrid methods
多层/多重网格方法是求解大型稀疏线性方程组的最流行的方法之一,通常由偏微分方程的离散化产生。多层/多重网格方法的一个关键步骤是通过一系列稀疏矩阵三重积形成粗矩阵。三重积的常用方法明确涉及两个步骤,并且在每个步骤中使用稀疏矩阵-矩阵相乘。这种方法对于许多应用都很好地工作,具有良好的计算效率,但是它具有很高的存储器开销,因为需要临时存储一些辅助矩阵来完成计算。在这项工作中,我们提出了两个新的算法,构造一个粗略的矩阵,通过输入矩阵,而不涉及任何辅助矩阵,以节省内存。新的方法被称为“一次全部”和“一次全部合并”,传统的方法被称为“两步”。作为这项工作的一部分,在PETSc中基于哈希表实现了一次所有和合并的一次所有算法,并仔细考虑了计算时间和内存使用方面的性能。我们数值计算表明,所提出的算法及其实现是完全可扩展的计算时间和内存使用高达32,768处理器内核的模型问题与27十亿个未知数。的可扩展性也证明了一个现实的中子输运问题,超过20亿个未知数的超级计算机与10,000个处理器内核。与传统的两步法相比,All-at-once算法和合并All-at-once算法在保持计算效率的同时,对模型问题和实际中子输运问题的内存消耗都大大减少。
2019-05-21 cs.DC cs.MS
Parallel computation of the rank of large sparse matrices from algebraic K-theory
本文讨论了由代数K理论中产生的一系列稀疏矩阵的秩和某些整数Smith形式的计算。所考虑的矩阵中的非零条目的数量范围从8百万到37百万。最大的排名计算需要超过35天的50个处理器。我们报告的实际算法,我们用来建立矩阵,他们的联系motivic上同调和线性代数和并行化需要执行这样巨大的计算。特别地,这些结果是线性群GL_7(Z)的上同调的首次计算的一部分.
2007-04-24 cs.DC cs.SC math.KT
SparsePipe: Parallel Deep Learning for 3D Point Clouds
University of Florida(佛罗里达大学)
我们提出了SparsePipe,这是一种高效的异步并行方法,用于处理具有多GPU训练的3D点云。SparsePipe旨在支持点云等3D稀疏数据。它通过采用具有稀疏张量表示的广义卷积来构建具有表达能力的高维卷积神经网络。与密集解决方案相比,新模型可以有效地处理不规则的点云,而无需在整个空间上密集滑动,显著降低内存需求,并允许底层3D体积的更高分辨率,以获得更好的性能。SparsePipe利用批内并行性,将输入数据划分到多个处理器中,并通过批间流水线进一步提高训练吞吐量,以重叠通信和计算。此外,当GPU是异构的时,它适当地划分模型,使得计算负载平衡,减少通信开销。使用八GPU平台上的实验结果,我们表明,SparsePipe可以有效地并行化,并获得更好的性能在当前的点云基准的训练和推理,相比其密集的解决方案。
2020-12-27 cs.CV cs.DC
An Asynchronous Parallel Approach to Sparse Recovery
Claremont McKenna College(克莱蒙特麦肯纳学院);Claremont Graduate University(克莱蒙特研究生大学)
异步并行计算和稀疏恢复是最近受到关注的两个领域。异步算法经常被研究来解决优化问题,其中成本函数采用$\sum_{i=1}^M f_i(x)$的形式,其中通常假设每个$f_i$是稀疏的;也就是说,每个$f_i$仅作用于$x\in\mathbb{R}^n$的少量分量。稀疏恢复问题(例如压缩感测)可以被公式化为优化问题,然而,成本函数$f_i$相对于$x$的分量是密集的,并且相反地,信号$x$被假设为稀疏的,这意味着它仅具有$s$非零,其中$s\ll n$。在这里,我们解决如何可以使用异步并行架构时,成本函数$f_i$不是稀疏的$x$,而是信号$x$是稀疏的。我们提出了一种异步并行方法稀疏恢复通过随机贪心算法,其中多个处理器异步更新共享内存中的向量包含信息的估计信号支持。我们包括数值模拟,说明我们提出的异步方法的潜在好处。
2017-01-12 cs.DC cs.LG
Node Aware Sparse Matrix-Vector Multiplication
稀疏矩阵向量乘(SpMV)运算是许多仿真和线性求解器中的关键计算内核。与并行SpMV的参考实现相关联的大的通信要求导致差的并行可扩展性。通信成本取决于发送和接收进程的物理位置:注入网络的消息比在同一节点上的进程之间发送的消息成本更高。在本文中,一个节点感知并行SpMV(NAPSpMV)被引入到利用系统拓扑结构的知识,特别是节点处理器的布局,以减少与通信相关的成本。输入向量的值被重新分配,以最小化在SpMV期间注入网络的消息的数量和大小,从而降低通信成本。各种计算实验,突出了这种方法的效率。
2017-11-15 cs.DC 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
Multi-DNN Inference of Sparse Models on Edge SoCs
SparseLoom通过模型缝合技术在边缘SoC上实现高效多DNN推断,降低SLO违反率并提升吞吐量
2026-03-10 cs.DC cs.LG cs.PF
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
A Geometric Approach to Matrix Ordering
我们提出了一种递归的方法来划分超图,创建和利用超图几何,适用于众核并行架构。这样的划分然后被用于以递归的有界块对角形式(用于处理器无关的并行LU分解)或递归的分离块对角形式(用于高速缓存无关的稀疏矩阵向量乘法)来带来稀疏矩阵。我们表明,所获得的分区和排序的质量是有竞争力的,通过比较所获得的填充LU分解与SuperLU(具有更好的结果为28个测试矩阵中的8个)和比较切割的大小稀疏矩阵向量乘法与蒙德里安(具有更好的结果为12个测试矩阵中的4个)。新方法的主要优点是其速度:它平均比Mondriaan快21.6倍。
2011-05-23 cs.DC cs.DS
Accelerating Sparse Tensor Decomposition Using Adaptive Linearized Representation
本文提出自适应线性化稀疏张量表示 ALTO 及配套并行张量分解算法和动态选择策略,在真实数据集上显著降低存储与同步开销并取得最高超数量级加速。
2025-03-15 cs.DC cs.DS cs.PF
A general-purpose hierarchical mesh partitioning method with node balancing strategies for large-scale numerical simulations
大规模并行数值模拟是必不可少的工程问题,涉及复杂的,耦合的物理过程,在广泛的空间和时间尺度的相互作用。这种模拟中涉及的数据结构(网格、稀疏矩阵等)通常表示为图形,并且这些图形必须在可用的计算资源上进行最佳划分,以便有效地扩展底层计算。最小化被切割(边切割)的图形边的数量同时维持分配给每个处理器核的工作量(即图形节点)的平衡的分区是期望的,并且对于具有多于$O(10^3)$处理器核的分区,大多数现有分区软件的性能在该度量中开始降级。在这项工作中,我们考虑了一个通用的分层分区,它考虑到存在多个处理器核心和共享内存在一个计算节点,同时分区成任意数量的子图的图形。我们证明,我们的算法显着提高了预处理效率和整体性能的现实数值模拟上运行多达32,768个处理器内核与近$10^9$未知数。
2018-10-10 cs.DC cs.MS
Parallel Sub-Structuring Methods for solving Sparse Linear Systems on a cluster of GPU
本文的主要目的是分析子结构方法并行求解由有限元、有限体积和有限差分等偏微分方程离散化所产生的矩阵稀疏线性系。结合通用图形处理器(GPGPU)上的成功应用,提出了一种多GPU和CPU混合的子结构算法。GPU计算与CUDA一起用于加速在每个处理器上执行的操作。数值实验已经进行了一组矩阵所产生的工程问题。我们比较了C+MPI在经典CPU集群上的实现和C+MPI+CUDA在GPU集群上的实现。性能比较表明,使用CUDA子结构方法的速度提高了19倍,在双精度。
2021-08-08 cs.DC cs.MS cs.NA
FlexVector: A SpMM Vector Processor with Flexible VRF for GCNs on Varying-Sparsity Graphs
本文提出FlexVector,一种基于向量处理器的架构,通过灵活的VRF处理GCN推理中的SpMM,减少内存交通,提升性能和能效。
2026-04-11 cs.AR cs.DC
Coded Sparse Matrix Multiplication
The Ohio State University(俄亥俄州立大学)
本文提出一种稀疏编码策略,解决大规模分布式矩阵乘法中的stragglers问题,实现近最优恢复阈值、低计算开销和线性解码时间。
2018-04-17 cs.DC cs.NA math.NA
Rethinking Sparse Formats for RISC-V: A Hierarchical Approach to High-Performance SpMV
Lobachevsky State University of Nizhny Novgorod(下诺夫哥罗德国立大学)
本文提出层次化CSR(HCSR)稀疏格式,利用RVV 1.0内建函数实现SpMV向量化,在RISC-V板上平均加速1.6倍,并开源为RVVLASparse库。
2026-10-15 cs.DC cs.PF
Compressed threshold pivoting for sparse symmetric indefinite systems
在稀疏直接求解器中,控制数值稳定性的一个关键技术是阈值部分主元。选择透视表时,对角线下方的整个候选透视表列必须是最新的,并且必须进行扫描。如果因子分解在大量核上并行化,则通信延迟可能是主要的计算成本。在本文中,我们提出了两种替代的旋转战略稀疏对称不定矩阵,显着减少通信压缩到一个小的矩阵,可用于选择枢轴所需的数据。一旦选择了枢轴,它们就可以以有效的通信方式应用。对于P处理器上的n × p子矩阵,我们表明我们的方法使用O(log P)消息而不是O(p log P)进行阈值部分旋转的因式分解。业务和通信带宽方面的额外费用相对较小。一个稳定性证明和数值结果,使用一系列的对称不定矩阵所产生的实际问题,以证明实际的鲁棒性。大型随机示例的时序结果说明了当前多核机器上的潜在加速。
2013-05-10 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
FusedMM: A Unified SDDMM-SpMM Kernel for Graph Embedding and Graph Neural Networks
Indiana University(印第安纳大学)
我们开发了一个融合矩阵乘法内核,统一采样稠密矩阵乘法和稀疏稠密矩阵乘法下一个单一的操作称为FusedMM。通过使用用户定义的函数,FusedMM可以捕获流行的图嵌入和GNN方法所需的几乎所有计算模式。FusedMM比Deep Graph Library中的等效内核快一个数量级。FusedMM的优越性能来自于底层的向量化内核、合适的负载均衡方案和内存带宽的有效利用。FusedMM可以使用代码生成器调整其性能,并在Intel、AMD和ARM处理器上表现同样出色。FusedMM在不同的处理器上将端到端图嵌入算法的速度提高了28倍。
2021-10-27 cs.DC cs.LG cs.SI
Scalable Graph Convolutional Network Training on Distributed-Memory Systems
Imagination Technologies(想象力科技);University of Warwick(华威大学)
图卷积网络(GCN)被广泛用于图上的深度学习。图的大数据量及其顶点特征使得可扩展的训练算法和分布式存储系统成为必要。由于图上的卷积运算会导致不规则的内存访问模式,因此为GCN训练设计一个高效的内存和通信并行算法带来了独特的挑战。我们提出了一个高度并行的训练算法,可扩展到大型处理器计数。在我们的解决方案中,大型邻接矩阵和顶点特征矩阵在处理器之间进行划分。我们利用图的顶点分区使用处理器之间的非阻塞点对点通信操作,以获得更好的可扩展性。为了进一步减少并行化的开销,我们引入了一个稀疏矩阵分区计划的超图分区模型的基础上进行全批训练。我们还提出了一种新的随机超图模型来编码小批量训练中的预期通信量。我们展示了超图模型的优点,以前未探索的GCN训练,在标准的图划分模型,它不准确地编码的通信成本。在真实世界的图数据集上进行的实验表明,所提出的算法实现了相当大的加速比替代解决方案。在具有许多处理器的高可扩展性下,通信成本方面的优化变得更加明显。性能优势在具有更多层的更深GCN中以及在十亿级图中得以保留。
2022-12-13 cs.AI cs.DC cs.LG
Avoiding Synchronization in First-Order Methods for Sparse Convex Optimization
EECS Department Univeristy of California, Berkeley;Statistics Department Univeristy of California, Berkeley;Math Department Univeristy of California, Berkeley
并行计算在加速大数据分析和大规模机器学习(ML)的凸优化方法方面发挥了重要作用。然而,这些优化方法的可扩展性受到并行设置中的通信和同步处理器的成本的抑制。迭代ML方法对通信成本特别敏感,因为它们通常需要每次迭代进行通信。在这项工作中,我们扩展了众所周知的技术,从通信避免Krylov子空间方法的一阶,块坐标下降方法的支持向量机和最小二乘问题。我们的同步避免(SA)变体通过$s$的可调因子减少延迟成本,但以$s$的因子增加触发器和带宽成本为代价。我们表明,SA-变种是数值稳定的,可以达到大的加速比高达$5.1\times$的Cray XC 30超级计算机上。
2017-12-17 cs.DC cs.LG math.OC
Virtual Transmission Method, A New Distributed Algorithm to Solve Sparse Linear System
Tsinghua University(清华大学)
提出虚拟传输法(VTM),通过插入无损传输线实现分布式计算,并证明其收敛性,数值实验表明该方法高效、精确且稳定。
2010-09-07 cs.DC cs.NA math.NA