NVIDIA HPC软件开发包

HPC编译器、库和工具的综合套件

NVIDIA HPC软件开发工具包(SDK)包括经过验证的编译器、库和最大限度提高开发人员生产力和HPC性能和可移植性所必需的软件工具应用。

NVIDIA HPC SDK开发与分析

NVIDIA HPC SDK C、C++和Fortran编译器支持GPU加速HPC建模和仿真具有标准C++和Fortran、OpenACC®指令以及CUDA®的应用程序。GPU加速数学库最大限度地提高通用HPC算法的性能,优化的通信库支持基于标准的多GPU和可扩展系统编程。性能分析和调试工具简化了移植和HPC应用程序的优化和容器化工具使您能够轻松地在本地或云中部署。由于支持NVIDIA GPU和运行Linux的Arm、OpenPOWER或x86-64 CPU,HPC SDK提供了以下工具您需要构建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并行算法的程序易于移植到Linux、Windows和macOS的大多数C++实现中。

Fortran 2003编译器

NVIDIA Fortran编译器支持Fortran 2003和Fortran 2008的许多功能。支持OpenACC和CUDA Fortran公司在NVIDIA GPU上,以及用于多核的SIMD矢量化、OpenACC和OpenMPx86-64、Arm和OpenPOWER CPU,它具有在上移植和优化Fortran应用程序所需的功能今天的异构GPU加速HPC系统。

OpenACC指令

NVIDIA Fortran、C和C++编译器支持基于OpenACC的定向并行编程多核CPU。使用OpenACC启动或启用了200多个HPC应用程序端口,包括生产端口VASP、Gaussian、ANSYS Fluent、WRF和MPAS等应用程序。OpenACC是经验证的性能便携式GPU和多核CPU的指令解决方案。


主要功能

 NVIDIA HPC SDK包括一套GPU加速的数学库

GPU数学库

NVIDIA HPC SDK包括一套GPU加速数学库用于计算密集型应用程序。cuBLAS和cuSOLVER库提供GPU优化和多GPU从LAPACK实现所有BLAS例程和核心例程,自动使用NVIDIA GPU Tensor Cores如果可能的话。cuFFT包括用于真实和复杂数据的GPU加速1D、2D和3D FFT例程,以及cuSPARSE为稀疏矩阵提供了基本的线性代数子程序。这些库可以从CUDA和OpenACC调用用C、C++和Fortran编写的程序。

张量芯优化

NVIDIA GPU Tensor Cores使科学家和工程师能够使用混合精度或双精度。NVIDIA HPC SDK数学库针对Tensor Core和多个GPU节点,以最少的编码工作量提供系统的全部性能潜力。使用NVIDIA Fortran编译器,您可以通过自动映射转换数组来利用Tensor核cuTENSOR库的内部函数。

技术博客:将张量核引入标准Fortran

 NVIDIA A100 Tensor内核FP64
NVIDIA HPC编译器和工具针对您的CPU进行了优化

针对您的CPU进行了优化

异构HPC服务器使用GPU进行加速计算,并使用基于x86-64、OpenPOWER或防护指令集体系结构。NVIDIA HPC编译器和工具在上受支持所有这些CPU以及所有编译器优化都在支持它们的任何CPU上完全启用。穿着制服功能、命令行选项、语言实现、编程模型以及工具和库用户界面在所有受支持的系统中,NVIDIA HPC SDK简化了开发人员在各种HPC环境中的体验。

Multi-GPU编程

NVIDIA集合通信库(NCCL)实现了高度优化的多GPU和多节点使用MPI兼容的all-collect、all-reduce、broadcast、reduce和减少分散例程,以利用HPC服务器节点内和跨HPC服务器的所有可用GPU。NVSHMEM公司实现GPU内存的OpenSHMEM标准,并提供多GPU和多节点通信原语可以从主机CPU或GPU启动,并从CUDA内核中调用。

NVIDIA集合通信库(NCCL)实现多GPU编程
NVIDIA HPC SDK包含用于可扩展系统编程的MPI库

可扩展系统编程

MPI是编程分布式内存可扩展系统的标准。NVIDIA HPC SDK包括一个支持CUDA的基于Open MPI的MPI库,支持GPUDirect™,因此您可以使用远程直接内存访问(RDMA),包括在CUDA统一内存中分配的缓冲区。CUDA-软件开放式MPI是与CUDA C/C++、CUDA Fortran和NVIDIA OpenACC编译器完全兼容。

Nsight性能评测

Nsight™Systems提供HPC服务器上应用程序性能的系统级可视化,使您能够优化瓶颈并跨多核CPU和GPU扩展并行应用程序。Nsight Compute允许您可以通过图形或命令行用户界面,并允许您使用NVTX API直接查明性能瓶颈插入源代码的区域。

Nsight系统提供HPC服务器上应用程序性能的可视化
NVIDIA HPC SDK可以使用HPC Container Maker在任何地方部署软件

随时随地部署

容器通过捆绑简化软件部署应用程序及其依赖项集成到可移植虚拟环境中。NVIDIA HPC SDK包含说明用于使用HPC Container Maker开发、分析和部署软件,以简化容器图像。NVIDIA Container Runtime可在几乎所有容器框架中实现无缝GPU支持,包括Docker和Singularity。

技术博客:使用NVIDIA NGC目录中的NVIDIA-HPC SDK构建和部署HPC应用程序.

用户在说什么

“在Perlmutter上,我们需要支持用户所需的所有编程模型的Fortran、C和C++编译器并期待NVIDIA GPU和AMD EPYC CPU-MPI、OpenMP、OpenACC、CUDA和优化的数学库。这个NVIDIA HPC SDK会选中所有这些框。”

–Nicholas Wright,NERSC首席建筑师


HPC编译器支持服务

HPC编译器支持服务可以访问NVIDIA技术专家,包括:

  • 为NVFORTRAN、NVC++和NVC编译器提供付费技术支持(NVCC除外)。
  • 帮助安装和使用NVFORTRAN、NVC++和NVC编译器。
  • 确认错误报告,将错误修复优先于非援助用户的错误修复。
  • 如果可能,请帮助解决已确认的编译器错误的临时解决方案。
  • 访问版本档案,包括HPC SDK和旧版PGI包。
  • 有关更多详细信息,请参阅终点客户条款和条件。

快速入门


特色内容

快速入门

下载