NVIDIA HPC SDK包含經過驗證的編譯器、庫和軟件工具,對于更大程度提高開發者的工作效率以及 HPC 應用的性能和可移植性至關重要。
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。
對您的 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 內核中調用。
可擴展系統編程
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 直接檢測源代碼的區域,從而確定性能瓶頸。
隨時隨地部署
容器將應用及其依賴項捆綁到便攜式虛擬環境中,從而簡化軟件部署。NVIDIA HPC SDK 包含使用 HPC Container Maker 開發、分析和部署軟件簡化容器鏡像創建流程的說明。NVIDIA Container Runtime可在幾乎所有容器框架(包括 Docker 和 Singularity)中實現無縫 GPU 支持。
審核編輯:湯梓紅
-
NVIDIA
+關注
關注
14文章
4949瀏覽量
102826 -
gpu
+關注
關注
28文章
4703瀏覽量
128725 -
SDK
+關注
關注
3文章
1029瀏覽量
45782
原文標題:DevZone | NVIDIA HPC SDK
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論