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
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
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 Migratory Near Memory Processing Architecture Applied to Big Data Problems
主流供应商生产的服务器在处理大数据查询时效率低下,因为这些系统的基本架构中存在固有的瓶颈。当前的服务器刀片包含通过互连芯片组连接到DRAM存储器和磁盘的多核处理器。多核处理器芯片执行所有计算,而DRAM和磁盘存储数据,但没有处理能力。要执行数据库查询,数据必须在DRAM和小型缓存之间以及DRAM和磁盘之间来回移动。对于大数据应用程序来说,这种数据移动是繁重的。迁移近内存服务器通过将大量轻量级处理器直接放置到内存系统中来解决这个瓶颈。这些处理器直接在大数据应用程序的关系、顶点和边缘上运行,而无需在DRAM、缓存和重量级多核处理器之间来回穿梭大量数据。本文讨论了这种体系结构在关系数据库SELECT和JOIN查询中的应用。初步结果表明,端到端的数量级加速。
2020-03-20 cs.DB cs.DC
Toward matrix multiplication for deep learning inference on the Xilinx Versal
Universitat Politècnica de València(瓦伦西亚理工大学)
深度神经网络对许多人工智能(AI)任务的显著积极影响导致了各种高性能算法以及专用处理器和加速器的开发。在本文中,我们通过证明传统处理器架构中通用矩阵乘法(GEMM)的现代实现的基本原理,也可以有效地实现深度学习(DL)中出现的操作类型的高性能,例如Xilinx Versal平台中嵌入的AI Engine(AIE)模块。特别是,我们的实验结果与原型实现的GEMM内核,Xilinx Versal VCK 190,提供性能接近86.7%的理论峰值,可以预期的AIE瓦片,为16位整数操作数。
2023-02-15 cs.DC cs.LG
Architecture-Aware Configuration and Scheduling of Matrix Multiplication on Asymmetric Multicore Processors
Universidad Jaume I(豪梅一世大学);Universidad Complutense de Madrid(马德里康普顿斯大学)
本文设计了面向架构的矩阵乘法优化,通过缓存感知配置和异构静态动态调度策略,提升ARM big.LITTLE异构多核处理器的性能与能效。
2015-06-30 cs.DC cs.MS cs.NA
ARM Wrestling with Big Data: A Study of Commodity ARM64 Server for Big Data Workloads
ARM处理器由于其良好的计算能量比在过去十年中主导了移动终端市场。在这个云数据中心和大数据分析的时代,人们越来越关注节能处理,而不仅仅是高吞吐量计算。ARM的第一个商品服务器级处理器是最近的AMD A1100系列处理器,基于64位ARM Cortex A57架构。在本文中,我们研究了基于此ARM64 CPU的服务器的性能和能效,相对于运行AMD Opteron 3300系列x64 CPU的可比服务器,用于大数据工作负载。具体来说,我们在Apache Hadoop v2.7上以伪分布式设置研究了英特尔HiBench Web、查询和机器学习基准套件,数据大小可达$20GB$文件、$5M$网页和$500M$元组。我们的研究结果表明,ARM64服务器的运行时性能与基于整数的工作负载(如Sort和Hive查询)的x64服务器相当,只有在没有充分利用数据并行时,才落后于PageRank等浮点密集型基准测试。我们还看到,ARM 64服务器消耗$\frac{1}{3}^{rd}$能量,并且具有比x64服务器低$50-71\%$的能量延迟积(EDP)。这些结果为托管大数据工作负载的ARM64数据中心提供了降低运营成本的希望,同时为进一步分析提供了机会。
2017-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
Understanding Big Data Analytic Workloads on Modern Processors
大数据分析应用程序在数据中心中发挥着重要作用,因此了解它们的行为以进一步提高数据中心计算机系统的性能变得越来越重要,其中表征代表性工作负载是关键的实际问题。在本文中,在调查了三个最重要的应用领域的页面浏览量和每日访问量之后,我们选择了11个代表性的数据分析工作负载,并通过使用硬件性能计数器来表征其微架构行为,以了解数据分析工作负载对配备现代超标量乱序处理器的系统的影响和含义。我们的研究表明,大数据分析应用程序本身具有许多固有的特征,这些特征使它们与传统的工作负载和横向扩展服务不同。为了进一步了解大数据分析工作负载的特征,我们对CPI(每指令周期)与其他微架构级别特征进行了相关性分析,并调查了大数据软件堆栈对应用程序行为的影响。我们的相关性分析表明,尽管大数据分析工作负载具有显著的流水线前端停顿,但影响CPI性能的主要因素是长延迟数据访问,而不是前端停顿。我们的软件栈调查发现,典型的大数据软件栈显著地导致前端停滞,并导致更大的工作集。最后,我们给出了几个建议,架构师,程序员和大数据系统设计人员与知识,从本文中获得的。
2015-04-20 cs.DC cs.PF
Optimizing Distributed Tensor Contractions using Node-Aware Processor Grids
本文提出节点感知处理器网格以减少分布式张量缩并的节点间通信,并在 CTF 中实现,显著提升矩阵乘法及耦合簇计算性能。
2023-07-17 cond-mat.mtrl-sci 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-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
Improving Locality in Sparse and Dense Matrix Multiplications
本文提出运行时方法 tile fusion,通过融合稀疏与稠密矩阵乘法分块来改善数据局部性,并在多核 CPU 上相比未融合基线和 MKL 分别取得 1.97 倍和 1.64 倍的几何平均加速。
2024-06-28 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
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
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
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
Towards Big Topic Modeling
Soochow University(苏州大学);City University of Hong Kong(香港城市大学)
为了解决大主题建模问题,需要降低批处理潜在狄利克雷分配(LDA)算法的时间复杂度和空间复杂度。虽然多处理器结构上的并行LDA算法具有较低的时间复杂度和空间复杂度,但其处理器间的通信开销往往与词汇量和主题数成线性关系,导致严重的可扩展性问题。为了降低处理器之间的通信复杂性,提高系统的可扩展性,提出了一种基于幂律的通信高效的并行主题建模体系结构。我们提出的通信效率的并行架构与在线信念传播(OBP)算法被称为POBP大主题建模任务。大量的实验结果证实,POBP具有以下优点,以解决大主题建模问题:1)高精度,2)通信效率,3)速度快,和4)恒定的内存使用时,与最近的国家的最先进的并行LDA算法在多处理器架构。
2013-11-17 cs.DC cs.IR cs.LG
Truncated multiplication and batch software SIMD AVX512 implementation for faster Montgomery multiplications and modular exponentiation
本文提出基于AVX512的批量多精度整数运算实现,通过截断蒙哥马利模乘将模运算速度较GMP和OpenSSL提升4倍以上,并在模幂运算中取得显著加速。
2024-10-18 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
DGEMM on Integer Matrix Multiplication Unit
本文研究利用整数矩阵乘法单元加速高精度 DGEMM,基于 Ozaki 方案在整数 Tensor Core 上实现比 cuBLAS 和 FP16 Tensor Core 方案更快的双精度矩阵乘法,并将量子电路模拟加速最高 4.33 倍且保持 FP64 精度。
2024-03-30 cs.DC
Generation of the Single Precision BLAS library for the Parallella platform, with Epiphany co-processor acceleration, using the BLIS framework
The Apriella是一个混合计算平台,是Adapteva的Kickstarter项目的结果。它由高性能、高能效、多核架构、Epiphany芯片(用作协处理器)和一个Zynq-7000系列芯片组成,该芯片通常运行常规Linux操作系统版本,作为主处理器,并在其内部FPGA中实现“胶水逻辑”,以与P2P中的许多接口进行通信。在这篇论文中,我们创建了一个Epiphany加速的BLAS库,它适用于Epiphany平台(也适用于类似的混合平台,包括Epiphany芯片作为协处理器)。在实际实施双语法例及会计系统时,我们采用了双语法例及会计系统的架构。在这个平台上,以前已经有过矩阵-矩阵乘法的实现,在Epiphany芯片内实现了非常好的性能(高达峰值的85%),但对于完整的Sparkella平台来说并不是那么好(由于芯片间数据传输带宽限制)。这项工作的主要目的是为了更接近实际的线性代数应用程序的整个Atelella平台,与科学计算的观点。
2016-08-18 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
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
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
Parallel structurally-symmetric sparse matrix-vector products on multi-core processors
我们考虑的问题,开发一个有效的多线程实现的矩阵向量乘法算法的稀疏矩阵结构对称。矩阵存储使用压缩稀疏行-列格式(CSRC),旨在从全局有限元矩阵中观察到的对称非零模式中获益。与经典的压缩存储格式不同,使用CSRC执行稀疏矩阵向量积需要对目标向量进行线程安全访问。为了避免竞争条件,我们实现了两种分区策略。在第一种方法中,每个线程分配一个数组来存储它的贡献,这些贡献随后在累加步骤中组合。我们分析了如何以四种不同的方式进行这种积累。第二种策略使用着色算法对线程可以并发处理的行进行分组。我们的研究结果表明,虽然招致的工作集大小的增加,前一种方法导致大多数矩阵的最佳性能改善。
2010-05-28 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
Co-Design of the Dense Linear AlgebravSoftware Stack for Multicore Processors
本研究提出稠密线性代数软件栈协同设计方法,通过定制GEMM内核、动态适配缓存参数及开发架构专用微内核,在ARM与x86平台提升了缓存利用率与性能,同时揭示了多线程并行与缓存优化的平衡关系。
2023-04-27 cs.DC
Design and implementation of self-adaptable parallel algorithms for scientific computing on highly heterogeneous HPC platforms
传统的异构并行算法是为异构工作站集群设计的,它们基于这样的假设:处理器的绝对速度不取决于计算任务的大小。事实证明,这种假设对于现代和未来高度异构的HPC平台是不准确的。新的一类算法的基础上的功能性能模型(FPM),表示处理器的速度的函数的问题大小,最近已经提出。然而,这些算法不能采用自适应的应用程序,因为非常高的成本建设的功能性能模型。本文提出了一类新的并行算法的高度异构的HPC平台。与传统的基于FPM的算法一样,这些算法假设处理器的速度由速度函数而不是速度常数来表征。与传统的算法不同,它们不假设速度函数是给定的。相反,他们估计的速度函数的处理器在其执行过程中的不同大小的问题。这些算法不为每个处理器构建全速函数,而是构建和使用它们的部分估计,足以以给定的精度进行计算的最佳分布。在这些算法中,异构处理器之间的计算分布的低执行成本使它们适合于在自适应应用中就业。基于这种方法的并行矩阵乘法应用程序的实验进行本地和全球异构计算集群。结果表明,处理器之间的最佳矩阵分布的执行时间显着减少,由数量级,比优化的应用程序的总执行时间。
2011-09-14 cs.DC
High-Throughput CNN Inference on Embedded ARM big.LITTLE Multi-Core Processors
National University of Singapore(新加坡国立大学);Indian Institute of Technology Dharwad(印度理工学院达尔瓦德分校);Indian Institute of Technology Ropar(印度理工学院罗巴尔分校)
物联网边缘智能需要卷积神经网络(CNN)推理在边缘设备本身中进行。ARM big.LITTLE架构是流行的商业边缘设备的核心。它由单个ISA异构内核组成,这些内核被分组到多个同构集群中,从而实现功耗和性能的权衡。所有的核心预计将同时采用推理,以达到最大的吞吐量。然而,跨集群并行化来自卷积核的计算所涉及的高通信开销对吞吐量是有害的。我们提出了一个称为Pipe-it的替代框架,该框架采用流水线设计将卷积层拆分到集群中,同时将其各自内核的并行化限制在指定的集群中。我们开发了一个性能预测模型,该模型仅利用卷积层描述符来预测所有允许的核心配置(类型和计数)上每个层的执行时间。然后,Pipe-it利用预测,使用高效的设计空间探索算法创建平衡的管道。Pipe-it的平均吞吐量比先前的最高吞吐量高出39%。
2020-01-22 cs.DC cs.LG cs.PF
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
Architecture-Aware Optimization of an HEVC decoder on Asymmetric Multicore Processors
低功耗非对称多核处理器(AMP)由于其在能量受限的环境中具有吸引人的性能功耗比而引起了广泛的关注。然而,由于集成了具有不同性能的内核,这些处理器带来了重大的编程挑战,需要一种不对称感知的调度解决方案来仔细分配工作负载。最近的HEVC标准提供了几种高级并行化策略,是一种重要的应用,可以受益于针对当前许多移动或手持设备中存在的低功耗AMP定制的实现。在这种情况下,我们提出了一种HEVC解码器的架构感知实现,该解码器嵌入了针对配备ARM big.LITTLE AMP的Samsung Exynos 5422片上系统调整的关键度感知调度策略。通过利用ARM big.LITTLE架构中可用的NEON矢量引擎,我们的解决方案的性能和能效得到了进一步增强。实验结果表明,1080 p实时HEVC解码速度为24帧/秒,能耗降低超过20%。
2016-01-20 cs.DC cs.MM cs.PF
Distributed-memory $\mathcal{H}$-matrix Algebra I: Data Distribution and Matrix-vector Multiplication
介绍了$\mathcal{H}$ -矩阵的数据分布方案和$\mathcal{H}$ -矩阵-向量乘法的分布存储算法。我们的数据分布方案避免了昂贵的$Ω(P^2)$调度过程中使用的在以前的工作,其中$P$是进程的数量,而数据平衡得到很好的保护。该算法根据数据分布的特点,将计算均匀地分配到各个$P$进程中,并采用一种新的树型通信算法来降低延迟代价。对于弱容许条件下的$\mathcal{H}$ -矩阵,我们的算法的总复杂度为$O\Big(\frac{N \log N}{P} + α\log P + β\log^2 P \Big)$,其中$N$是矩阵大小,$α$表示延迟,$β$表示逆带宽.数值上,我们的算法适用于解决各种数量的进程之间的各种大小的二维和三维问题。在数千个进程上,仍然可以观察到良好的并行效率。
2020-09-22 cs.DC cs.NA math.NA
Algorithmic Based Fault Tolerance Applied to High Performance Computing
提出了一种新的高性能计算系统的容错方法。我们的方法是基于一个仔细适应的基于并行分布计算的容错技术(黄和亚伯拉罕,1984年)的需要。我们得到了一个强可扩展的容错机制。我们还可以在计算过程中检测和纠正错误(位翻转)。为了评估我们的方法的可行性,我们已经开发了一个容错矩阵矩阵乘法子程序,我们提出了一些模型来预测其运行时间。我们的并行容错矩阵矩阵乘法得分1.4 TFLOPS 484处理器(集群jacquard.nersc.gov),并返回一个正确的结果,而一个进程失败发生。这代表了机器峰值效率的65%,并且相对于最快的无故障实现而言,开销小于12%。我们预测(并且已经观察到),随着处理器数量的增加,容错的开销会显著下降。
2008-06-19 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
Node Aware Sparse Matrix-Vector Multiplication
稀疏矩阵向量乘(SpMV)运算是许多仿真和线性求解器中的关键计算内核。与并行SpMV的参考实现相关联的大的通信要求导致差的并行可扩展性。通信成本取决于发送和接收进程的物理位置:注入网络的消息比在同一节点上的进程之间发送的消息成本更高。在本文中,一个节点感知并行SpMV(NAPSpMV)被引入到利用系统拓扑结构的知识,特别是节点处理器的布局,以减少与通信相关的成本。输入向量的值被重新分配,以最小化在SpMV期间注入网络的消息的数量和大小,从而降低通信成本。各种计算实验,突出了这种方法的效率。
2017-11-15 cs.DC cs.MS
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
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
Space-Round Tradeoffs for MapReduce Computations
这项工作探讨了在成熟的MapReduce框架中出现的基本建模和算法问题。首先,我们正式指定了一个计算模型MapReduce,它通过允许灵活使用并行捕获的范式的功能风味。事实上,该模型偏离了传统的以处理器为中心的观点,其特征参数仅体现了全局和局部内存约束,因此更有利于以数据为中心的观点。其次,我们将该模型应用于矩阵乘法的基本计算任务,给出了密集和稀疏矩阵乘法的上界和下界,突出了空间和轮复杂性之间有趣的权衡。最后,建立在矩阵乘法的结果,我们得到进一步的空间轮矩阵求逆和匹配的权衡。
2011-11-09 cs.DC cs.DS
Coded Sparse Matrix Multiplication
The Ohio State University(俄亥俄州立大学)
本文提出一种稀疏编码策略,解决大规模分布式矩阵乘法中的stragglers问题,实现近最优恢复阈值、低计算开销和线性解码时间。
2018-04-17 cs.DC cs.NA math.NA
High performance and energy efficient inference for deep learning on ARM processors
我们将PyDTNN(深度神经网络(DNN)的分布式并行训练框架)进化为卷积神经网络的有效推理工具。我们在多核ARM处理器上的优化过程涉及到原始框架的几个高级转换,例如开发和集成Cython例程以利用线程级并行性;设计和开发用于矩阵乘法的微内核,用ARMs NEON内部函数进行向量化,可以适应层融合;以及适合于目标ARM处理器的存储层次结构的若干高速缓存配置参数的适当选择。我们的实验评估了推理吞吐量(以处理的图像/s测量)和推理延迟(即,响应时间)以及当改变线程并行性的级别和处理器功率模式时每个图像的能耗。报告了使用新推理引擎的实验,用于MLPerf套件中ImageNet数据集上的ResNet 50 v1.5模型,使用NVIDIA Jetson AGX Xavier板中的ARM v8.2内核。这些结果显示,与来自Google的广泛传播的TFLite相比,性能优越,与来自ARM的DNN推理本地库ArmNN相比,结果略差。
2021-05-19 cs.AR cs.DC cs.PF
Enabling performance portability of data-parallel OpenMP applications on asymmetric multicore processors
针对非对称多核处理器上数据并行OpenMP应用的负载不平衡问题,提出新型循环调度方法AID,在libgomp中实现并使性能较传统策略最高提升56%。
2024-02-12 cs.DC cs.OS
From array algebra to energy efficiency on GPUs: Data and hardware shapes with dimension-lifting to optimize memory-processor layouts
提出基于MoA形式体系与维度提升的并行矩阵乘法算法,优化GPU内存-处理器布局,在V100上实现能耗随矩阵大小线性增长。
2023-06-19 cs.DC cs.MS
The spatial computer: A model for energy-efficient parallel computation
我们提出了一种新的并行计算模型,适用于空间架构,用于通信的能量在很大程度上取决于通信处理器的距离。在我们的模型中,处理器在一个概念性的二维网格上的位置,它们在其中的距离决定了它们的通信成本。特别是,我们引入了空间计算的能量成本,它测量所有消息传播的总距离,并研究了通信的深度,它测量了消息链的最大跳数。我们显示匹配的能量下限和上限的许多基础问题,包括排序,中位数选择和矩阵乘法。我们的模型不依赖于输入形状和大小以外的任何参数,简化了算法分析。我们还展示了如何在我们的模型中模拟PRAM算法,以及如何获得一个更复杂的模型,介绍了作为参数的处理器的本地存储器的大小的结果。
2023-01-17 cs.DC cs.DS
Multi-Threaded Dense Linear Algebra Libraries for Low-Power Asymmetric Multicore Processors
密集线性代数库,如BLAS和LAPACK,为许多科学和工程应用提供了相关的数值工具集合。虽然存在用于许多当前多线程架构的BLAS(和LAPACK)功能的高性能实现,但是这些库用于非对称多核处理器(AMP)的适配仍然悬而未决。在本文中,我们解决这个挑战,通过开发一个不对称意识的实现的BLAS,基于BLIS框架,并为AMP配备了两种类型的核心:快速/耗电与缓慢/节能。为此,我们将粗粒度和细粒度并行化策略集成到库例程中,分别动态分配两种核心类型之间的工作量和静态重新分配相同类型的核心之间的工作。我们的结果在嵌入Exynos 5422 SoC的ARM big.LITTLE处理器上,使用BLAS的非对称感知版本和LAPACK的传统版本的简单迁移,实验评估了这种方法的优点,局限性和潜力。
2015-11-06 cs.DC cs.MS
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
Accelerating 128-bit Floating-Point Matrix Multiplication on FPGAs
本研究针对SDP等应用对高精度运算的需求及现有处理器支持不足的问题,在FPGA上实现了binary128精度GEMM加速,性能达90GFlops,是20线程CPU的147倍,并首次成功加速了LU分解与SDP问题。
2023-06-07 cs.AR cs.DC cs.MS
A unified sparse matrix data format for efficient general sparse matrix-vector multiply on modern processors with wide SIMD units
稀疏矩阵向量乘法(spMVM)是许多数值算法中最耗时的核心,在所有现代处理器和加速器架构上都得到了广泛的研究。然而,最佳稀疏矩阵数据存储格式是高度硬件特定的,这可能成为使用异构系统时的障碍。此外,目前还不清楚如何在当前多核和众核处理器中最有效地使用宽单指令多数据(SIMD)单元,如果矩阵的稀疏模式中没有结构。我们建议SELL-C-sigma,切片ELLPACK的变体,作为一种SIMD友好的数据格式,它结合了通用图形处理单元(GPGPU)和矢量计算机编程的长期思想。我们讨论了SELL-C-sigma与压缩行存储(CRS)和ELLPACK等已建立的格式相比的优势,并展示了其在各种硬件平台(英特尔Sandy Bridge、英特尔至强融核和Nvidia Tesla K20)上的适用性,用于不同应用领域的各种测试矩阵。使用适当的性能模型,我们深入了解SELL-C-sigma spMVM内核的数据传输特性。SELL-C-sigma带有两个调整参数,研究了它们在测试矩阵范围内的性能影响,并提出了合理的选择。这导致了一种独立于硬件的(“全捕获”)稀疏矩阵格式,其对于跨所有硬件平台的所有测试矩阵实现了非常高的效率。
2014-03-05 cs.DC cs.MS
Characterizing Scalability of Sparse Matrix-Vector Multiplications on Phytium FT-2000+ Many-cores
College of Computer Science, National University of Defense Technology(国防科学技术大学计算机学院);University of Leeds(利兹大学)
了解并行程序的可扩展性对于软件优化和硬件体系结构设计至关重要。随着HPC硬件向众核设计发展,并行程序越来越难以有效利用所有可用的处理器内核。这使得可伸缩性分析变得越来越重要。本文提出了一个定量的研究,表征稀疏矩阵向量乘法(SpMV)的可扩展性Phytium FT-2000+,基于ARM的众核架构的HPC计算。我们选择研究SpMV,因为它是科学和HPC应用中的常见操作。由于基于ARM的众核架构的新颖性,很少有工作了解这种硬件设计上的SpMV可扩展性。为了缩小差距,我们进行了一项涉及1,000多个代表性SpMV数据集的大规模实证评估。我们发现,虽然许多计算密集型SpMV应用程序包含广泛的并行性,实现线性加速是不平凡的Phytium FT-2000+。为了更好地了解什么软件和硬件参数是最重要的,以确定一个给定的SpMV内核的可扩展性,我们开发了一个性能分析模型的基础上回归树。我们表明,我们的模型是非常有效的特征SpMV的可扩展性,提供有用的见解,以帮助应用程序开发人员更好地优化SpMV的新兴HPC架构。
2019-11-20 cs.CL cs.DC cs.PF