HDOT -- an Approach Towards Productive Programming of Hybrid Applications
MPI应用程序很重要。然而,随着众核处理器的出现,传统的MPI应用程序面临着实现令人满意的性能的挑战。这是由于这些应用程序无法响应负载不平衡,以减少串行化所施加的同步通信模式,重叠通信与计算,并最终处理不断增加的内存开销。MPI规范提供了异步调用来缓解其中的一些因素。然而,应用程序开发人员很少努力有效地应用它们。在这项工作中,我们提出了一种方法来开发混合应用程序,称为分层域过度分解与任务(HDOT),减少编程工作,强调重用的数据分区方案从进程级和应用它们的任务级,允许自顶向下的方法来表达并发性,并允许MPI和共享内存编程模型之间的自然共存。我们的MPI和OmpSs-2的集成显示出可喜的成果,在一组应用程序的可编程性和性能测量。
2019-12-19 cs.DC
An efficient MPI/OpenMP parallelization of the Hartree-Fock method for the second generation of Intel Xeon Phi processor
使用现代的OpenMP线程技术将GAMESS程序中仅支持MPI的Hartree-Fock代码转换为混合MPI/OpenMP算法。两个单独的实现,不同的线程之间的共享或复制的关键数据结构被认为是,密度和福克矩阵。所有实现都在3,000个英特尔至强融核处理器的超级计算机上进行基准测试。每个处理器有64个内核,报告的扩展数最多可达192,000个内核。与传统代码相比,混合MPI/OpenMP实现将内存占用减少了约200倍。对于一系列分子系统大小,MPI/OpenMP代码的运行速度比原始代码快6倍。
2017-08-14 cs.DC
Strategies for Molecular Dynamics using Hybrid Systems: LAMMPS Use Case
Universidade São Francisco (USF)(圣弗朗西斯科大学)
本文以抗菌肽Tritrpticin为工作负载,系统分析了LAMMPS模拟器在粗粒化生物分子模拟中的纯MPI与混合MPI+OpenMP性能,发现纯MPI在多节点扩展性差,而混合策略在大规模下更高效。
2026-06-01 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
Hybrid MPI-OpenMP Paradigm on SMP Clusters: MPEG-2 Encoder and N-Body Simulation
SMP节点的集群为各种并行编程范例提供支持。在同一个应用程序中结合共享内存和消息传递并行化,混合MPI-OpenMP范式是并行编程的一个新兴趋势,以充分利用分布式共享内存体系结构。在本文中,我们提高了性能的MPEG-2编码器和n体模拟采用混合MPI-OpenMP编程范例SMP集群。MPEG比特流的分层图像数据结构非常适合于混合模型以实现多级并行性:MPI用于跨SMP节点的图片组级的并行性,而OpenMP用于每个SMP节点内的切片级的图片内的并行性。类似地,力计算的工作负载在MPI进程之间的ORB域分解之后在OpenMP线程之间共享,该工作负载在n体仿真中的典型计算中占循环的90%以上。此外,采用了OpenMP线程的循环调度,适当的块大小,以提供更好的负载平衡的工作,从而提高性能。通过n-body仿真,实验结果表明,混合MPI-OpenMP程序在4路簇上的平均性能因子为1.52,在2路簇上的平均性能因子为1.21,优于相应的纯MPI程序。同样,混合模型提供了18%的性能改善相比,MPI模型的MPEG-2编码器。
2012-11-10 cs.CE cs.DC cs.PF
An MPI-based parallel genetic algorithm for multiple geographical feature label placement based on the hybrid of fixed-sliding models
多地理要素标注是地理信息可视化中的一个基本问题。标签定位的本质被证明是一个NP难问题,其中这样一个问题的复杂性是直接影响的输入数据集的体积。计算机技术的进步和稳健的方法已经解决了标记问题。然而,在最近的研究中较少考虑的是MGFLP的计算复杂性,这大大降低了最近引入的方法的可采用性。在这项研究中,MPI并行遗传算法提出了MGFLP基于固定位置模型和滑动模型的混合标记固定类型的地理要素。为了评估标签放置的质量,定义了一个质量函数的基础上的四个质量指标,标签特征冲突,标签标签冲突,标签模糊因子,标签位置的点和多边形的优先级。实验结果表明,该算法显着降低了质量函数的整体得分和标签放置的计算时间相比,以前的研究。该算法在不到一分钟的时间内实现了6个标签-特征冲突的结果,而Mesel-MS(Lessani等人,2021)在20多分钟内获得结果,同一数据集有12个标签-特征冲突。
2022-11-30 cs.DC
Hybrid Cloud and HPC Approach to High-Performance Dataframes
数据预处理是任何数据驱动应用程序中的基本组件。随着数据处理操作的复杂性和数据量的增加,Cylon是一个分布式的嵌入式框架系统,它被开发来促进数据处理,既可以作为一个独立的应用程序,也可以作为一个库,特别是对于Python应用程序。虽然Cylon表现出了良好的性能,但我们在尝试与传统消息传递接口(MPI)不兼容的框架集成时遇到了困难。虽然MPI实现包含可扩展和高效的通信例程,但它们的进程启动机制与主流HPC系统配合良好,但与采用自己的资源管理系统的某些环境不兼容。在这项工作中,我们通过直接集成统一通信X(UCX)框架来缓解这个问题,该框架支持各种经典的HPC和非HPC进程引导机制作为我们的通信框架。当我们在Cylon上试验我们的方法时,同样的技术可以用于将MPI通信带到其他不使用MPI内置进程管理方法的应用程序中。
2022-12-29 cs.DC
Optimised hybrid parallelisation of a CFD code on Many Core architectures
COSA是一个基于可压缩Navier-Stokes模型的新型CFD系统,用于计算固定结构、旋翼和涡轮叶片的非定常气动力和气动弹性。它包括一个稳定的,时域和谐波平衡流求解器。COSA主要使用MPI进行并行化,但也有一种混合并行化,它将OpenMP功能添加到MPI并行化中,以使更多的内核用于给定的模拟,因为MPI并行化仅限于模拟中的几何分区(或块)的数量,或者在适当的情况下利用多线程硬件。本文概述了优化这两个并行化策略,提高效率,从而减少计算模拟所需的计算时间所进行的工作。我们还分析了一系列领先HPC系统上代码的功耗,以进一步了解代码的性能。
2013-04-29 cs.DC
Lessons Learned on MPI+Threads Communication
混合MPI+线程编程正在变得越来越突出,但在实践中,与MPI无处不在模型相比,应用程序的执行速度较慢。MPI+线程应用程序的并行效率面临的最关键挑战是MPI_THREAD_MULTIPLE性能缓慢。MPI库最近在这方面取得了重大进展,但要利用它们的功能,用户必须在MPI+线程应用程序中公开通信并行性。最近的研究表明,MPI 4.0为用户提供了新的面向性能的选项,但我们对这些新机制的评估表明,它们带来了一些挑战。另一种设计是MPI端点。在本文中,我们提出了一个比较不同的设计,从MPI的最终用户的角度来看:领域科学家和应用程序开发人员。我们评估的机制,性能以外的指标,如可用性,范围和可移植性。根据经验教训,我们提出了未来的方向。
2022-06-28 cs.DC
Performance metrics in a hybrid MPI-OpenMP based molecular dynamics simulation with short-range interactions
我们讨论了分子动力学(MD)中的计算瓶颈,并描述了并行计算密集型任务的挑战。我们提出了一种混合算法,使用MPI(消息传递接口)与OpenMP线程的并行化的广义MD计算方案的系统与短程原子间的相互作用。该算法进行了讨论的背景下,纳米压痕的铬膜与碳压头使用嵌入原子法潜在的铬-铬相互作用和Morse潜在的铬-碳相互作用。我们研究了一系列MPIthread组合的算法的性能,并发现性能强烈依赖于多核处理器中的计算任务和负载共享。该算法的MPI和我们的混合方案的规模差,观察到优于纯消息传递方案,尽管在集群中利用相同数量的处理器或核心。我们的算法实现的速度相比,取得了良好的标准MD包。
2015-07-25 cond-mat.mtrl-sci cs.DC physics.comp-ph
Desynchronization and Wave Pattern Formation in MPI-Parallel and Hybrid Memory-Bound Programs
众所周知,分布式内存并行代码的第一原理性能分析模型是不精确的。即使对于具有非常规则和均匀的计算通信阶段的应用,简单地将通信时间添加到计算时间通常也不会产生令人满意的并行运行时间预测,这是由于系统噪声、通信时间的变化和固有的负载不平衡引起的与预期的简单锁步模式的偏差。在本文中,我们突出的具体情况下,激发和自发的deskerization内存绑定,批量同步纯MPI和混合MPI+OpenMP程序。使用简单的微基准测试,我们观察到,虽然去同步化可以增加每个进程的等待时间,它不一定会导致较低的资源利用率,但可能会导致每个核心的可用带宽增加。在通信开销很大的情况下,即使是自然噪声也会使系统进入通信和计算自动重叠的状态,从而缩短解决问题的总体时间。饱和点,即,实现全内存带宽所需的每个内存域的进程数量在该进程的动态和出现的稳定波形中是关键的。我们还演示了混合MPI-OpenMP编程如何通过消除进程之间的带宽瓶颈来防止理想的去同步。切比雪夫滤波器对角化应用程序用于演示在现实环境中观察到的一些效果。
2020-02-07 cs.DC cs.PF
Integrating Blocking and Non-Blocking MPI Primitives with Task-Based Programming Models
在本文中,我们提出了任务感知MPI库(TAMPI),集成了阻塞和非阻塞MPI原语与基于任务的编程模型。TAMPI库利用两个新的运行时API来提高混合应用程序的可编程性和性能。第一个API允许根据外部事件暂停和恢复任务的执行。此API用于提高阻塞MPI通信原语和任务之间的互操作性。当在任务内执行的MPI操作阻塞时,任务运行被暂停,以便运行时系统可以在空闲的核心上调度新任务。一旦被阻塞的MPI操作完成,暂停的任务将再次放在运行时系统的就绪队列中,因此最终它将再次被调度,并且其执行将继续。第二个API延迟与任务完成相关的依赖项的释放,直到某些外部事件完成。此API仅由两个函数组成,一个函数用于将外部事件绑定到正在运行的任务,另一个函数用于通知先前绑定的外部事件的完成。TAMPI利用此API将非阻塞MPI操作与任务绑定在一起,延迟释放它们的任务依赖关系,直到任务执行及其所有绑定的MPI操作都完成。我们的实验表明,增强功能的TAMPI不仅简化了开发的混合MPI+OpenMP应用程序,使用阻塞或非阻塞MPI原语,但他们也自然重叠的计算和通信阶段,提高了应用程序的性能和可扩展性,通过消除人为的依赖性跨通信任务。
2020-05-29 cs.DC
Effects of Easy Hybrid Parallelization with CUDA for Numerical-Atomic-Orbital Density Functional Theory Calculation
我们修改了MPI友好的密度泛函理论(DFT)的混合并行化,包括CUDA的源代码。我们的目标是找出如何简单的转换内的混合并行与中档GPU影响DFT代码原本不适合CUDA。我们确定了数原子轨道DFT代码混合并行化的几个规则。测试在具有OpenMX代码的磁铁矿材料系统上通过使用包含2个Xeon E5606 CPU和2个Quadro 4000 GPU的硬件系统进行。3-单向混合例程的加速比为7.55,而双向混合例程的加速比为10.94。带有CUDA的GPU补充了OpenMP的效率,并补偿了MPI中CPU的过度竞争。
2014-02-18 cs.DC
Leveraging MPI-3 Shared-Memory Extensions for Efficient PGAS Runtime Systems
MPI-3的单边通信原语的宽松语义和丰富功能使MPI成为实现PGAS模型的有吸引力的候选者。然而,这种实现的性能受到以下事实的影响:当前MPI RMA实现在通信请求的源和目标共享公共的本地物理存储器时通常具有大的开销。在本文中,我们提出了一个优化的PGAS类运行时系统,它使用新的MPI-3共享内存扩展服务于节点内的通信请求和MPI-3单边通信原语服务于节点间的通信请求。我们的运行时系统的性能进行了评估Cray XC 40系统通过低级别的通信基准测试,随机访问基准测试和模板内核。实验结果表明,我们的混合运行时系统的性能相匹配的低级别的RMA库的节点内传输,和MPI-3的节点间传输的性能。
2016-03-07 cs.DC
MPI Windows on Storage for HPC Applications
即将到来的HPC集群将在每个计算节点上提供混合内存和存储设备。在这项工作中,我们建议使用MPI单边通信模型和MPI窗口作为编程内存和存储的唯一接口。我们描述了MPI存储窗口的设计和实现,并提出了它的好处,核外执行,并行I/O和容错。此外,我们探讨了异构窗口分配的集成,内存和存储共享一个统一的虚拟地址空间。当执行大型的,不规则的内存操作,我们验证MPI窗口本地存储招致平均55%的性能损失。当使用Lustre并行文件系统时,观察到不对称的性能,写入操作的性能下降超过90%。尽管如此,分布式哈希表,HACC I/O内核迷你应用程序,和一个新的MapReduce实现的基础上使用的MPI单边通信的实验结果表明,MPI窗口的整体损失存储在大多数情况下可以忽略不计在现实世界中的应用程序。
2018-10-09 cs.DC
A Hybrid Parallel Implementation of the Aho-Corasick and Wu-Manber Algorithms Using NVIDIA CUDA and MPI Evaluated on a Biological Sequence Database
多个匹配算法被用来从一个有限的模式集在一个大的输入字符串中定位模式的出现。Aho-Corasick和Wu-Manber是两种最著名的多重匹配算法,它们需要更高的计算能力,特别是在必须处理大规模数据集的情况下,这在计算生物学应用中很常见。在过去的几年里,图形处理单元(GPU)已经发展成为强大的并行处理器,在科学计算中优于中央处理单元(CPU)。此外,可以并行使用多个GPU,形成混合计算机集群配置,以实现更高的处理吞吐量。本文评估的Aho-Corasick和Wu-Manber算法在混合GPU集群上的并行实现的加速比,当用于处理人类基因组的表达序列标签的快照和不同的问题参数。
2014-07-10 cs.CE cs.DC
A Hybrid MPI+Threads Approach to Particle Group Finding Using Union-Find
朋友圈(FoF)算法是在宇宙学$N$体模拟中用于识别结构的标准技术。它的目标是找到最多由截止半径分开的粒子簇(称为组)。$N$ -身体模拟通常使用节点上存在的大部分内存,使得FoF算法几乎没有空闲来运行。我们提出了一种新的方法,利用共同的Union-Find数据结构和混合MPI+线程的方法。如果在应用程序的其余部分中使用这样的框架,则该算法也可以在基于任务的形式主义中优雅地表达。我们已经实现了我们的算法在开源宇宙学代码,SWIFT。我们的实现显示出优秀的强和弱的缩放行为的现实问题和比较有利(18倍的速度)比其他常用的方法在$N$体社区。
2020-03-25 cs.DC cs.DS
Frustrated with MPI+Threads? Try MPIxThreads!
针对 MPI+Threads 混合编程存在线程间无法用 MPI 通信、易串行化致性能差的问题,提出 MPIX Thread Communicator 扩展,为线程分配独立 MPI 秩,构建统一并行环境,实现代码更简洁、性能更优。
2024-01-29 cs.DC
Pipelined Workflow in Hybrid MPI/Pthread runtime for External Memory Graph Construction
从给定的一组边构建图是出现在社会网络分析、支持本体的数据库和其他分析处理中的数据密集型算子。该操作符将边列表表示为压缩稀疏行(CSR)表示(或有时在邻接列表中,或作为集群B树存储)。在这项工作中,我们展示了如何使用流水线处理在Gordon等支持SSD的超级计算机上大规模扩展CSR构建。我们开发了几个抽象和操作的外部存储器和并行边缘列表和整数数组处理,用于建立一个可扩展的算法创建CSR表示。我们的实验表明,该方案是四到六倍的速度比目前可用的实现。此外,我们的计划可以处理高达80亿边缘(128 GB),通过使用外部存储器相比,以前的计划,性能大大降低边缘列表大小26万及以上。
2012-10-31 cs.DB cs.DC
Performance Analysis and Optimization of a Hybrid Distributed Reverse Time Migration Application
处理地震数据的应用程序采用可扩展的并行系统来产生及时的结果。为了充分利用新兴的处理器体系结构,应用程序将需要在节点内采用线程并行,并在节点之间传递消息。如今,MPI+OpenMP是此任务的首选编程模型。然而,为集群调优混合程序是困难的。性能工具可以帮助用户识别瓶颈并发现改进的机会。这张海报描述了我们应用Rice University的HPCToolkit和硬件性能计数器来深入了解在多核处理器集群上执行反向时间迁移(RTM)的MPI+OpenMP代码的经验。这些工具为我们提供了对域分解策略的有效性、线程并行性的使用以及单个内核中功能单元利用率的深入了解。通过应用从工具中获得的见解,我们能够将RTM代码的性能提高约30%。
2016-03-12 cs.DC
HyPar-Flow: Exploiting MPI and Keras for Scalable Hybrid-Parallel DNN Training using TensorFlow
The Ohio State University(俄亥俄州立大学)
为了减少大规模DNN的训练时间,科学家们已经开始探索数据并行、模型并行和混合并行等并行化策略。虽然数据并行已经得到了广泛的研究和发展,但在有效实现模型并行和混合并行方面还存在一些问题。我们关注的四个主要问题是:1)定义跨进程的分布式模型的概念,2)实现跨进程边界的前向/反向传播,这需要显式通信,3)在固有的顺序任务上获得并行加速,以及4)实现可扩展性而不损失模型的准确性。为了解决这些问题,我们创建了HyPar-Flow --一个模型大小/类型不可知的,可扩展的,实用的和用户透明的系统,用于通过利用MPI,Keras和TensorFlow进行混合并行训练。HyPar-Flow提供了一个API,可用于对任何Keras模型进行大规模的数据、模型和混合并行训练。我们创建了用户提供的Keras模型的内部分布式表示,利用TF的Eager执行功能进行跨进程的分布式前向/反向传播,利用流水线来提高性能,并利用高效的MPI原语进行可扩展的通信。在模型分区之间,我们使用send和recv来交换层数据/部分错误,而allreduce用于累积/平均模型副本之间的梯度。除了HyPar-Flow的设计和实现,我们还提供了三个最先进的HPC系统的全面正确性和性能结果,包括TACC Frontera(Top500.org上排名第5)。对于超深度模型ResNet-1001,HyPar-Flow提供:1)基于Horo…
2020-02-19 cs.AI cs.DC cs.LG
Parallel DNA Sequence Alignment on High-Performance Systems with CUDA and MPI
本文提出CUDA与MPI混合的Needleman-Wunsch并行序列比对方案,通过GPU并行与多节点分布式计算显著加速大规模比对,无需修改底层算法。
2024-12-30 cs.DC
Parallel Space Saving on Multi and Many-Core Processors
给定$n$元素的数组$\mathcal{A}$和值$2 \leq k \leq n$,频繁项或$k$多数元素是在$\mathcal{A}$中出现多于$n/k$次数的元素。$k$多数问题需要找到所有$k$多数元素。在本文中,我们处理频繁项的并行共享内存算法,我们提出了一个共享内存版本的节省空间算法,我们研究其行为方面的准确性和性能在许多多核处理器,包括英特尔Phi加速器。我们还调查了一个混合MPI/OpenMP版本对一个纯MPI为基础的版本。通过大量的实验结果,我们证明了MPI/OpenMP并行版本的算法显着提高了性能的早期纯MPI版本的相同的算法。结果还证明,对于该算法,英特尔Phi加速器相对于至强八核处理器没有任何改进。
2017-01-11 cs.DC
High Performance Parallel Sort for Shared and Distributed Memory MIMD
我们提出了四种高性能的混合排序方法开发的各种并行平台:共享内存多处理器,分布式多处理器,集群利用共享和分布式内存的存在。合并排序以其稳定性而闻名,被用于设计我们的几个算法。我们通过将其与快速排序相结合来提高其并行性能。我们提出了两个模型设计的共享内存MIMD(OpenMP):(a)一个非递归的合并排序和(b)混合快速排序和合并排序。第三个模型是设计用于分布式内存MIMD(MPI)使用混合快速排序和合并排序。我们的第四个模型的目的是利用共享内存的各个节点的今天的集群系统,并消除所有的内部数据传输之间的不同节点,我们的模型实现了一个一步MSD-Radix分发数据在10个包(MPI),而每个节点的并行核心使用Quicksort排序他们的数据分区顺序,然后合并和排序他们在并行采用OpenMp。所有开发的模型的性能优于基线性能。在对小数据进行排序时,混合快速排序和合并排序的性能优于集群平台中使用混合MSD-Radix和快速排序的混合内存并行合并排序,但对于较大的数据,集群平台中使用混合MSD-Radix和快速排序的混合内存并行合并排序的加速比变得更大并且不断改进。其中分布存储并行混合快速排序和归并排序的加速比最好。
2020-03-02 cs.DC
Improving the performance of classical linear algebra iterative methods via hybrid parallelism
本文提出四种经典线性代数迭代方法的混合并行实现,实验表明基于任务的混合并行在弱可扩展性及适中资源的强可扩展性场景下优于纯MPI等方法。
2023-05-23 cs.DC cs.DS cs.PF
MPI+X: task-based parallelization and dynamic load balance of finite element assembly
求解偏微分方程的有限元程序的主要计算任务是代数系统组装和迭代求解。这项工作的重点是第一个任务,在混合MPI+X范例的上下文中。虽然我们将在有限元上下文中描述算法,但类似的策略可以直接应用于其他离散化方法,如有限体积法。矩阵组装由MPI分区的元素上的循环组成,以计算元素矩阵和右手边以及它们在每个MPI分区的本地系统中的组装。在MPI+X混合并行上下文中,X传统上由使用OpenMP的循环并行组成。在文献中已经提出了几种策略来实现这种循环并行性,如着色或子结构技术,以规避在将元素系统组装到本地系统时出现的竞争条件。第一种技术的主要缺点是由于空间局部性差而导致的IPC的降低。第二种技术避免了这个问题,但需要在实现中进行大量的更改,当需要处理多个元素循环时,这可能会很麻烦。我们提出了一种替代方案,基于任务并行的元素循环使用一些扩展的OpenMP编程模型。组件的任务化解决了上述两个问题。此外,动态负载平衡将使用DLB库,特别是在混合网格的存在下,其中不同元素的相对成本是不可能估计的先验有效。本文介绍了所提出的方法,它的实施和验证,通过大型计算力学问题的解决方案,高达16k核心。
2018-05-09 cs.DC cs.MS cs.PF
Optimizing the hybrid parallelization of BHAC
我们提出了我们的经验与现代化的GR-MHD代码BHAC,旨在改善其新的混合(MPI+OpenMP)并行化方案。在此过程中,我们展示了在x86(基于Intel)架构上可用的性能分析工具的使用。我们的性能表征和线程分析提供了指导,提高并发性,从而提高了OpenMP并行区域的效率。我们评估扩展和通信模式,以确定和减轻MPI瓶颈,运行时开关和精确的代码干预。通过$\sim28\%$改进了BHAC的优化版本,使其能够在数百个超级计算机节点上扩展。最后,我们通过在ARM A64 FX向量节点上运行,测试将此类优化移植到不同硬件是否同样有益于新架构。
2021-08-27 astro-ph.IM cs.DC
Parallel Paradigms in Modern HPC: A Comparative Analysis of MPI, OpenMP, and CUDA
本文比较了MPI、OpenMP和CUDA三种HPC并行模型,分析其架构、性能与适用性,指出混合方法在异构环境中效果最佳,选择需依应用、硬件和开发约束而定。
2025-06-18 cs.DC
Framework for the hybrid parallelisation of simulation codes
编写高效的混合并行代码是乏味的,容易出错的,并且需要并行编程和多线程的良好知识,例如MPI和OpenMP。因此,我们提出了一个框架,它是基于作业模型,允许用户将他的顺序代码与可管理的努力和代码修改,以并行执行的集群或超级计算机从现代多核CPU。该框架的主要应用领域是工程学科的模拟代码,因为这些代码在许多情况下仍然是顺序的,并且由于它们的内存和运行时间要求,它们是并行化的突出候选者。
2018-07-01 cs.DC
Integrating High Performance In-Memory Data Streaming and In-Situ Visualization in Hybrid MPI+OpenMP PIC MC Simulations Towards Exascale
KTH Royal Institute of Technology(皇家理工学院);Faculty of Mechanical Engineering, University of Ljubljana(卢布尔雅那大学机械工程学院);Max Planck Institute for Plasma Physics(马普等离子体物理研究所);Institute of Plasma Physics of the CAS(捷克科学院等离子体物理研究所);University of Oregon(俄勒冈大学);Max Planck Computing and Data Facility(马普计算与数据中心)
本研究通过改进BIT1代码,整合内存数据流和实时可视化技术,提升exascale级PIC MC模拟的I/O性能和计算效率。
2025-12-04 cs.DC cs.PF physics.plasm-ph
Cluster-level tuning of a shallow water equation solver on the Intel MIC architecture
本文演示了在启用英特尔至强融核协处理器的群集上优化混合型OpenMP+MPI计算流体动力学代码(浅水方程求解器)的执行环境。讨论内容包括:(1)控制OpenMP线程的数量和亲和性,以优化对内存带宽的访问;(2)调整OpenMP和MPI的互操作,以划分问题,实现更好的数据局部性;(3)以将一些流量引导到更快的通信通道的方式对MPI等级进行排序;(4)在基于InfiniBand结构的Xeon Phi协处理器之间使用高效的对等通信。通过调整,该应用程序在2个计算节点中并行扩展到8个英特尔至强融核协处理器时的效率为90%。对于更大的问题,可扩展性甚至更好,因为更大的计算通信比。然而,这种大小的问题不适合一个协处理器的存储器。在一个英特尔至强融核协处理器7120 P上的求解器性能超过双插槽英特尔至强E5-2697 v2 CPU上的性能1.6倍。在每个计算节点具有4个协处理器的2节点集群中,MIC架构产生的性能是CPU的5.8倍。只需更改一行遗留Fortran代码,就可以在MIC体系结构上实现报告的性能(不包括命令行界面的更改)。本文讨论的方法是直接适用于其他带宽限制模板算法,利用混合的OpenMP+MPI的方法。
2014-08-07 cs.CE cs.DC cs.MS
GPU acceleration of non-equilibrium Green's function calculation using OpenACC and CUDA FORTRAN
本文针对Kadanoff-Baym方程求解非平衡格林函数的高计算复杂度问题,在CPU和GPU平台上实现了高效并行算法,采用MPI/OpenMP、MPI/OpenACC及MPI/CUDA FORTRAN三种方案,并通过优化策略使GPU版本获得显著加速和良好扩展性。
2025-05-26 cs.DC
A Communication Avoiding and Reducing Algorithm for Symmetric Eigenproblem for Very Small Matrices
本文针对大规模并行环境下极小矩阵的对称特征值问题,提出基于MPI非阻塞的通信避免与通信削减算法,在FX10上实现最高22倍于ScaLAPACK的加速。
2024-05-01 cs.DC cs.MS cs.PF
Accelerating Particle-in-Cell Monte Carlo Simulations with MPI, OpenMP/OpenACC and Asynchronous Multi-GPU Programming
本文通过集成MPI、OpenMP/OpenACC并采用异步多GPU编程扩展BIT1模拟器,在EuroHPC和MareNostrum 5上显著提升性能,最高达8.77倍加速,为百亿亿次聚变等离子体模拟奠定基础。
2025-04-24 cs.DC cs.PF physics.comp-ph
HDArray: Parallel Array Interface for Distributed Heterogeneous Devices
具有包含一个或多个加速器(诸如GPU)的节点的异构集群已经变得常见。虽然MPI提供了地址空间间的通信,而OpenCL提供了一个可以访问异构计算资源的进程,但程序员被迫编写混合程序来管理这两个系统的交互。本文介绍了一个数组编程接口,为用户提供自动和手动分配的数据和工作。使用工作分配和内核定义和使用信息,自动执行进程和进程中的设备之间的通信。通过向用户提供统一的编程模型,简化了程序开发。
2018-09-18 cs.DC
Towards a Scalable and Efficient PGAS-based Distributed OpenMP
本文提出 DiOMP,将 PGAS 概念集成到 OpenMP 中,基于 LLVM 和 GASNet-EX 实现,实验表明其带宽比 MPI+OpenMP 最高提升 25%、延迟最多降低 45%,为分布式内存并行编程提供了更高效的替代方案。
2024-09-04 cs.DC cs.PF
TTK is Getting MPI-Ready
CNRS(法国国家科学研究中心);Sorbonne Université(索邦大学);University of Lille(里尔大学);RPTU Kaiserslautern-Landau(凯泽斯劳滕-兰道工业大学);Centrale Lille(里尔中央理工大学)
本文为拓扑工具包TTK扩展MPI分布式内存并行能力,提出通用方法支撑拓扑分析流水线,优化数据结构与接口,完成算法分类与性能验证,给出扩展路线图。
2024-04-15 cs.CG cs.CV cs.DC
How far does a random forest generalize from a 54-run LAMMPS+SPICA benchmark?
University of São Francisco(圣弗朗西斯科大学)
研究使用随机森林代理模型,基于54次LAMMPS+SPICA基准测试数据,预测分子动力学工作负载的混合MPI+OpenMP配置性能,并分析其泛化能力。
2026-06-29 cs.DC
Reproducibility of Parallel Preconditioned Conjugate Gradient in Hybrid Programming Environments
预条件共轭梯度法常用于求解物理现象数值模拟中的线性方程组。虽然被广泛使用,但求解器也因其在计算残差时缺乏准确性而闻名。在本文中,我们提出了两个源自ExBLAS项目的算法解决方案,以提高求解器的准确性并确保其在混合MPI + OpenMP任务编程环境中的可重复性。一种是基于ExBLAS并保留每一位信息直到最后舍入,而另一种依赖于浮点扩展,因此扩展了中间精度。我们没有将整个求解器转换为ExBLAS-related实现,而是识别那些违反再现性/非关联性的部分,保护它们,并将其与顺序执行相结合。这些算法的策略加强了可编程性的建议,以确保确定性的执行。最后,我们在两个现代HPC系统上验证了这些方法:两个版本都提供了可重复的迭代次数,残差,直接错误和向量解决方案,在768个核心上的开销小于37.7%。
2020-05-14 cs.DC cs.MS
Parallelizing multiple precision Taylor series method for integrating the Lorenz system
本文提出一种混合 MPI+OpenMP 策略并行化多精度泰勒级数方法,在 Lorenz 系统上成功获得时间区间 [0,7000] 的参考解,并在 192 核集群上实现约 105 的加速比。
2020-11-27 cs.DC cs.MS cs.NA
Subdomain Deflation Combined with Local AMG: a Case Study Using AMGCL Library
Kazan Branch of Joint Supercomputer Center, Russian Academy of Sciences(俄罗斯科学院联合超级计算中心喀山分院);Kazan Federal University(喀山联邦大学);Universitat Politècnica de Catalunya (UPC)(加泰罗尼亚理工大学);CIMNE — Centre Internacional de Mètodes Numèrics en Enginyeria(国际数值工程研究中心)
本文提出了一种结合子域消元方法和局部代数多重网格的方法,作为可扩展的分布式内存预条件子程序,用于求解大规模线性方程组。该算法的实现作为开源AMGCL库的一部分提供给社区,旨在解决同质(仅CPU)和异构(CPU/GPU)系统,分别采用混合MPI/OpenMP方法和MPI、OpenMP和CUDA的组合。使用OpenMP可减少MPI进程数量,从而减少消元方法的通信开销,并提高预条件子程序的弱标度性和强标度性。通过标量、泊松型系统以及来自纳维-斯托克斯方程离散化的非标量问题的例子来评估所实现算法的性能。还提供了与基于已知Trilinos ML包的传统全局AMG预条件子程序的比较。
2018-10-26 cs.DC cs.MS cs.NA
A fully parallel, high precision, N-body code running on hybrid computing platforms
我们提出了一个新的实现的数值积分的经典,引力,N体问题的基础上的高阶厄米积分计划块时间步长,直接评估的粒子-粒子力。此代码(称为HiGPU)的主要创新是其完全并行化,在多核中央处理器的使用中利用了OpenMP和MPI,以及用于托管图形处理器的计算统一设备架构(CUDA)或OpenCL。我们在意大利超级计算联盟CINECA提供的超级计算机IBM iDataBase DX 360 M3 Linux Infiniband Cluster中使用多达256个GPU测试了代码的性能和准确性,N值高达800万。我们能够跟踪一个800万个物体的系统的进化,只需要几次交叉,这是以前直接求和代码无法完成的任务。科学界可免费获得该守则。
2012-07-11 astro-ph.IM cs.DC physics.comp-ph
BACKUS: Comprehensive High-Performance Research Software Engineering Approach for Simulations in Supercomputing Systems
高性能计算(HPC)平台通过采用研究软件工程(RSE)技术,使科学软件在许多研究领域(如物理学、生物学和化学)中实现突破。这些包括1)新颖的并行范例,如共享内存并行主义(例如,使用OpenMP 4.5);分布式存储器架构(例如MPI 4);将它们组合在一起的混合并行性;以及异构并行性2)引入先进的软件工程概念,如面向对象的并行编程(OOP)、并行单元测试、并行I/O接口;混合并行可视化; 3)在其他必要领域选择最佳实践,如用户界面;自动文档;版本控制和项目管理。在这项工作中,我们提出了一种综合性的高性能研究软件工程方法在超级计算系统中的模拟,我们发现它最适合于长寿命的并行科学代码。
2019-10-14 cs.DC cs.SE
Multi-GPU aggregation-based AMG preconditioner for iterative linear solvers
本研究提出并开源了一种基于混合MPI-CUDA环境、依托BootCMatchG库AMG预处理器的多GPU Krylov型稀疏线性求解器,通过优化通信开销兼顾单GPU效率,求解性能较Nvidia AmgX最高提升2倍。
2023-03-04 cs.DC cs.MS
Parallel Spherical Harmonic Transforms on heterogeneous architectures (GPUs/multi-core CPUs)
球谐变换(SHT)是许多科学和实际应用的核心,从气候建模到宇宙学观测。在其中许多领域,最近提出了新的尖端科学目标,要求以非常高的分辨率和前所未有的数量模拟和分析实验或观测数据。这两个方面都对当前现有的转换实现提出了巨大的挑战。本文介绍了计算SHT的并行算法,适用于新的超级计算机体系结构,多核处理器和图形处理单元(GPU)的节点内并行的两个变种。它还讨论了它们的性能,单独和嵌入在一个顶级的,基于MPI的并行化层从S2 HAT库移植,在他们的准确性,整体效率和可扩展性。我们表明,我们的反向SHT运行在GeForce 400系列GPU配备了最新的CUDA架构(“费米”)优于最先进的实现的多核处理器上执行当前的英特尔酷睿i7- 2600 K。此外,我们表明,MPI/CUDA版本的逆变换运行在一个集群的128英伟达特斯拉S1070是多达3倍的速度比混合MPI/OpenMP版本上执行相同数量的四核处理器英特尔Nahalem的问题大小,我们的目标应用程序。然而,在这些情况下,发现直接变换的性能是最好的可比性。我们详细讨论的算法解决方案设计的主要步骤中涉及的变换计算,强调那些有重大影响的整体性能,并阐明了直接和逆操作之间的二分法的来源。
2013-04-01 astro-ph.CO cs.DC physics.ao-ph
Communication-Efficient, 2D Parallel Stochastic Gradient Descent for Distributed-Memory Optimization
Wake Forest University(维克森林大学);Oak Ridge National Laboratory(橡树岭国家实验室)
提出二维并行SGD方法HybridSGD,通过理论分析和实验验证,在通信效率与收敛性能间取得连续权衡,相比一维方法实现高达121倍加速。
2026-06-26 cs.DC stat.ML
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
DXML: Distributed Extreme Multilabel Classification
International Institute of Information Technology, Hyderabad(海得拉巴国际信息技术学院)
作为一种大数据应用,极端多标签分类已经成为一个重要的研究课题,其应用于产品和项目的排名和推荐。提出了一种可扩展的混合分布式共享内存的极端分类大规模排名和推荐的实现。具体而言,该实现是使用MPI跨节点传递消息和使用OpenMP在节点上使用多线程的混合。推导了通信延迟和通信量的表达式。针对共享内存体系结构,提出了基于工作跨度模型的并行计算方法。这揭示了类似极端分类方法的预期可扩展性。实验结果表明,该方法在大数据集上的训练和测试速度都比较快。在某些情况下,模型尺寸相对较小。
2021-10-20 cs.AI cs.DC cs.IR
Multi-GPU Hybrid Particle-in-Cell Monte Carlo Simulations for Exascale Computing Systems
KTH Royal Institute of Technology(皇家理工学院);Max Planck Institute for Plasma Physics(马克斯·普朗克等离子体物理研究所);Faculty of Mechanical Engineering, University of Ljubljana(卢布尔雅那大学机械工程学院);Max Planck Computing and Data Facility(马克斯·普朗克计算与数据中心);Institute of Plasma Physics of the CAS(捷克科学院等离子体物理研究所);University of Oregon(俄勒冈大学)
本文提出一种多GPU混合MPI+OpenMP实现,通过OpenMP目标任务重叠计算与通信,提升异构HPC系统中PIC蒙特卡洛模拟的可扩展性与效率。
2026-06-08 cs.DC cs.PF physics.plasm-ph
PPF - A Parallel Particle Filtering Library
提出了一种并行粒子滤波(PPF)软件库,该软件库结合消息传递接口(MPI)和多线程技术,实现了粒子滤波(PF)算法的共享/分布式并行化。该库是用Java实现的,并依赖于OpenMPI的Java绑定进行进程间通信。它包括动态负载均衡,多线程平衡,以及PF的几个算法改进,如输入空间域分解。PPF库隐藏了PF算法高效并行编程的困难,并为应用程序开发人员提供了并行实现PF方法所需的工具。我们证明了PPF库的能力,使用两种分布式PF算法在两种情况下,不同数量的粒子。PPF库在192个核心上运行3800万个粒子问题,对应超过1.86 GB的粒子数据,并行效率为67%。据我们所知,PPF库是第一个为PF应用程序提供并行框架的开源软件。
2014-04-04 cs.DC stat.CO