[论文解读] Distributed, combined CPU and GPU profiling within HPX using APEX
本文提出了一种可扩展的、基于HPX运行时环境的分布式CPU-GPU性能分析框架,采用APEX技术对Piz Daint和Summit两套超算架构上的Octo-Tiger天体物理学模拟程序进行性能瓶颈分析。结果表明,APEX能够实现低开销的大规模性能分析,提供可量化的性能洞察,揭示了不同架构之间的差异,并识别出优化机会,尤其是在GPU内核执行和节点间通信方面。
Benchmarking and comparing performance of a scientific simulation across hardware platforms is a complex task. When the simulation in question is constructed with an asynchronous, many-task (AMT) runtime offloading work to GPUs, the task becomes even more complex. In this paper, we discuss the use of a uniquely suited performance measurement library, APEX, to capture the performance behavior of a simulation built on HPX, a highly scalable, distributed AMT runtime. We examine the performance of the astrophysics simulation carried-out by Octo-Tiger on two different supercomputing architectures. We analyze the results of scaling and measurement overheads. In addition, we look in-depth at two similarly configured executions on the two systems to study how architectural differences affect performance and identify opportunities for optimization. As one such opportunity, we optimize the communication for the hydro solver and investigated its performance impact.
研究动机与目标
- 为基于HPX的科学计算应用实现大规模、分布式的CPU和GPU工作负载性能分析。
- 评估在真实生产规模模拟中使用APEX进行CPU-GPU联合性能分析的可行性与开销。
- 识别Octo-Tiger在不同HPC架构(Piz Daint和Summit)上的性能瓶颈。
- 基于性能分析结果优化流体求解器的通信模式,并测量其性能影响。
- 评估APEX在最多2000个节点、包含GPU测量的场景下的可扩展性和准确性。
提出的方法
- 将APEX与HPX集成,以捕获跨分布式节点的性能指标,包括CPU和GPU工作负载。
- 使用CUPTI进行GPU性能分析,使用HPX性能计数器获取CPU指标,并对计算节点的数据进行聚合。
- 在48个节点(Piz Daint)和8个节点(Summit)上分别执行Octo-Tiger的完整生产场景模拟,持续40个时间步,每个节点配备48块GPU。
- 通过对比CPU仅运行与CPU-GPU联合运行的性能分析开销,隔离GPU测量带来的影响。
- 分析运行时行为,包括内核执行时间、通信开销以及不同架构下的任务调度情况。
- 基于APEX识别出的性能瓶颈,对流体求解器的通信模式进行优化,随后重新进行性能分析以评估改进效果。
实验结果
研究问题
- RQ1在现代HPC系统上,APEX在大规模、分布式CPU-GPU运行中的性能分析开销表现如何?
- RQ2Octo-Tiger在Piz Daint(Intel Xeon + P100)与Summit(Power9 + V100)架构上的执行性能存在哪些关键差异?
- RQ3Octo-Tiger中哪些组件表现出最高的性能开销?能否基于性能分析数据进行优化?
- RQ4从P100到V100 GPU的过渡如何影响平均内核执行时间?哪些因素导致了观察到的加速?
- RQ5在大规模场景下,使用CUPTI进行GPU性能分析是否显著增加开销?
主要发现
- APEX能够在基于HPX的模拟中实现可扩展的、分布式的CPU-GPU性能分析,在Piz Daint上2000个节点的规模下仍保持可接受的开销。
- 在Piz Daint上,性能分析开销在大规模下达到52.4%,主要源于通过CUPTI进行的GPU测量,而仅CPU运行的开销较低。
- 在Summit上,大规模下的性能分析开销为31.8%,表明GPU性能分析具有更好的可扩展性且影响更小。
- V100上的平均GPU内核运行时间相比P100有显著提升,这很可能归因于更大的L1缓存和更高的内存带宽,而非流多处理器(SM)数量的增加。
- 在Piz Daint上,流体求解器的通信被识别为主要瓶颈,特别是schedule_parcel函数,该函数基于APEX数据进行了优化。
- 优化后,APEX测量结果确认了性能提升,证明了分布式性能分析在指导生产级HPC工作负载代码优化方面的价值。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。