为庆祝 SuperComputing 2022 国际会议, NVIDIA 宣布发布 HPC 软件开发工具包( SDK ) v22.11 。 NVIDIA 开发者计划 的成员可以免费 下载 。
NVIDIA HPC SDK 是一套面向高性能计算( HPC )开发人员的编译器、库和工具。它提供了开发人员高效开发高性能应用程序所需的一切。 HPC SDK 及其组件每年都会进行多次更新,包括新功能、性能提升和其他增强。
设计用于 C 语言的异步编程++
除了通常的修复和增强之外,新的 v22.1 版本还为您提供了一个创新的stdexec
库的预览,该库旨在标准化 C ++异步。该库使开发人员能够编写不特定于 CPU 或 GPU 机器的高级算法代码,从而提高了程序员的生产力和应用程序的可移植性。
stdexec
库引入了异步调度工作的能力,这导致了比现有 C ++并行算法更好的资源利用率和性能。这实现了细粒度的执行控制、最小化延迟,甚至可以利用多 GPU /多节点系统的性能优势。
stdexec
库是 C++ Standardization Committee proposal 的早期实现,它使 HPC 工作负载与最合适的计算资源相匹配。这个库有时被称为 Senders ,它使您(开发人员)能够精确地控制工作执行的位置和方式,最终提供可移植的并行性。
使用多节点数学库扩展应用程序
HPC SDK 现在包含最新的 cuSOLVER 和 cuFFT 多节点功能。这些库使用户只需几行代码即可编写可扩展到数千 GPU 的软件应用程序。最近,多节点 FFT 已集成到 HPC 应用程序 GROMACS 中,从而提高了性能。
GROMACS 是一种分子动力学模拟软件包,是世界上使用最多的 HPC 应用之一。从历史上看,该应用程序只能用一个等级和一个 GPU 计算原子之间的粒子网格 Ewald ( PME )远程力。这限制了完整模拟的多节点可伸缩性。通过集成新的多节点功能, GROMACS 现在可以在仿真中计算多个 PME 等级,从而增强了可扩展性和性能。
图 1 显示了这个新特性在实际科学测试用例中的性能改进。 NVIDIA Selene 集群每个节点使用 4 个 A100-SXM4 GPU 的结果表明,可扩展性从 2 个节点提高到 32 个节点,从而大大提高了性能。
术语 ns /天是指在一天的计算(经过的实时或壁时间)中可能出现的纳秒( ns )模拟次数(模拟中的可变时间)。这是一个有用的衡量标准,可以用来安排你的工作或了解在给定时间段内可以实现的目标。
更多 HPC 、数学库和并行编程资源
要开始使用stdexec
和 NVIDIA 数学库,请在 NVIDIA 开发区免费使用 下载新的 HPC SDK 22.11 update 。
进一步了解 HPC SDK 、基于标准的并行编程的优点以及多节点 GPU-accelerated math libraries 。您也可以参考 NVIDIA HPC SDK Version 22.9 文档 。
其他资源
- Why Standards-Based Parallel Programming Should Be in Your HPC Toolbox
- Leveraging Standards-Based Parallel Programming in HPC Applications
- Developing Accelerated Code with Standard Language Parallelism
- Multi-GPU Programming with Standard Parallel C++ (Part 1)
- Multi-GPU Programming with Standard Parallel C++ (Part 2)
- Using Fortran Standard Parallel Programming for GPU Acceleration