NVIDIA HPC SDK
用于 HPC 的全套编译器、库和工具
NVIDIA HPC 软件开发套件 (SDK) 包含经过验证的编译器、库和软件工具,对于更大程度提高开发者的工作效率以及 HPC 应用的性能和可移植性至关重要。
![](http://178.128.105.246/content-https-d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/hpc-sdk-explainer-diagram-update-r1.png)
NVIDIA HPC SDK C、C++ 和 Fortran 编译器支持使用标准 C++ 和 Fortran、OpenACC® 指令和 CUDA® 实现 HPC 建模和模拟应用的 GPU 加速。GPU 加速的数学库可更大限度地提升常用 HPC 算法的性能,而经过优化的通信库支持基于标准的多 GPU 和可扩展的系统编程。性能分析和调试工具可简化 HPC 应用的移植和优化流程,而容器化工具支持在本地或云端轻松部署。HPC SDK 支持 NVIDIA GPU 和 Arm、OpenPOWER 或运行 Linux 的 x86-64 CPU,为您提供构建 NVIDIA GPU 加速的 HPC 应用所需的工具。
为何要使用 NVIDIA HPC SDK?
性能
除了应用广泛的 HPC 应用(包括 VASP、Gaussian、ANSYS Fluent、GROMACS 和 NAMD),还可以使用 CUDA、OpenACC 和 GPU 加速的数学库,为用户提供突破性性能。您可以使用这些相同的软件工具对应用进行 GPU 加速,还可以使用 NVIDIA GPU 实现速度和能效大幅提升。
可移植性
为 99% 以上的 500 强系统(包括基于 NVIDIA GPU 或 x86-64、Arm 或 OpenPOWER CPU 的系统)构建和优化应用。您可以使用嵌入式库、C++17 并行算法和 OpenACC 指令对您的代码进行 GPU 加速,并确保应用完全可移植到其他编译器和系统。
工作效率
借助能够让您快速移植、并行和优化 GPU 加速的单一集成套件(包括用于多 GPU 和可扩展计算的行业标准通信库,以及用于分析的分析和调试工具),可以更大限度地提高科学和工程吞吐量,更大限度地减少编码时间。
支持您喜欢的编程语言
C++17 并行算法
C++17 并行算法使用标准模板库 (STL) 实现可移植的并行编程。NVIDIA HPC SDK C++ 编译器在 CPU 上支持完整的 C++17,可将并行算法分流至 NVIDIA GPU,支持无指令、杂注或标注的 GPU 编程。使用 C++17 并行算法的程序很容易移植到常用 C++ 的 Linux、Windows 和 macOS。
Fortran 2003 编译器
NVIDIA Fortran 编译器支持 Fortran 2003,以及 Fortran 2008 的许多功能。它支持在GPU上的OpenACC 和 CUDA Fortran,也支持在x86-64、Arm 和 OpenPOWER 这些多核CPU上的SIMD 向量化、OpenACC 和 OpenMP。这样,他就具有具有在当今由 GPU 加速的异构 HPC 系统上移植和优化 Fortran 应用所需的功能。
OpenACC 指令
NVIDIA Fortran、C 和 C++ 编译器支持基于 OpenACC 指令的并行编程,适用于 NVIDIA GPU 和多核 CPU。超过 200 款 HPC 应用端口已使用 OpenACC 启动或启用,包括 VASP、Gaussian、ANSYS Fluent、WRF 和 MPAS 等量产型应用。OpenACC 适用于 GPU 和多核 CPU,是经过验证的性能可移植指令解决方案。
主要功能
GPU 数学库
NVIDIA HPC SDK 包括一套GPU 加速的数学库,适用于计算密集型应用。cuBLAS 和 cuSOLVER 库可提供来自 LAPACK 的各种 BLAS 例程和核心例程的经 GPU 优化的多 GPU 的实施,并尽可能自动使用 NVIDIA GPU Tensor Core。cuFFT 包括用于真实和复杂数据的 GPU 加速的 1D、2D 和 3D FFT 例程,cuSPARSE 为稀疏矩阵提供基础线性代数子例程。可以通过使用 C、C++ 和 Fortran 编写的 CUDA 和 OpenACC 程序调用这些库。
对 Tensor Core 进行优化
通过 NVIDIA GPU Tensor Core,科学家和工程师能够使用混合精度或双精度大幅加速合适的算法。这些 NVIDIA HPC SDK 数学库对 Tensor Core 和多 GPU 节点进行了优化,无需多费力编码,即可提供系统的全部性能潜力。利用 NVIDIA Fortran 编译器,通过将可转换的数组内联函数自动映射至 cuTENSOR 库,您可以使用 Tensor Core。
![](http://178.128.105.246/content-https-d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/HPC_SDK/A100_TensorCore_FP64.jpg)
对您的 CPU 进行优化
异构 HPC 服务器使用 GPU 进行加速计算,并基于 x86-64、OpenPOWER 或 Arm 指令集架构使用多核 CPU。NVIDIA HPC 编译器和工具在这些 CPU 上受支持,并且所有编译器优化可在支持这些编译器的 CPU 上完全启用。借助跨所有受支持系统的统一功能、命令行选项、语言实现、编程模型、工具和库用户界面,NVIDIA HPC SDK 可简化开发者在各种 HPC 环境中的体验。
多 GPU 编程
NVIDIA 集合通信库 (NCCL) 使用 MPI 兼容的 all-gather、all-reduce、broadcast、reduce 和 reduce-scatter 例程实现高度优化的多 GPU 和多节点集合通信基元,以利用 HPC 服务器节点内和跨 HPC 服务器节点的所有可用 GPU。NVSHMEM 可实现 GPU 显存的 OpenSHMEM 标准,并提供多 GPU 和多节点通信基元,这些基元可通过主机 CPU 或 GPU 启动,也可在 CUDA 内核中调用。
![](http://178.128.105.246/content-https-d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/scalable-system-programming.jpg)
可扩展系统编程
MPI 是编程分布式内存可扩展系统的标准。NVIDIA HPC SDK 包括基于 Open MPI 的 CUDA-aware MPI 库,支持 GPUDirect™,这样您可以直接使用远程直接数据存取 (RDMA) 来发送和接收 GPU 缓冲区,包括在 CUDA 统一内存中分配的缓冲区。CUDA-aware Open MPI 完全兼容 CUDA C/C++、CUDA Fortran 和 NVIDIA OpenACC 编译器。
Nsight 性能分析
Nsight™ 系统可在系统范围内可视化 HPC 服务器上的应用性能,并使您能够在多核 CPU 和 GPU 中优化瓶颈并扩展并行应用。Nsight Compute 允许您通过图形或命令行用户界面,在交互式分析器中深入探讨 GPU 内核,以用于 GPU 加速的应用,并允许您使用 NVTX API 直接检测源代码的区域,从而确定性能瓶颈。
![](http://178.128.105.246/content-https-d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/nsight-performance-profiling.jpg)
![](http://178.128.105.246/content-https-d29g4g2dyqv443.cloudfront.net/sites/default/files/akamai/nvidia-gpu-cloud-hpc-apps-kv-16x9.jpg)
随时随地部署
容器将应用及其依赖项捆绑到便携式虚拟环境中,从而简化软件部署。NVIDIA HPC SDK 包含使用 HPC Container Maker 开发、分析和部署软件简化容器镜像创建流程的说明。NVIDIA Container Runtime 可在几乎所有容器框架(包括 Docker 和 Singularity)中实现无缝 GPU 支持。
技术博客:使用 NVIDIA NGC 目录中的 NVIDIA HPC SDK 构建和部署 HPC 应用。
用户评价
“在 Perlmutter 上,我们需要 Fortran、C 和 C++ 编译器来支持用户在 NVIDIA GPU 和 AMD EPYC CPU 上需要和期望的所有编程模型:MPI、OpenMP、OpenACC、CUDA 和优化的数学库。NVIDIA HPC SDK 具备所有这些功能。”
HPC 编译器支持服务
通过 HPC 编译器支持服务,您可以联系 NVIDIA 技术专家,包括:
- 为 NVFORTRAN、NVC++ 和 NVC 编译器(不包括 NVCC)提供付费技术支持。
- 帮助安装和使用 NVFORTRAN、NVC++ 和 NVC 编译器。
- 与非付费用户相比,优先确认错误报告,优先进行错误修复。
- 尽可能为已确认的编译器错误提供临时变通方案帮助。
- 访问版本存档,包括 HPC SDK 和旧版 PGI 包。
- 如需了解更多详情,请参阅最终客户条款与条件。
开始使用
- 愿意购买支持服务?联系我们。
- 已有有效的支持合同且已注册来获取支持?登录 NVIDIA 支持门户。
- 老客户想续签合同?联系我们。
- 有疑问吗?如需了解详情,请发送电子邮件至 enterpriseservices@nvidia.com。