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
Parallel Algorithm for Time Series Discords Discovery on the Intel Xeon Phi Knights Landing Many-core Processor
Discord是对时间序列的异常子序列概念的一种细化。不一致发现的任务是应用在广泛的主题领域相关的时间序列:医学,经济学,气候建模等,在本文中,我们提出了一种新的并行算法不一致发现的英特尔至强融核骑士登陆(KNL)众核系统的情况下,当输入数据适合在主内存中。该算法利用独立计算时间序列的连续性之间的欧几里得距离的能力。通过OpenMP技术进行计算。该算法包括两个阶段,即预计算和发现。在预计算阶段,我们构建了辅助矩阵数据结构,以确保在英特尔至强融核KNL上进行高效的向量化计算。在发现阶段,算法根据上述结构发现不一致。实验评估证实了所开发的算法的高可扩展性。
2019-01-01 cs.DC
Optimization and parallelization of B-spline based orbital evaluations in QMC on multi/many-core shared memory processors
基于B样条的轨道表示被广泛地用于固体的量子蒙特卡罗(QMC)模拟,历史上占据总运行时间的多达50%。对大型四维数组的随机访问使得有效利用现代CPU的高速缓存和宽向量单元变得具有挑战性。我们提出了多/众核共享内存处理器上的B样条评估的节点级优化。为了提高SIMD效率和带宽利用率,我们首先应用数据布局转换从数组的结构(SoA)。然后通过阻塞SoA对象,我们优化了缓存重用,并为一系列问题大小获得持续的吞吐量。我们在B样条轨道评估内核中实现了高效的嵌套线程,为实现QMC模拟的强大扩展铺平了道路。这些优化可移植到四种不同的高速缓存一致性架构上,在英特尔至强融核处理器7250 P(KNL)上可实现高达5.6倍的性能增强,在英特尔至强融核协处理器7120 P上可实现5.7倍的性能增强,在英特尔至强处理器E5 v4 CPU上可实现10倍的性能增强,在BlueGene/Q处理器上可实现9.5倍的性能增强。我们的嵌套线程实现在KNL上显示出接近理想的并行效率,最多可达16个线程。我们采用车顶性能分析来模拟我们的优化的影响。这项工作与我们目前优化其他QMC内核的努力相结合,导致miniQMC在KNL上的加速比超过4.5倍。
2016-11-08 cs.DC
Novel Model-based Methods for Performance Optimization of Multithreaded 2D Discrete Fourier Transform on Multicore Processors
在本文中,我们使用三个高度优化的软件包,FFTW-2.1.5,FFTW-3.3.7,和英特尔MKL FFT提供的多线程快速傅立叶变换,提出了一种新的基于模型的并行计算技术,作为一个非常有效的和便携式的方法优化的科学多线程例程的性能,特别是在当前的多核时代,处理器有大量的核心。在此基础上提出了两种优化方法PFFT-FPM和PFFT-FPM-PAD。它们使用p个抽象处理器计算大小为NxN的复信号矩阵的2D-DFT。这两种算法都以处理器的问题大小的性能的离散3D函数作为输入,并输出变换后的信号矩阵。基于我们在由36个物理内核组成的现代英特尔Haswell多核服务器上的实验,使用FFTW-3.3.7观察到的PFFT-FPM的平均和最大加速比分别为1.9倍和6.8倍,使用英特尔MKL FFT观察到的平均和最大加速比分别为1.3倍和2倍。使用FFTW-3.3.7观察到的PFFT-FPM-PAD的平均和最大加速比分别为2倍和9.4倍,使用英特尔MKL FFT观察到的平均和最大加速比分别为1.4倍和5.9倍。
2018-08-16 cs.DC
First Experiences Optimizing Smith-Waterman on Intel's Knights Landing Processor
众所周知的Smith-Waterman(SW)算法是用于局部序列比对的最常用的方法。然而,SW对于大型蛋白质数据库的计算要求非常高。存在利用在多核、FPGA或GPU上的计算并行化的若干实现,以便增加对准吞吐量。在本文中,我们探讨了英特尔KNL处理器上的软件加速。这种架构的新颖性需要修改以前的编程和优化技术的众核架构。据作者所知,这是第一次对SW算法进行KNL架构评估。我们的评估,使用著名的环境NR数据库作为基准,已经表明,多线程和SIMD开发报告的竞争力的性能(351 GCUPS)与其他实现相比。
2017-02-23 cs.DC cs.PF
The Use of MPI and OpenMP Technologies for Subsequence Similarity Search in Very Large Time Series on Computer Cluster System with Nodes Based on the Intel Xeon Phi Knights Landing Many-core Processor
如今,子序列相似性搜索是需要在广泛的时间序列挖掘应用:气候建模,金融预测,医学研究等,在大多数这些应用中,动态时间规整(DTW)的相似性度量使用,因为DTW是经验证实的最佳相似性度量大多数学科领域之一。由于DTW测度具有关于t的二次计算复杂性,查询子序列的长度,已经开发了许多用于各种众核架构的并行算法,即FPGA,GPU和Intel MIC。在这篇文章中,我们提出了一个新的并行算法,在非常大的时间序列的子序列相似性搜索的计算机集群系统的节点的基础上,英特尔至强融核骑士登陆(KNL)众核处理器。计算在两个级别上并行化,如下所示:通过MPI在所有集群节点的级别,并通过一个集群节点内的OpenMP。该算法涉及额外的数据结构和冗余计算,这使得有效利用Phi KNL上的向量计算能力成为可能。在真实数据集和合成数据集上的实验结果表明,该算法具有良好的可扩展性。
2018-12-26 cs.DC
Early Experience on Using Knights Landing Processors for Lattice Boltzmann Applications
Knights Landing(KNL)是基于Intel Many Integrated Core(MIC)架构的最新一代Intel处理器的代号。它依赖于大量的线程和数据并行,以及快速的片上存储器。此处理器在独立模式下运行,引导现成的Linux操作系统。KNL的峰值性能非常高--在双精度的中约为3 Tflops,在单精度的中约为6 Tflops--但持续的性能主要取决于处理器的所有并行特性在实际应用中的利用程度。我们评估的性能,这种处理器的格子玻尔兹曼代码,广泛用于计算流体动力学。在我们的OpenMP代码中,我们考虑了几种内存数据布局,这些布局满足应用程序不同部分的冲突计算需求,并保持大部分峰值性能。我们与其他处理器和加速器进行了一些性能比较,并讨论了各种内存布局对能效的影响。
2018-04-05 cs.DC
Multicore architecture and cache optimization techniques for solving graph problems
随着大数据和物联网时代的到来,大数据集的可用性呈指数级增长。这些数据集需要深入分析,为学术界和工业界改进方法提供情报。大多数数据集都以图表的形式显示和提供。因此,当前的问题是解决图问题。由于数据集很大,分析数据所需的时间很长。因此,在本文中,我们将探讨可以利用现有多核架构来解决这个问题的技术。目前,大多数中央处理器都采用了多核设计;此外,图形处理器等协处理器具有大量的内核,可以用于获得显着的加速。因此,在本文中的技术,以发挥多核架构的优势进行了研究。
2018-07-09 cs.DC
Efficient Construction of Simultaneous Deterministic Finite Automata on Multicores Using Rabin Fingerprints
在本文中,我们提出了几个优化的SFA构造算法,这大大减少了内存中的足迹和所需的处理步骤,以构建一个SFA。我们引入指纹作为一种空间和时间有效的方式来表示SFA状态。为了计算指纹,我们应用Barrett归约算法,并使用最近添加到x86指令集架构来加速它。我们利用指纹引入哈希进一步优化。我们的并行SFA构造算法是非阻塞的,并利用了粗,中,细粒度的并行性的防御级,数据级和任务级。我们适应静态的工作负载分布和对齐的SFA数据结构与多核存储层次结构的限制,以增加存储器访问的本地性和促进硬件预取。我们在PROSITE蛋白质数据库上进行了多达702个FA状态的FA实验,以评估我们提出的优化方法的性能和有效性。在4 CPU(64核)AMD Opteron 6378系统和2 CPU(28核,每个核2个超线程)Intel Xeon E5-2697 v3系统上进行了评估。在AMD系统上观察到的顺序基线算法的加速比高达118541倍,在Intel系统上为2113968倍。
2017-09-26 cs.DC
SlimSell: A Vectorizable Graph Representation for Breadth-First Search
矢量化和GPU将深刻改变图形处理。针对32位或64位内存访问调整的传统图形算法在英特尔Knights Landing(KNL)众核CPU中已经存在的512位宽(或更大)指令单元的架构上效率低下。预计这种转变,我们提出SlimSell:一个矢量化的图形表示,以加速基于稀疏矩阵密集向量(SpMV)产品的广度优先搜索(BFS)。SlimSell扩展并结合了最先进的SIMD友好的Sell-C-sigma矩阵存储格式与热带,实数,布尔和sel-max半环运算。由此产生的设计减少了必要的存储(高达50%),从而减少了内存子系统的压力。我们用SlimWork和SlimChunk方案增强了SlimSell,减少了工作量,改善了负载平衡,进一步加速了BFS。我们评估了英特尔Haswell多核CPU、最先进的英特尔至强融核KNL多核CPU和NVIDIA Tesla GPU上的所有方案。我们的实验表明,半环提供最高的BFS加速,并说明SlimSell加速了高达33%的调整Graph 500 BFS代码。这项工作表明,矢量化可以确保高性能的BFS的基础上SpMV产品,所提出的原则和设计可以扩展到其他图形算法。
2020-10-21 cs.DC cs.DS
Study and evaluation of an Irregular Graph Algorithm on Multicore and GPU Processor Architectures
不规则应用是对片上多处理器(CMP)的性能可扩展性提出重大挑战的计算应用领域之一。这样的应用程序具有非常少的计算和不可预测的存储器访问模式,使得它们与计算受限的应用程序相比是内存受限的。由于处理器和存储器性能之间的差距继续存在,难以隐藏和减少这种差距是导致这些应用程序在CMP上性能不佳的重要因素之一。本论文的目标是克服许多这样的挑战,在性能加速的不规则图算法称为三元组普查。我们在两种截然不同的芯片多处理器上加速了Triad Census算法:双插槽英特尔至强多核(每个插槽8个硬件线程)和240处理器内核的NVIDIA Tesla C1060 GPGPU(每个内核128个硬件线程)。在英特尔多核至强系统上获得的实验结果显示,对于真实世界的图形数据集,性能加速(相对于基线顺序)最大为56倍,平均为33倍,最小为8.3倍。在NVIDIA Tesla C1060 GPGPU上,我们能够几乎平等地匹配多核结果-58.4倍最大,32.8倍平均和4.2倍最小加速比相对于基线序列。在原始性能方面,对于称为Patents网络的图形数据集,我们在英特尔至强多核(16 hw线程)上的结果比之前在Cray XMT(16 hw线程)上的结果快1.27倍,而在GPGPU上实现的结果相对较慢(0.72倍)。据我们所知,该算法只在超级计算机级计算机Cray XMT上进行了加速,并且没有工作证明该算法在相对较低成本…
2016-03-08 cs.DC cs.PF
Performance analysis of the Kahan-enhanced scalar product on current multicore processors
我们调查的性能特点的数值增强的标量积(点)内核循环,使用Kahan算法来补偿数值误差,并描述了高效的SIMD矢量化实现最近的英特尔处理器。使用低级别的指令分析和执行缓存内存(ECM)的性能模型,我们查明了单核和线程并行执行的相关性能瓶颈,并预测性能和饱和行为。我们表明,Kahan增强标量积来在几乎没有额外的成本相比,天真(非Kahan)标量积,如果适当的低层次优化,特别是SIMD矢量化和展开,应用。我们还研究了架构变化对四代英特尔至强处理器的影响。
2015-05-11 cs.DC cs.PF
Porting Decision Tree Algorithms to Multicore using FastFlow
整个计算机硬件行业都采用了多核技术。对于这些机器,顺序算法的极端优化不再足以挤压真正的机器能力,这只能通过线程级并行来利用。决策树算法表现出自然的并发性,使它们适合并行化。本文提出了一种简单而有效的移植的C4.5算法的多核实现的方法。并行移植只需要对原始顺序代码进行最小的更改,并且能够在英特尔双四核机器上利用高达7倍的加速。
2010-09-19 cs.DB cs.DC
Tuning and optimization for a variety of many-core architectures without changing a single line of implementation code using the Alpaka library
我们提出了一个使用Alpaka硬件抽象库优化单个C++11源代码的性能分析。为此,我们使用通用矩阵乘法(GEMM)算法,以表明编译器可以优化Alpaka代码时,调整算法的关键参数有效。我们不打算与现有的高度优化的DGEMM版本竞争,而只是选择这个例子来证明Alpaka允许使用单个源代码进行特定于平台的调优。此外,我们分析了优化潜力与供应商特定的编译器时,面对大量的模板抽象的Alpaka。我们专门测试了Nvidia的Tesla P100、Intel的Knights Landing(KNL)和Haswell架构以及IBM的Power8系统等前沿架构的代码。在其中的一些上,我们能够使用上述手段达到峰值浮点运算性能的几乎50%。当添加特定于编译器的#pragmas时,我们可以在P100上达到5 TFLOPS/s,在KNL系统上超过1 TFLOPS/s。
2017-06-30 cs.DC
A Speculative Parallel DFA Membership Test for Multicore, SIMD and Cloud Computing Environments
我们提出的技术,并行化的确定性有限自动机(DFA)的成员资格测试。我们的方法通过使用推测并行匹配多个字节来搜索任意正则表达式。我们将输入字符串划分为块,并行匹配块,并组合匹配结果。我们的并行匹配算法利用结构DFA属性,以尽量减少投机开销。与以前的方法不同,我们的推测是无故障的,即,(1)保持了顺序语义,以及(2)完全避免了减速。在具有用于索引内存加载的SIMD查询操作的架构上,我们的匹配操作是完全向量化的。建议的负载平衡方案使用一个离线分析步骤,以确定每个participating处理器的匹配能力。基于匹配能力,DFA匹配在诸如云计算环境的非同构并行架构上负载平衡。我们评估了我们的投机DFA成员测试的一组代表性的基准,从Perl兼容的正则表达式(PCRE)库和PROSITE蛋白质数据库。评估在英特尔众核测试实验室(英特尔MTL)的4 CPU(40核)共享内存节点、用于8路完全矢量化SIMD执行的英特尔AVX2 RISC模拟器以及Amazon EC2计算云上的20节点(288核)群集上进行。
2013-07-22 cs.DC cs.FL
Pushing the limits for medical image reconstruction on recent standard multicore processors
在许多介入性临床计算机断层扫描(CT)应用中,通过反投影的体积重建是计算瓶颈。今天,该领域的供应商用标准硬件(如多核芯片和GPGPU)取代了专用硬件加速器。医学成像算法即将采用高性能计算(HPC)技术,因此是一个有趣的新的候选优化。本文通过对四代英特尔多核处理器(Harpertown、Westmere、Westmere EX和Sandy Bridge)的全面性能分析,介绍了反向投影算法的低级优化。我们选择RabbitCT基准测试,这是一个在行业中得到良好支持的标准化测试用例,以确保结果透明且具有可比性。我们的目标是不仅提供最快的实现,而且还比较性能模型和硬件计数器数据,以便充分了解结果。我们分开的算法优化,并行化,SIMD向量化,和微体系结构的问题,并查明目前的SIMD指令集扩展标准CPU(SSE,AVX)的问题的影响。为了获得最佳性能,必须使用汇编语言。最后,我们比较我们的结果,最好的GPGPU实现可用于这个开放的竞争基准。
2011-09-20 cs.DC cs.PF
Temporal Load Imbalance on Ondes3D Seismic Simulator for Different Multicore Architectures
该研究针对Ondes3D地震模拟器,评估其在八种不同多核架构、两种地震场景下的性能,发现时间负载不平衡程度依赖所选架构,部分平台可更有效缓解该问题。
2024-09-17 cs.DC cs.PF
Honing and proofing Astrophysical codes on the road to Exascale. Experiences from code modernization on many-core systems
现代和即将到来的计算架构的复杂性对代码开发人员和应用程序专家提出了严峻的挑战,并迫使他们暴露最高程度的并行性,以便最好地利用可用的硬件。第二代英特尔$^{(R)}$至强融核$^{(TM)}$(代号Knights Landing,以下简称KNL)是最新的众核系统,它实现了多个有趣的硬件功能,例如每个节点的大量内核(多达72个)、512位宽的矢量寄存器和高带宽内存。KNL的独特功能使该平台成为现代HPC应用程序的强大测试平台。因此,KNL上代码的性能是其为未来架构做好准备的有用代表。在这项工作中,我们描述了广泛使用的计算天体物理学P-Gadget-3,Flash和Echo的代码优化过程中吸取的教训。此外,我们提出的可视化和分析工具VisIt和YT的结果。这些示例表明,现代架构从不同级别的代码优化中受益,甚至超过传统的多核系统。然而,典型社区规范的现代化水平仍需提高,以充分利用新建筑的资源。
2020-02-19 astro-ph.IM cs.DC cs.PF
OpenMP Parallelization of Dynamic Programming and Greedy Algorithms
多核自出现以来就成为一种典型的体系结构模型,现在已经成为一种标准。趋势是增加核的数量和提高存储系统的性能。为一个重要的算法内核提供一个高效的多核实现是一个真正的贡献。从方法论的角度来看,这应该在基础范式(如果有的话)的级别上完成。在本文中,我们研究的情况下,{ \em动态规划}和{ \em贪心算法},这是两个主要的算法范例。我们专门考虑通过OpenMP基于方向的循环并行化,并研究必要的预转换,以达到一个定期的并行形式。我们评估我们的方法与选择知名的组合优化问题的INTEL Broadwell处理器。可扩展性的关键点之前和之后的实验结果进行了讨论。我们的直接观点是将我们的研究扩展到众核情况,特别关注NUMA配置。
2020-01-20 cs.DC
Power Regulation in High Performance Multicore Processors
本文提出,实现,并评估多核处理器的功率调节技术,基于可调增益的积分控制器。增益设计用于宽稳定裕度,并作为控制律的一部分进行实时的计算。控制系统的跟踪性能是鲁棒的建模不确定性和计算误差的回路。设计这样的控制器的主要挑战是,程序工作负载的功耗变化很大,往往无法准确测量,因此现有的控制器要么是特设的或基于先验建模的处理器和工作负载的特征。我们的方法不同。利用上述鲁棒性,它使用一个简单的教科书建模框架,并通过系统识别模块实时的调整其参数。在这一点上,它的交易建模精度快速计算的循环,使其适合在线实施的商品数据中心处理器。因此,所提出的控制器是不可知的,在这个意义上,它不需要任何先验的系统特性。我们提出了一种实现的控制器上英特尔的第四代微体系结构,Haswell,并测试它的一些行业基准程序,用于科学计算和数据中心的应用。这些实验的结果详细揭示了在商品多核处理器中实现可证明收敛的功率调节解决方案的实际挑战。
2017-09-14 cs.DC math.OC
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
Simulating collective neutrinos oscillations on the Intel Many Integrated Core (MIC) architecture
我们评估了基于英特尔多集成核心(MIC)架构的第二代英特尔至强融核协处理器,也称为Knights Landing或KNL,用于模拟(核心塌陷)超新星中的中微子振荡。为此,我们开发了一个数字代码XFLAT,它针对MIC架构进行了优化,可以在仅具有CPU或Xeon Phis的同构HPC平台上运行,也可以在具有CPU和Xeon Phis的混合平台上运行。为了有效地利用MIC架构的SIMD(向量)单元,我们在代码的低级模块中实现了阵列结构(SoA)的设计。我们在配备双68核7250 Xeon Phis的NERSC Cori超级计算机上对代码进行了基准测试。我们发现,与第一代Xeon Phi(Knights Corner a.k.a KNC)相比,性能提高了许多倍。我们在这项工作中遇到的一些问题可能会随着新的中微子振荡超新星模型和下一代Xeon Phi的出现而得到解决。
2019-12-23 cs.CE cs.DC physics.comp-ph
On the Performance and Energy Efficiency of the PGAS Programming Model on Multicore Architectures
使用大规模的多核系统来获得最大的性能和能源效率以及可管理的可编程性是一个重大挑战。分区全局地址空间(PGAS)编程模型通过在大规模计算系统上提供全局地址空间来增强可编程性。然而,到目前为止,性能和能源效率的PGAS模型上的多核并行架构还没有得到彻底的调查。在本文中,我们使用一组从著名的NAS并行基准测试中选择的内核来评估UPC程序设计语言的性能和能效,UPC编程语言是PGAS模型的广泛使用的实现。此外,MPI和OpenMP版本的相同的并行内核用于比较与他们的UPC同行。所研究的硬件平台基于多核CPU,既可以在单个16核节点内,也可以跨多个节点,涉及多达1024个物理核。在多节点平台上,我们使用称为高清晰度能效监测工具的硬件测量解决方案来测量能量。在单节点系统上,我们使用混合测量解决方案来努力了解观察到的性能差异,我们使用英特尔性能计数器监视器来详细量化通信时间、缓存命中/未命中率和内存使用情况。我们的实验表明,UPC是有竞争力的OpenMP和MPI在单个和多个节点上,在性能和能源效率方面。
2019-12-29 cs.DC cs.PF cs.PL
Graph500 from OCaml-Multicore Perspective
OCaml是一种工业级、多范式的程序设计语言,广泛应用于工业和学术界。OCaml是为解决涉及大规模数据密集型操作的数值和科学问题而开发的,其中一个经典的应用程序集是图形算法,它是大多数分析工作负载的核心部分。在本文中,我们的目标是实现图基准测试以及性能分析。Graph 500就是这样一个严肃的基准,旨在开发需要极高计算能力的数据密集型应用程序。我们尝试使用graph 500提出的所需规范和规则来实现图构造,BFS,最短路径问题。本文的目的是提供一个明确的方向,选择几个数据结构使用,算法开发和提出背后的每一步程序的原因。本文的前几部分讨论了一个正式的方法来解决这个问题,并为OCaml的初学者提供了一个小指南。后面的部分详细描述了算法,以及未来探索的可能性和我们在接近解决方案时犯下或遇到的几个错误。所有性能指标均在英特尔(R)至强(R)Gold 5120 CPU@2.20 GHz 24核机器上进行了测试。每个部分都讨论了遇到的初始性能故障,这将有助于从性能角度分析和优先考虑我们的首选实现。
2020-12-25 cs.DC cs.PF
ICE: A General and Validated Energy Complexity Model for Multithreaded Algorithms
像时间复杂度模型,已显着有助于快速算法的分析和开发,并行算法的能量复杂度模型被期望作为关键手段,以开发能源高效的算法,无处不在的多核平台。理想的能量复杂度模型应该在真实的多核平台上得到验证,并适用于广泛的并行算法。然而,现有的并行算法的能量复杂度模型要么是理论上的模型验证或算法特定的没有能力分析能量复杂度的广泛的并行算法。本文提出了一种新的通用验证并行(多线程)算法的能量复杂性模型。新模型通过计算操作和数据访问的静态和动态能量抽象出可能的多核平台,并从其工作、跨度和I/O复杂度中推导出给定算法的能量复杂度。通过在高性能计算(HPC)平台(例如,Intel Xeon和Xeon Phi)。新的能量复杂度模型能够根据三个方面来表征和比较SpMV和matmul内核的能量消耗:不同算法,不同输入矩阵类型和不同平台。实验结果证实了新模型关于在不同平台上使用不同输入时哪种算法消耗更多能量的预测。为了提高新模型在广泛平台上的可用性和准确性,提供了包括HPC、加速器和嵌入式平台在内的11个平台的ICE模型的平台参数。
2016-10-04 cs.DC
Data Oblivious Algorithms for Multicores
随着诸如英特尔SGX(具有超线程)等安全处理器的广泛采用,对大数据的私人分析的需求越来越大。大多数数据不经意算法的工作采用经典的PRAM模型来捕获并行性。然而,人们普遍认为PRAM并不能最好地捕捉现实的多核处理器,也不能反映实际中采用的并行编程模型。在本文中,我们开始研究并行数据不经意算法在现实的多核,最好的捕获的二进制fork-join模型的计算。我们首先证明了数据无关排序可以通过具有最佳总工作和最佳(缓存无关)缓存复杂度的二进制fork-join算法来完成,并且在O(log n log log n)跨度(即,并行时间)匹配最著名的不安全算法。使用我们的排序算法作为核心原语,我们展示了如何在二进制fork-join模型中以非平凡的效率模拟一般PRAM算法。我们还提出了几个应用程序,包括列表排名,欧拉之旅,树收缩,连接组件,最小生成森林的结果。对于这些应用程序的一个子集,我们的数据无关算法渐近优于最知名的不安全算法。对于其他应用程序,我们展示了数据不经意的算法,其性能界限匹配最知名的不安全算法。补充这些渐近有效的结果,我们提出了一个实际的变种,我们的排序算法,是独立的和潜在的实现。它具有最佳的缓存成本,它是从最佳的工作和关于一个log n的因素关闭的跨度,而且,它实现了小的常数因子在其边界。
2021-06-29 cs.CR cs.DC cs.DS
Optimization of an electromagnetics code with multicore wavefront diamond blocking and multi-dimensional intra-tile parallelization
了解和优化太阳能电池的性能正在成为寻找核能和化石能源替代品的关键问题。通过数值模拟的理论分析涉及以离散形式求解麦克斯韦方程组,并且通常需要大量的计算工作。我们从一个混合并行(MPI+OpenMP)的生产代码,实现了时间谐波逆迭代法(THIIM)与频域差分(FDFD)离散化。虽然该算法具有强带宽约束的模板更新方案的特点,它是显着不同的流行的模板类型,已被详尽研究的高性能计算文献的日期。我们应用最近开发的模板优化技术,多核波前菱形平铺与多维缓存块共享,并详细描述了由于特殊的模板结构需要考虑的特点。更新电场和磁场的分量的并发性提供了额外的并行性水平。优化代码的缓存大小要求对阻塞参数的依赖性被精确地建模,并且自动调谐器在剩余的参数空间中搜索最优配置。我们能够将执行与内存带宽瓶颈完全分离,与在18核Intel Haswell CPU上使用纯空间阻塞的最佳实现相比,将实现速度提高了三到四倍。
2015-10-18 cs.CE cs.DC cs.PF
Enhanced OpenMP Algorithm to Compute All-Pairs Shortest Path on x86 Architectures
本文将面向Xeon Phi KNL的Floyd-Warshall并行代码移植并优化到通用Intel x86处理器,提出提高并发度的新优化,实验表明性能最多提升23%。
2024-06-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
Efficient Architecture-Aware Acceleration of BWA-MEM for Multicore Systems
下一代测序技术的创新使DNA序列数据的生成速度更快,成本更低。大型测序中心通常使用数百个这样的系统。这种高通量和低成本的数据生成强调了在测序数据的下游计算分析中相应加速的需要。下游分析的基本步骤是将读数映射到长参考DNA序列,例如参考人类基因组。序列映射是一个计算密集型步骤,占GATK工作流程总时间的30%以上。BWA-MEM是最广泛使用的序列映射工具之一,拥有数万名用户。在这项工作中,我们专注于加速BWA-MEM通过一个高效的架构感知实现,同时保持相同的输出。大量的数据需要分布式计算环境,通常部署多核处理器。由于应用程序可以很容易地并行化的分布式内存系统,我们专注于单插槽多核处理器上的性能改进。BWA-MEM运行时间由三个内核控制,它们共同负责超过85%的总计算时间。我们通过以下方式提高了这些内核的性能:1)提高缓存重用,2)简化算法,3)用几个大的连续内存分配取代小的碎片内存分配,4)软件预取,5)在适用的情况下利用SIMD-以及大规模重组源代码以实现这些改进。因此,我们在三个内核上分别实现了近2倍、183倍和8倍的加速,与英特尔至强Skylake处理器的单线程和单插槽上的原始BWA-MEM相比,端到端计算时间的加速分别高达3.5倍和2.4倍。据我们所知,这是BWA-MEM上报告的最高加速比。
2019-07-27 cs.CE cs.DC cs.PF
GHOST: Building blocks for high performance sparse linear algebra on heterogeneous systems
虽然未来亿亿级高性能计算机系统的许多体系结构细节仍然是一个深入研究的问题,但似乎有一个普遍的共识,即它们将是强异构的,具有“标准”和“加速”资源。如今,这些资源可用作多核处理器、图形处理单元(GPU)和其他加速器,如英特尔至强融核(Xeon Phi)。任何声称对此类环境有用的软件基础设施都必须能够满足其固有的挑战:大规模多级并行性、拓扑、并行性和抽象。“通用、混合和优化稀疏工具包”(GHOST)是一个构建块的集合,目标是在当前和未来的大规模系统上处理稀疏矩阵表示的算法。它实现了“MPI+X”范式,具有纯C接口,并为多核CPU、Nvidia GPU和Intel Xeon Phi提供混合并行数值内核、智能资源管理和真正的异构并行性。我们描述了其设计的细节,现代异构超级计算机和最近的算法发展所带来的挑战。实现高效率是必不可少的实施细节指出,其必要性是合理的性能测量或预测的基础上的性能模型。库代码和几个应用程序都是开源的。我们还提供了关于如何在现有的软件包中使用GHOST的说明,以及一个案例研究,该案例研究演示了GHOST作为一个更大的软件堆栈中的一个组件的适用性和性能。
2016-02-15 cs.DC cs.MS
Parallel Sort-Based Matching for Data Distribution Management on Shared-Memory Multiprocessors
本文研究了两组d维轴平行矩形的交点识别问题。这是一个常见的问题,出现在许多基于代理的仿真研究,并在高层体系结构(HLA)的背景下,它是在数据分布管理(DDM)服务的核心是至关重要的。已经提出了几种DDM服务的实现;然而,它们中的许多要么效率低下,要么固有地是顺序的。这些都是严重的限制,因为多核处理器现在无处不在,而DDM算法-CPU密集型-可以从额外的计算能力中受益。我们提出了一个并行版本的基于排序的匹配算法的共享内存多处理器。基于排序的匹配算法是解决DDM问题的最有效的串行算法之一,但由于数据依赖性,并行化非常困难。我们描述的算法,并计算其渐近运行时间,我们完成了分析,通过评估其性能和可扩展性,通过广泛的实验两个商品多核系统的基础上双插槽英特尔至强处理器,和单插槽英特尔酷睿i7处理器。
2018-08-07 cs.DC cs.DS cs.MA
Bridging the Architecture Gap: Abstracting Performance-Relevant Properties of Modern Server Processors
我们描述了一种通用的建模方法,用于预测服务器处理器上的稳定状态循环的单核和多核运行时间。为此,我们严格区分应用程序和机器模型:应用程序模型包括循环代码,问题大小和其他运行时参数,而机器模型是CPU所有性能相关属性的抽象。我们介绍了一个通用的方法来确定机器模型和相关的服务器处理器架构的英特尔,AMD,IBM和Marvell/Cavium目前的结果。考虑到如此广泛的体系结构,足够的性能建模所需的特性集出奇地少。为了验证我们的方法,我们比较性能预测的经验数据的OpenMP并行预处理CG算法,其中包括计算和内存绑定的内核。单核心和多核心分析表明,该模型具有5%和10%的平均和最大相对误差。偏离模型和获得的见解进行了详细讨论。
2019-07-01 cs.AR cs.DC cs.PF
Use of checkpoint-restart for complex HEP software on traditional architectures and Intel MIC
Northeastern University(东北大学);SLAC National Accelerator Laboratory(SLAC国家加速器实验室);Princeton University(普林斯顿大学)
本文探讨了检查点重启技术在HEP工作流中的应用,测试了CMS软件、Geant4-MT和DMTCP包,分析了单线程和多线程应用在传统架构和Intel MIC上的性能与可扩展性。
2014-01-22 cs.DC cs.NA hep-ex
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
Performance analysis of the Kahan-enhanced scalar product on current multi- and manycore processors
我们调查的性能特点的数值增强的标量积(点)内核循环,使用Kahan算法来补偿数值误差,并描述了高效的SIMD向量化实现最近的多核和众核处理器。使用低级别的指令分析和执行缓存内存(ECM)的性能模型,我们查明了单核和线程并行执行的相关性能瓶颈,并预测性能和饱和行为。我们表明,Kahan增强标量积来在几乎没有额外的成本相比,天真(非Kahan)标量积,如果适当的低层次优化,特别是SIMD矢量化和展开,应用。ECM模型经过适当扩展,不仅可以容纳现代英特尔多核芯片,还可以容纳英特尔至强融核“Knights Corner”协处理器和IBM POWER8 CPU。这使我们能够讨论处理器功能对与高性能计算相关的四种现代体系结构性能的影响。
2016-04-07 cs.DC cs.PF
First Evaluation of the CPU, GPGPU and MIC Architectures for Real Time Particle Tracking based on Hough Transform at the LHC
最近的创新集中在{ \em parallel}处理,无论是通过包含多个处理器的系统还是包含多个核心的处理器,都有很大的希望提高LHC触发器的性能并扩展其物理程序。CMS/ATLAS触发器系统的灵活性允许在高级触发器中轻松集成计算加速器,例如NVIDIA的Tesla图形处理单元(GPU)或Intel的\xphi。这些加速器有可能提供更快或更节能的事件选择,从而为以前不可行的新的复杂触发器开辟了可能性。与此同时,探索最新一代多核CPU使用最佳软件优化方法可实现的性能极限至关重要。在本文中,将首次在多核Intel Xeon E5- 2697 v2 CPU、NVIDIA Tesla K20 c GPU和Intel \xphi \ 7120协处理器上评估基于Hough变换的新跟踪算法。将展示初步的时间表现。
2014-02-03 cs.DC hep-ex physics.comp-ph
Multi-dimensional intra-tile parallelization for memory-starved stencil computations
优化模板算法的性能一直是过去二十年来深入研究的主题。由于许多模板方案具有较低的运算强度,因此大多数优化都集中在增加时态数据访问局部性上,从而减少通过主存接口的数据流量,最终目标是与此瓶颈解耦。然而,只有少数方法明确利用现代多核芯片的共享缓存功能。如果每个线程都在其私有的、单独的缓存块上工作,则可用的缓存空间可能变得太小,并且可能无法实现足够的时间局部性。我们提出了一种灵活的多维瓦片内并行化方法的模板算法在多核CPU与共享外层缓存。这种方法导致所需的高速缓存空间的显着减少,而不会受到硬件预取或TLB不足的不利影响。我们的\emph{Girih}框架包括一个自动调谐器,用于在目标硬件上选择最佳参数配置。我们在两个当代英特尔处理器上进行性能实验,并与最先进的模板框架PLUTO和Pochoir进行比较,使用四个角案例模板方案和各种各样的问题大小。\emph{Girih}在几乎所有的问题规模上都表现出显著的性能优势和最佳的算术强度,特别是在变系数的低强度stentleman上。我们详细研究了性能行为在不同的网格大小,使用现象学的性能建模。我们的能源消耗分析表明,我们的方法可以节省能源,减少DRAM的带宽使用,即使在边际性能增益。因此,它非常适合未来的架构,这些架构将受到数据移动成本的强烈挑战,无论是在性能还是能耗方面。
2015-10-16 cs.DC cs.PF
Calculation of Stochastic Heating and Emissivity of Cosmic Dust Grains with Optimization for the Intel Many Integrated Core Architecture
宇宙尘埃粒子有效地减弱了星光。它们对星光的吸收产生了从近红外到远红外的发射光谱,这取决于尘埃颗粒的大小和性质,以及加热辐射场的光谱。近红外到中红外由非常小的颗粒的发射主导。然而,模拟这些粒子对星光的吸收在计算上是昂贵的,并且是处理恒星对尘埃加热的自洽辐射输运代码的一个重要瓶颈。在本文中,我们总结了计算宇宙尘埃的随机发射率的形式主义,这是在早期的作品中开发的,并提出了一个新的库HEATCODE实现这种形式主义的计算任意颗粒的性质和加热辐射场。我们的库是高度优化的通用处理器与多个核心和向量指令,分层内存缓存结构。HEATCODE库还可以在实现英特尔多集成核心(英特尔MIC)架构的协处理器卡上高效运行。我们将详细讨论我们为优化英特尔MIC架构而采取的优化步骤,这些步骤也显著提高了通用处理器上代码的性能,并为每个步骤提供代码示例和性能基准测试。单个英特尔至强融核协处理器(英特尔MIC架构)上的HEATCODE库性能大约是通用双路多核处理器系统的2倍,而标称功耗大致相同。该库支持异构计算采用主处理器同时与多个协处理器,可以很容易地纳入现有的辐射传输代码。
2013-11-19 astro-ph.GA astro-ph.IM cs.DC
Level-based Blocking for Sparse Matrices: Sparse Matrix-Power-Vector Multiplication
稀疏矩阵与稠密向量的相乘(SpMV)是许多数值格式中的关键组成部分,并且已知其性能受到主存访问的严重限制。几种数值方案需要将稀疏矩阵多项式与密集向量相乘,这通常被实现为SpMV序列。这导致低性能,并且忽略了通过重用来自缓存的矩阵数据来增加算术强度的潜力。在这项工作中,我们使用递归代数着色引擎(RACE),使阻塞的稀疏矩阵数据的多项式计算。在表示稀疏矩阵的图中,我们使用宽度优先搜索来形成级别。这些级别的局部性关系,然后使用访问矩阵数据时,以提高空间和时间的局部性,并实现一个有效的多线程并行化。我们的方法是独立的矩阵结构,避免了现有的“阻塞”策略的缺点,在硬件效率和并行化开销。我们量化的质量,我们的实施使用性能建模和演示加速高达3 $\times$和5 $\times$相比,最佳的SpMV为基础的基线在一个单一的多核芯片的最新英特尔和AMD架构。作为一个潜在的应用,我们证明了我们的实施的切比雪夫时间传播计划,代表类的多项式逼近指数积分的好处。进一步的数值方案,可能会受益于我们的发展,包括$s$ -步骤Krylov求解器和电源聚类算法。
2022-05-03 cs.DC cs.NA cs.PF
A Study of Performance Portability in Plasma Physics Simulations
本研究通过场线追踪和粒子网格代码,在四种HPC平台上评估了Kokkos和OpenMP框架,证明二者能实现跨不同硬件架构的性能可移植性,其中Kokkos覆盖范围最广。
2024-10-19 cs.DC cs.PF physics.comp-ph
Accelerating Bidiagonalization of Banded Matrices through Memory-Aware Bulge-Chasing on GPUs
Computer Science & Artificial Intelligence Laboratory, and Department of Mathematics, Massachusetts Institute of Technology(麻省理工学院计算机科学及人工智能实验室和数学系);Computer, Electrical and Mathematical Sciences and Engineering Division, King Abdullah University of Science and Technology(阿卜杜拉国王科技大学计算机、电气和数学科学与工程系)
提出首个 GPU 加速的带状矩阵双对角化算法,通过内存感知的凸起追逐优化吞吐量,在多种 GPU 上实现显著加速。
2026-06-08 cs.DC cs.MS