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
Scaling Deep Learning on GPU and Knights Landing clusters
深度神经网络的训练速度已经成为深度学习研发的一大瓶颈。例如,在一个Nvidia K20 GPU上通过ImageNet数据集训练GoogleNet需要21天。为了加快训练过程,当前的深度学习系统严重依赖硬件加速器。然而,与CPU相比,这些加速器具有有限的片上存储器。为了处理大型数据集,它们需要从CPU内存或远程处理器获取数据。我们使用自托管的英特尔Knights Landing(KNL)集群和多GPU集群作为目标平台。从算法方面来看,目前的分布式机器学习系统主要是针对云系统设计的。这些方法是异步的,因为云系统的网络速度慢,容错要求高。我们专注于弹性平均SGD(EASGD)来设计HPC集群的算法。原始EASGD采用轮询方式进行通信和更新。通信按机器等级ID排序,这在HPC群集上效率很低。首先,我们重新设计了四个高效的算法HPC系统,以改善EASGD的集群上的可伸缩性差。Async EASGD、Async MEASGD和Hogwild EASGD比现有同类产品(Async SGD、Async MSGD和Hogwild SGD)的\textcolor{black}{than}更快。在所有的比较中。最后,我们设计了Sync EASGD,它在所有方法中具有最佳性能,同时具有确定性。除了算法的改进,我们使用一些系统算法的协同设计技术,以扩大算法。通过将通信百分比从87%降低到14%,我们的Syn…
2017-08-09 cs.DC
Performance Optimisation of Smoothed Particle Hydrodynamics Algorithms for Multi/Many-Core Architectures
我们描述了一个战略的代码现代化的小工具,广泛使用的社区代码计算天体物理学。这项工作的重点是节点级性能优化,针对当前的多/众核英特尔架构。我们确定和隔离的样本代码内核,这是一个典型的光滑粒子流体动力学(SPH)算法的代表。代码修改包括线程并行优化,将数据布局更改为阵列结构(SoA),自动矢量化和粒子分选算法改进。我们在英特尔至强R(Ivy Bridge上的$2.6 \times$)和至强融核TM(Knights Corner上的$13.7 \times$)系统上都获得了更短的执行时间和更高的线程可扩展性。对优化代码的前几次测试使$19.1 \times$在第二代Xeon Phi(Knights Landing)上的执行速度更快,从而证明了所设计的优化解决方案对即将推出的架构的可移植性。
2017-05-10 astro-ph.IM cs.DC physics.comp-ph
Comparison of HPC Architectures for Computing All-Pairs Shortest Paths. Intel Xeon Phi KNL vs NVIDIA Pascal
如今,高性能计算系统的主要挑战之一是通过将能耗保持在可接受的水平来提高其性能。在这种情况下,整合策略包括使用GPU或众核英特尔至强融核处理器等加速器。在这项工作中,NVIDIA Pascal和英特尔至强融核骑士登陆架构的设备进行了描述和比较。选择Floor-Warshall算法作为图形和内存受限应用的代表案例,开发了优化的实现,以分析和比较两种设备的性能和能效。正如预期的那样,Xeon Phi在考虑双精度数据时表现出优越性。然而,与我们初步分析中所考虑的相反,我们发现使用单精度数据类型时,两种设备的性能和能效相当。
2021-05-15 cs.DC
DD-$α$AMG on QPACE 3
我们描述了将DD- $α$ AMG求解器的Regensburg实现从QPACE 2移植到QPACE 3的经验。我们首先回顾一下代码是如何从第一代英特尔至强融核处理器(Knights Corner)移植到其后续处理器(Knights Landing)的。然后,我们描述了所需的开关从InfiniBand到Omni-Path. Finally的通信库中的修改,我们提出了一个单一的处理器上的代码的性能,以及在许多节点上的缩放,在这两种情况下的加速因子接近理论预期。
2017-10-19 cs.DC hep-lat physics.comp-ph
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
Energy-efficiency evaluation of Intel KNL for HPC workloads
能源消耗越来越成为设计更快的大规模并行系统的限制因素,并且开发节能和节能应用程序是当今HPC代码开发人员社区的相关问题。在这项工作中,我们专注于能源性能的骑士登陆(KNL)至强融核,最新的众核架构处理器推出的英特尔进入HPC市场。我们考虑了64核Xeon Phi 7230,并使用片上MCDRAM和常规DDR4系统内存作为应用程序数据域的主存储器来分析其能源性能。作为一个基准应用程序,我们使用了Lattice Boltzmann代码,该代码针对该架构进行了大量优化,并使用不同的内存数据布局来存储其晶格。然后,我们使用不同的内存数据布局,内存类型(DDR4或MCDRAM)和每个核心的线程数来评估能耗。
2018-04-05 cs.DC
Benchmarking Data Analysis and Machine Learning Applications on the Intel KNL Many-Core Processor
Knights Landing(KNL)是第二代英特尔至强融核产品系列的代号。KNL在数据分析和机器学习社区引起了极大的兴趣,因为它的新众核架构针对这两种工作负载。KNL众核向量处理器设计使其能够利用更高级别的并行性。在林肯实验室超级计算中心(LLSC),大多数用户都在运行MATLAB和Octave等数据分析应用程序。最近,机器学习应用程序,如UC Berkeley Caffe深度学习框架,对LLSC用户变得越来越重要。因此,LLSC用户和更广泛的数据分析和机器学习社区对这些应用程序在KNL系统上的性能非常感兴趣。我们对英特尔KNL处理器上的这些应用程序进行的数据分析基准测试表明,与之前的英特尔至强技术相比,KNL系统上的单核双精度广义矩阵乘法(DGEMM)性能提高了约3.5倍。我们的数据分析应用程序也达到了理论峰值性能的约60%。此外,机器学习应用程序Caffe在两种不同的英特尔CPU Xeon E5 v3和Xeon Phi 7210之间的性能比较表明,KNL节点的性能提高了2.7倍。
2017-07-12 astro-ph.IM cs.DC cs.PF
A polyphase filter for many-core architectures
在这篇文章中,我们讨论了我们的实现多相滤波器的实时数据处理在射电天文学。我们详细描述了多相滤波器算法的实现及其在三代NVIDIA GPU卡、双英特尔至强CPU和英特尔至强融核(Knights Corner)平台上的行为。我们所有的实现都旨在利用该算法提供的数据重用潜力。我们的GPU实现探索了两种不同的方法来实现这一点,第一种使用L1/纹理缓存,第二种使用共享内存。我们将讨论每个实现的可用性及其行为。我们在执行时间方面衡量性能,这是实时系统的关键因素,我们还在带宽(GB/s),计算(GFlop/s)和类型转换(GTc/s)方面给出了结果。我们包括我们的结果的演示文稿中的采样率,可以在实时处理的选择的平台,更直观地描述了预期的性能在信号处理设置。我们的研究结果表明,对于所考虑的GPU,当使用较低精度的输入数据时,我们的多相滤波器的性能受到类型转换而不是设备带宽的限制。我们将这些结果与Xeon Phi上的实现进行比较。我们表明,我们的至强融核实现的性能是我们的CPU实现的1.47倍至1.95倍,但不足以与GPU的性能竞争。最后,我们的最佳执行代码的多相滤波器的其他两个实现的比较,表明我们的实现是在几乎所有情况下更快。这项工作是Astro-Accelerate项目的一部分,Astro-Accelerate项目是一个用于时域射电天文学数据数字信号处理的众核加速实时数据处理库。
2016-04-21 astro-ph.IM cs.DC
Performance Characterization of Multi-threaded Graph Processing Applications on Intel Many-Integrated-Core Architecture
英特尔至强融核多集成核(MIC)架构开创了万亿级集成的新时代。在新兴的杀手级应用中,并行图处理已经成为分析连通数据的关键技术。在本文中,我们经验性地评估了各种计算平台,包括Intel Xeon E5 CPU,Nvidia Geforce GTX 1070 GPU和Xeon Phi 7210处理器,代号为Knights Landing(KNL),用于并行图形处理。我们表明,KNL获得令人鼓舞的性能时,处理图形,使它可以成为一个有前途的解决方案,以加速多线程图形应用程序。我们进一步描述了KNL架构增强对最先进的图框架性能的影响,我们有四个关键的观察结果:1不同的图应用程序需要不同数量的线程才能达到峰值性能。对于同一个应用程序,不同的数据集甚至需要不同数量的线程来实现最佳性能。2只有少数图形应用程序受益于高带宽MCDRAM,而其他应用程序则青睐低延迟DDR4 DRAM。3在KNL上执行AVX512 SIMD指令的向量处理单元在运行最先进的图形框架时未得到充分利用。4提供最低本地内存访问延迟的子NUMA缓存集群模式损害了缺乏NUMA感知的图形基准测试的性能。最后,我们提出了未来的工作,包括系统自动调优工具和图形框架优化,以充分发挥潜力的KNL的并行图形处理。
2019-02-24 cs.DC
Accelerating HPC codes on Intel(R) Omni-Path Architecture networks: From particle physics to Machine Learning
The University of Edinburgh(爱丁堡大学);Alan Turing Institute(艾伦·图灵研究所);Intel(英特尔);Columbia University(哥伦比亚大学);Brookhaven National Laboratory(布鲁克海文国家实验室)
我们将讨论一些实用的方法,以确保每个节点具有一个或两个英特尔® Omni-Path主机结构接口(HFI)和英特尔®至强融核TM 72 xx(Knight's Landing)处理器的群集在使用Linux操作系统时具有接近线速的性能。该研究评估的性能改进实现和所需的编程方法在两个不同的例子问题:首先在笛卡尔通信晕交换问题,适合于结构化网格PDE求解器中出现的量子色动力学模拟粒子物理学,其次在梯度减少适当的同步随机梯度下降机器学习。作为一个例子,我们加速了百度研究减少公布的代码,并获得了10倍的加速比原始代码使用本文中讨论的技术。这显示了当同步随机梯度下降以固定的小批量大小大规模并行化时,如何在强缩放的分布式机器学习中实现10倍的加速。我们发现一个显着的改善性能的鲁棒性时,获得内存使用仔细分配的2 MB“巨大的”虚拟内存页,这意味着无论是非标准的分配例程应用于通信缓冲区。这些可以通过LD\_PRELOAD覆盖以libhugetlbfs建议的方式访问。我们利用英特尔(R)MPI 2019库“技术预览版”和底层软件,通过每个进程的多个PSM 2端点和使用多个独立的MPI通信器,在整个通信软件桩中实现线程并发。当每个节点使用单个MPI进程时,我们发现这大大加快了许多核心英特尔®至强融核处理器中的交付带宽。
2017-11-13 cs.AI cs.DC hep-lat
Coherence Traffic in Manycore Processors with Opaque Distributed Directories
众核处理器具有大量的通用内核,旨在以多线程方式工作。最近的众核处理器使用可扩展的分布式目录保持一致性。一个重要的例子是Intel Mesh互连,它由片上网络互连“瓦片”组成,每个瓦片都包含计算核心、本地缓存和一致性主机。分布式一致性子系统必须针对每个片外访问进行查询,从而对存储器延迟施加开销。本文研究了Intel Knights Landing处理器的物理布局,特别关注一致性子系统,并揭示了分布式目录中物理内存块的伪随机映射功能。利用这些知识,候选优化,以改善内存延迟,通过最小化的一致性流量进行了研究。尽管这些优化确实提高了存储器吞吐量,但由于映射函数的计算复杂性所导致的固有开销,这最终不会转化为性能增益。
2020-11-10 cs.AR 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
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
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
ZNN - A Fast and Scalable Algorithm for Training 3D Convolutional Networks on Multi-Core and Many-Core Shared Memory Machines
Massachusetts Institute of Technology(麻省理工学院);Princeton University(普林斯顿大学)
卷积网络(ConvNets)已经成为计算机视觉的一种流行方法。加速ConvNet训练是很重要的,这是计算成本很高的。我们提出了一种新的并行算法的基础上分解成一组任务,其中大部分是卷积或FFT。应用布伦特定理的任务依赖图意味着线性加速与处理器的数量是可实现的PRAM模型的并行计算,广泛的网络架构。为了在真正的共享内存机器上实现这样的性能,我们的算法计算收敛在网络的同一节点上的卷积,具有时间局部性,以减少缓存未命中,并通过几乎无等待的并发方法对收敛卷积输出进行求和,以减少在关键部分花费的时间。我们实现了一个公开的软件包称为ZNN的算法。多核CPU的基准测试表明,ZNN可以达到大约等于物理核数量的加速比。我们还表明,ZNN可以在多核CPU(Xeon Phi Knights Corner)上获得超过90倍的加速比。这些加速比是针对具有常用宽度的网络架构实现的。ZNN算法的任务并行性适合于CPU,而以前算法的SIMD并行性与GPU兼容。通过示例,我们表明ZNN可以比某些GPU实现更快或更慢,这取决于网络架构,内核大小以及输出补丁的密度和大小。由于通用CPU编程相对容易,ZNN的开发和维护成本可能更低。
2015-10-22 cs.CV cs.DC cs.LG