阿里云超算集谛优化GPU异构并行性能:GROMACS

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
简介: 阿里云超算集谛优化GPU异构并行性能:GROMACS

作者:慕笛
“集谛”是一款内置于阿里云弹性高性能计算(Elastic High Performance Computing,E-HPC)的云上性能监控与分析引擎,支持集群资源利用情况的实时监控和用户作业运行情况的在线分析。对于采用GPU加速的异构计算应用场景,“集谛”除了监控节点host端资源外还能监控GPU device端的资源利用情况,给出GPU利用率、显存利用率和PCI-E数据传输带宽等性能指标随时间的变化,帮助用户更好得了解应用运行状态,指导应用改进。

分子动力学(Molecular Dynamic,MD)模拟是一种基于经典牛顿力学建立分子结构模型,对分子及分子体系的结构和性质进行研究分析的计算机模拟方法,是人类打开微观运动世界的钥匙。作为高性能计算领域的重要研究方向之一,分子动力学模拟在新材料研制、化学工业模拟、生物医药等多个领域被广泛应用,相关研究成果多次入选美国三大工程奖之一的戈登贝尔奖。分子动力学模拟包含了大量分子间相互作用力的计算,计算过程密集且规整,因此非常适合使用CPU向量运算部件和GPU卡进行加速。目前主流的几款分子动力学模拟软件GROMACS、NAMD、LAMMPS均可以采用GPU卡来加速其核心计算过程。下图给出的使用分子动力学模拟方法后得到的生物大分子构型的演变。
image.png

对GPU资源的充分利用是分子动力学软件获取理想模拟效率的关键。本文以GROMACS为例,使用“集谛”对其运行时性能特征进行多方位展示,分析当前性能瓶颈,从而对软件性能进行优化。

“集谛”GPU性能监控介绍

image.png

节点维度:“集谛”按照用户选取的节点构造出多个坐标平面,每个坐标平面对应展示一个节点的GPU资源利用情况。其中,节点内不同GPU卡的性能数据以时间为横轴展示在同一个坐标平面内。这种节点维度的呈现方式有利于用户对比节点内不同GPU卡间的负载情况。
image.png

指标维度:“集谛”根据用户选取的GPU子设备和性能指标构造出多个坐标平面,每个坐标平面对应展示某一GPU子设备&某一性能指标上不同节点的性能表现,方便用户对比节点间的GPU负载情况。
image.png

“集谛”指导GROMACS性能优化

本文在ecs.gn5实例(8 core,16 vCPU,120GB内存,2 P100)上运行分子动力学软件GROMACS的GPU版本,并使用“集谛”监控软件执行过程中的系统资源利用情况。

节点维度:
image.png

指标维度:
image.png

从上图可以看出:

  1. CPU利用率持续保持在85%以上
  2. GPU利用率在45%到70%之间,并且波动较大
  3. GPU显存利用率在25%左右
  4. GPU设备PCI-E传输带宽基本不超过2GB/s

由此可见,CPU端计算资源接近用满,负载较重;而GPU端计算资源、显存和PCI-E带宽均未达到瓶颈,尚有进一步可用的空间。GROMACS软件本身采用“CPU+GPU”的主从协同计算模式,CPU和GPU任一端的性能瓶颈都会拖慢软件的整体性能。因此为了提升GROMACS的软件执行效率,我们选择将CPU端的PME计算过程进一步offload到GPU端。通过这种方式,我们在减少CPU端计算任务的同时又充分利用了GPU端的计算资源,从而使CPU和GPU两端的计算负载更加均衡。完成该步优化后,我们再次使用“集谛”监控GROMACS执行过程中的系统资源利用情况。

节点维度:
image.png

指标维度:
image.png

从上图可以看出,在将PME计算过程offload到GPU端之后:

  1. CPU利用率降到30%~35%之间
  2. GPU利用率基本稳定在70%以上,并且波动较小
  3. GPU显存利用率提升到50%以上
  4. GPU设备PCI-E传输带宽达到3GB/s以上
  5. 相同任务量下,执行时间降为优化前的50%
    由此可见,对于采用“CPU+GPU”主从加速模式的软件,通过平衡CPU端和GPU端的计算负载,能够大幅提升软件的执行效率。

总结

集谛能够从计算、内存、网络、磁盘、加速卡等方面系统地监控集群资源的利用情况并系统地展示给用户,方便用户进行多方位地对比分析,帮助用户迅速定位性能瓶颈,从而为用户应用程序的改进提供指导。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
打赏
0
0
0
3
2173
分享
相关文章
阿里云服务器X86/ARM/GPU/裸金属/超算五大架构技术特点、场景适配参考
在云计算技术飞速发展的当下,云计算已经渗透到各个行业,成为企业数字化转型的关键驱动力。选择合适的云服务器架构对于提升业务效率、降低成本至关重要。阿里云提供了多样化的云服务器架构选择,包括X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等。本文将深入解析这些架构的特点、优势及适用场景,以供大家了解和选择参考。
563 61
PyTorch CUDA内存管理优化:深度理解GPU资源分配与缓存机制
本文深入探讨了PyTorch中GPU内存管理的核心机制,特别是CUDA缓存分配器的作用与优化策略。文章分析了常见的“CUDA out of memory”问题及其成因,并通过实际案例(如Llama 1B模型训练)展示了内存分配模式。PyTorch的缓存分配器通过内存池化、延迟释放和碎片化优化等技术,显著提升了内存使用效率,减少了系统调用开销。此外,文章还介绍了高级优化方法,包括混合精度训练、梯度检查点技术及自定义内存分配器配置。这些策略有助于开发者在有限硬件资源下实现更高性能的深度学习模型训练与推理。
700 0
阿里云GPU服务器gn6v、gn7i、gn6i性能特点、区别及选择参考
阿里云GPU云服务器产品线凭借其强大的计算能力和广泛的应用价值,在这些领域中发挥着举足轻重的作用。阿里云GPU云服务器能够为各类复杂的计算任务提供高效、稳定的计算支持,助力企业和开发者在技术创新和业务拓展的道路上加速前行。本文将详细介绍阿里云GPU云服务器中的gn6v、gn7i、gn6i三个实例规格族的性能特点、区别及选择参考,帮助用户根据自身需求选择合适的GPU云服务器实例。
426 60
阿里云X86/ARM/GPU/裸金属/超算等五大服务器架构技术特点、场景适配与选型策略
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别。本文将深入解析这些架构的特点、优势及适用场景,帮助用户更好地根据实际需求做出选择。
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
本文探讨了如何通过技术手段混合使用AMD与NVIDIA GPU集群以支持PyTorch分布式训练。面对CUDA与ROCm框架互操作性不足的问题,文章提出利用UCC和UCX等统一通信框架实现高效数据传输,并在异构Kubernetes集群中部署任务。通过解决轻度与强度异构环境下的挑战,如计算能力不平衡、内存容量差异及通信性能优化,文章展示了如何无需重构代码即可充分利用异构硬件资源。尽管存在RDMA验证不足、通信性能次优等局限性,但该方案为最大化GPU资源利用率、降低供应商锁定提供了可行路径。源代码已公开,供读者参考实践。
304 3
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
COMET:字节跳动开源MoE训练加速神器,单层1.96倍性能提升,节省百万GPU小时
COMET是字节跳动推出的针对Mixture-of-Experts(MoE)模型的优化系统,通过细粒度的计算-通信重叠技术,显著提升分布式训练效率,支持多种并行策略和大规模集群部署。
216 9
DeepSeek开源周第四弹之二!EPLB:专为V3/R1设计的专家并行负载均衡器,让GPU利用率翻倍!
EPLB 是 DeepSeek 推出的专家并行负载均衡器,通过冗余专家策略和负载均衡算法,优化大规模模型训练中的 GPU 资源利用率和训练效率。
234 1
DeepSeek开源周第四弹之二!EPLB:专为V3/R1设计的专家并行负载均衡器,让GPU利用率翻倍!
exo:22.1K Star!一个能让任何人利用日常设备构建AI集群的强大工具,组成一个虚拟GPU在多台设备上并行运行模型
exo 是一款由 exo labs 维护的开源项目,能够让你利用家中的日常设备(如 iPhone、iPad、Android、Mac 和 Linux)构建强大的 AI 集群,支持多种大模型和分布式推理。
1164 100
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
482 7
深度学习之测量GPU性能的方式
在深度学习中,测量GPU性能是一个多方面的任务,涉及运行时间、吞吐量、GPU利用率、内存使用情况、计算能力、端到端性能测试、显存带宽、框架自带性能工具和基准测试工具等多种方法。通过综合使用这些方法,可以全面评估和优化GPU的性能,提升深度学习任务的效率和效果。
594 5

热门文章

最新文章

相关产品

  • GPU云服务器
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等

    登录插画

    登录以查看您的控制台资源

    管理云资源
    状态一览
    快捷访问