加速計算庫 – NVIDIA 技術博客 http://www.open-lab.net/zh-cn/blog 閱讀開發者創建的最新技術信息、頭條新聞 和內容。 Thu, 12 Dec 2024 04:08:05 +0000 zh-CN hourly 1 196178272 借助 NVIDIA 集合通信庫實現顯存高效、快速初始化和成本估算優化 2.22 http://www.open-lab.net/zh-cn/blog/memory-efficiency-faster-initialization-and-cost-estimation-with-nvidia-collective-communications-library-2-22/ Mon, 16 Sep 2024 07:29:51 +0000 http://www.open-lab.net/zh-cn/blog/?p=11260 Continued]]> 在過去幾個月中,NVIDIA 集合通信庫(NCCL)開發者一直在努力開發一系列新的庫功能和錯誤修復。在本文中,我們將討論 NCCL 2.22 版本的詳細信息以及解決的痛點。 NVIDIA Magnum IO NCCL 是一個旨在優化 GPU 之間和多節點通信的庫,對于 AI 和 HPC 應用中的高效并行計算至關重要。這次版本的價值在于其新的特點: 在本節中,我們將深入探討每個新功能的詳細信息: NCCL 使用一組靜態分配的持久性連接和緩沖區,以運行其即時數據傳輸協議。對于 NCCL 支持的每種給定算法和協議,它都會創建一組單獨的連接和緩沖區,每個連接和緩沖區都需要數 MB 的 GPU 內存。 作為參考,算法定義了給定集合的參與者之間的高級數據移動,協議定義了 NCCL 發送數據的方式。根據操作、消息大小、規模和拓撲結構,選擇給定的算法和協議,

Source

]]>
11260
新一代的 FlashAttention http://www.open-lab.net/zh-cn/blog/next-generation-of-flashattention/ Thu, 11 Jul 2024 05:53:33 +0000 http://www.open-lab.net/zh-cn/blog/?p=10670 Continued]]> NVIDIA 很高興能與 Colfax、Together.ai、Meta 和普林斯頓大學合作,利用 Hopper GPU 架構和 Tensor Core,加速關鍵的融合注意力內核,使用 CUTLASS 3。 FlashAttention-3 采用關鍵技術,相比使用 FP16 的 FlashAttention-2,性能提升 1.5–2.0 倍,最高可達 740 TFLOPS。另外,在使用 FP8 時,FlashAttention-3 可達到高達 1.2 PFLOPS,且誤差比基準 FP8 注意力小 2.6 倍。 CUTLASS 是一個開源 CUDA 庫,旨在支持深度學習和 HPC 從業者在 NVIDIA Tensor Core GPU 上實現高速性能,涵蓋自定義算法和研究、生產工作負載等多種場景。 有關協作的更多信息,請參閱 FlashAttention-3:

Source

]]>
10670
測量多流工作負載的 GPU 占用率 http://www.open-lab.net/zh-cn/blog/measuring-the-gpu-occupancy-of-multi-stream-workloads/ Fri, 19 Apr 2024 05:40:40 +0000 http://www.open-lab.net/zh-cn/blog/?p=9671 Continued]]> 隨著新一代產品的推出, NVIDIA GPU 的性能也變得越來越強大。這種提升通常有兩種形式。每個流多處理器 (SM) (GPU 的主力) 都可以更快地執行指令,而內存系統可以以越來越快的速度向 SM 傳輸數據。 與此同時,SM 的數量通常也會隨著每一代的增加而增加,這增加了 GPU 可以支持的計算并發量。例如, NVIDIA Volta、 NVIDIA Ampere 和 NVIDIA Hopper GPU 分別支持 80、108 和 132 個 SM。 在某些情況下,不斷增長的并發可能會帶來一個挑戰。在 GPU 上運行的工作負載必須公開相應的并發級別,才能使 GPU 資源得到充分利用。為此,一種常見的方法是使用多個流向 GPU 發送獨立的任務,或者類似地,使用 CUDA 的多進程服務。 本文介紹了一種確定這些方法是否成功占用 GPU 的方法。

Source

]]>
9671
高效的 CUDA 調試:將 NVIDIA Compute Sanitizer 與 NVIDIA 工具擴展程序結合使用并創建自定義工具 http://www.open-lab.net/zh-cn/blog/efficient-cuda-debugging-using-compute-sanitizer-with-nvtx-and-creating-custom-tools/ Wed, 27 Mar 2024 08:04:12 +0000 http://www.open-lab.net/zh-cn/blog/?p=9450 Continued]]> NVIDIA Compute Sanitizer 是一款功能強大的工具,可以節省時間和精力,同時提高 CUDA 應用程序的可靠性和性能。在 CUDA 環境中調試代碼既具有挑戰性又耗時,尤其是在處理數千個線程時。Compute Sanitizer 可以提供幫助! 在這一系列的第一篇文章中,高效 CUDA 調試:使用 NVIDIA Compute Sanitizer 追蹤錯誤 中,我們將討論如何開始使用 Compute Sanitizer 工具,以檢查代碼中的內存泄漏和競爭條件。 在第二篇博文中,高效的 CUDA 調試:借助 NVIDIA Compute Sanitizer 實現內存初始化和線程同步。此外,我們還探討了用于檢查內存初始化和線程同步的工具。 在本文中,我們重點介紹了 Compute Sanitizer 的一些其他功能,即它與 NVIDIA 工具擴展程序 (NVTX)…

Source

]]>
9450
在加速計算時代構建高性能應用 http://www.open-lab.net/zh-cn/blog/building-high-performance-applications-in-the-era-of-accelerated-computing/ Mon, 25 Mar 2024 08:58:53 +0000 http://www.open-lab.net/zh-cn/blog/?p=9484 Continued]]> AI 正在通過新的數據處理、模擬和建模方法增強高性能計算 (HPC).由于這些新 AI 工作負載的計算需求,HPC 正在快速擴展。 為了使應用程序能夠擴展到多 GPU 和多節點平臺,HPC 工具和庫必須支持這種增長。 NVIDIA 提供加速 HPC 軟件解決方案的全面生態系統,幫助您的應用程序滿足現代 AI 驅動工作負載的需求。 除了問題修復和改進 HPC 編譯器的編譯時性能之外,HPC SDK 24.3 提供新功能,支持最新的 NVIDIA Grace Hopper 系統。 在使用 OpenMP Target Offload 指令進行 GPU 編程時,NVIDIA HPC 編譯器提供統一的內存編譯模式。這增加了對 OpenACC 中 Grace Hopper 和 HMM 系統統一內存的現有支持,以及 CUDA Fortran 和 標準并行度(stdpar) 編程模型,

Source

]]>
9484
cuTENSOR 2.0:用于加速張量計算的全面指南 http://www.open-lab.net/zh-cn/blog/cutensor-2-0-a-comprehensive-guide-for-accelerating-tensor-computations/ Fri, 08 Mar 2024 07:08:27 +0000 http://www.open-lab.net/zh-cn/blog/?p=9225 Continued]]> NVIDIA cuTENSOR 是一個 CUDA 數學庫,提供經過優化的張量運算。張量是一種密集的多維數組或數組片段。cuTENSOR 2.0 的發布代表著功能和性能方面的重大更新,這一版本重構了其 API,使其更富有表現力,包括在 NVIDIA Ampere 和 NVIDIA Hopper GPU 架構上實現的出色性能。 本文介紹了 cuTENSOR 2.0 庫,以及如何使用其運算。有關更多信息,請參閱系列中的下一篇文章 cuTENSOR 2.0:性能和應用. 雖然張量運算看起來很陌生,但它們描述了許多自然發生的算法。尤其是,這些運算在機器學習和量子化學中十分常見。 如果您已經使用 NVIDIA cuBLAS 或 BLAS,cuTENSOR 提供的三個例程可能會讓您感到眼前一亮: 主要區別在于,cuTENSOR 可將這些運算擴展到多維度 .

Source

]]>
9225
cuTENSOR 2.0:應用程序和性能 http://www.open-lab.net/zh-cn/blog/cutensor-2-0-applications-and-performance/ Fri, 08 Mar 2024 06:58:15 +0000 http://www.open-lab.net/zh-cn/blog/?p=9217 Continued]]> 雖然 第 1 部分 專注于使用全新的 NVIDIA cuTENSOR 2.0 CUDA 數學庫,但本文將介紹其他使用模式,特別是 Python 和 Julia 的使用。我們還將展示基于基準測試的 cuTENSOR 性能在多個應用領域中的表現。 本文探討了 cuTENSOR 2.0 的應用程序和性能基準測試。有關更多信息,請參閱系列的第一篇文章:cuTENSOR 2.0:用于加速張量計算的全面指南. 我們提供 Cutensor Python 軟件包,其中包含用于 Einsum 樣式的界面。該包利用 cuTENSOR,可以類似于 PyTorch 和 TensorFlow 的原生 einsum 實現。有關更多信息,請參閱 Installation 部分。 例如,cuTENSOR 可以作為 torch.einsum 使用,如下代碼示例所示:

Source

]]>
9217
人人超碰97caoporen国产