CUDA – NVIDIA 技術博客
http://www.open-lab.net/zh-cn/blog
閱讀開發者創建的最新技術信息、頭條新聞 和內容。
Wed, 14 May 2025 07:09:12 +0000
zh-CN
hourly
1
196178272 -
CUDA C++ 編譯器更新對 ELF 可見性和鏈接影響
http://www.open-lab.net/zh-cn/blog/cuda-c-compiler-updates-impacting-elf-visibility-and-linkage/
Fri, 09 May 2025 05:37:20 +0000
http://www.open-lab.net/zh-cn/blog/?p=13805
Continued]]>
在下一個 CUDA 主要版本 CUDA 13.0 中,NVIDIA 將對 NVIDIA CUDA 編譯器驅動程序 (NVCC) 作出兩項重大更改,這些更改將影響 函數和設備變量的 ELF 可見性和關聯。這些更新旨在防止長期以來難以檢測和調試的細微運行時錯誤。但是,這些更改可能會影響一些現有的 CUDA C++ 程序。 本文旨在提醒用戶注意潛在的中斷,解釋更改背后的原因,并就可以恢復舊版行為的 NVCC 標志提供指導。表 1 匯總了這兩項更改。 在 CUDA 13.0 之前的工具包中,NVCC 編譯器未修改發送給主機編譯器的代碼中 函數和 變量的 ELF 可見性。如果將生成的代碼打包到共享庫中,這些符號將對共享庫的用戶可見。 默認情況下,NVCC 鏈接 CUDA Runtime Library (CUDART) 的靜態版本。
Source
]]>
13805
-
CUDA 入門教程:更簡單的介紹 (更新版)
http://www.open-lab.net/zh-cn/blog/even-easier-introduction-cuda-2/
Fri, 02 May 2025 06:58:38 +0000
http://www.open-lab.net/zh-cn/blog/?p=13841
Continued]]>
注意:本博文最初發布于 2017 年 1 月 25 日,但已進行編輯以反映新的更新。 本文非常簡單地介紹了 CUDA,這是 NVIDIA 的熱門并行計算平臺和編程模型。我在 2013 年寫過一篇文章,名為“ An Easy Introduction to CUDA ”,多年來一直備受歡迎。但是,CUDA 編程變得更加簡單,GPU 也變得更快了,所以現在是時候更新 (甚至更輕松) 介紹了。 CUDA C++ 只是使用 CUDA 創建大規模并行應用程序的多種方法之一。它允許您使用功能強大的 C++ 編程語言來開發由 GPU 上運行的數千個并行線程加速的高性能算法。許多開發者都以這種方式加速了需要大量計算和帶寬的應用程序,包括支持人工智能持續革命 (即 Deep Learning ) 的庫和框架。 您聽說過 CUDA,并且有興趣學習如何在自己的應用中使用 CUDA。如果您是 C++…
Source
]]>
13841
-
借助 NVIDIA cuBLAS 12.9 提高矩陣乘法速度和靈活性
http://www.open-lab.net/zh-cn/blog/boosting-matrix-multiplication-speed-and-flexibility-with-nvidia-cublas-12-9/
Thu, 01 May 2025 07:04:57 +0000
http://www.open-lab.net/zh-cn/blog/?p=13847
Continued]]>
NVIDIA CUDA-X 數學庫助力開發者為 AI、科學計算、數據處理等領域構建加速應用。 CUDA-X 庫的兩個最重要的應用是訓練和推理 LLM,無論是用于日常消費者應用,還是用于藥物研發等高度專業化的科學領域。要在 NVIDIA Blackwell 架構上高效訓練 LLM 和執行 具有突破性性能的推理任務 ,多個 CUDA-X 庫不可或缺。 cuBLAS 是一個 CUDA-X 庫,可提供高度優化的內核,用于執行最基本的線性代數任務,例如矩陣乘法 (matmuls) ,這些任務對于 LLM 訓練和推理至關重要。 NVIDIA CUDA 工具包 12.9 中新推出的 cuBLAS 支持進一步優化 cuBLAS matmul 性能的新功能。它還通過調整浮點精度和利用模擬的基礎模組,實現了更大的靈活性,以平衡準確性和能效等需求。 本文將介紹 cuBLAS 12.9…
Source
]]>
13847
-
NVIDIA Blackwell 和 NVIDIA CUDA 12.9 引入基于系列的架構特性
http://www.open-lab.net/zh-cn/blog/nvidia-blackwell-and-nvidia-cuda-12-9-introduce-family-specific-architecture-features/
Thu, 01 May 2025 07:01:52 +0000
http://www.open-lab.net/zh-cn/blog/?p=13844
Continued]]>
最早進入 NVIDIA GPU CUDA 平臺的架構設計決策之一是支持 GPU 代碼的向后兼容性。這種設計意味著,新 GPU 應該能夠運行為之前的 GPU 編寫的程序,而無需進行修改。它由 CUDA 的兩個基本特性完成: PTX 是面向 NVIDIA GPU 的虛擬 ISA。您可以將其想象成組裝代碼,但它不限于特定的物理芯片硬件架構,其設計足夠通用,可以與未來的 GPU 架構兼容。 自 NVIDIA 創建 CUDA 平臺使開發者能夠為 GPU 編寫通用程序以來,PTX 一直是 CUDA 不可或缺的一部分。為之前的 GPU 構建的 PTX 代碼可以由當前的驅動進行 JIT 編譯,并在當前的 GPU 上運行,無需修改。 舉個例子。這是一段簡單的代碼,可打印 GPU 名稱和計算能力,還可從 GPU 內核內部打印 hello。 當我們使用 CUDA 12.8…
Source
]]>
13844
-
NVIDIA cuPyNumeric 25.03 現已完全開源,支持 PIP 和 HDF5
http://www.open-lab.net/zh-cn/blog/nvidia-cupynumeric-25-03-now-fully-open-source-with-pip-and-hdf5-support/
Wed, 23 Apr 2025 05:49:32 +0000
http://www.open-lab.net/zh-cn/blog/?p=13614
Continued]]>
NVIDIA cuPyNumeric 是一個庫,旨在為基于 Legate 框架構建的 NumPy 提供分布式和加速的插入式替換。它為多 GPU 和多節點 (MGMN) 加速計算帶來了零代碼更改擴展。 cuPyNumeric 25.03 是一次里程碑式的更新,為用戶和開發者引入了強大的新功能,并增強了可訪問性,詳情請參閱本文。 “借助 cuPyNumeric 25.03,NVIDIA 在 Apache 2 許可證下開源了支持 cuPyNumeric 的 Legate 框架和運行時層。現在,cuPyNumeric 的整個堆棧均在 Apache 2 許可證下提供。此舉符合 NVIDIA 對透明度、再現性和協作性的承諾。貢獻者現在可以毫無障礙地探索、審核、貢獻和擴展系統的任何組件。” cuPyNumeric 從一開始就支持通過 conda 進行安裝。現在,
Source
]]>
13614
-
宣布推出基于 CUDA 評估 LLM 的開源框架 ComputeEval
http://www.open-lab.net/zh-cn/blog/announcing-computeeval-an-open-source-framework-for-evaluating-llms-on-cuda/
Wed, 16 Apr 2025 05:12:10 +0000
http://www.open-lab.net/zh-cn/blog/?p=13566
Continued]]>
大語言模型 (LLMs) 正在徹底改變開發者的編碼方式和編碼學習方式。對于經驗豐富的或初級的開發者來說,如今的先進模型可以生成 Python 腳本、基于 React 的網站等。未來,強大的 AI 模型將幫助開發者編寫高性能 GPU 代碼。這就提出了一個重要問題:如何確定 LLM 是否能夠處理復雜的 CUDA 編程? ComputeEval 是一個開源框架和數據集,旨在評估 LLM 在 CUDA 代碼生成上的能力。該數據集旨在評估 LLM 在不同的并行編程領域(如內存管理和線程同步)生成正確 CUDA 代碼的能力。該框架旨在簡化對生成代碼的評估。 本文將介紹 ComputeEval 作為評估框架的工作原理、我們對先進模型的評估結果,以及它對 AI 輔助 GPU 開發的未來意味著什么。 ComputeEval 旨在專門為 CUDA 和高性能 GPU…
Source
]]>
13566
-
初創公司利用人工智能改善孕產期和新生兒護理服務
http://www.open-lab.net/zh-cn/blog/startups-use-ai-to-deliver-better-maternal-and-newborn-care/
Mon, 07 Apr 2025 06:35:51 +0000
http://www.open-lab.net/zh-cn/blog/?p=13524
Continued]]>
每年,全球有近 30 萬名女性死于因孕期或生產引起的并發癥。在出生后的第一個月內死亡的死產兒和嬰兒的數量每年超過近 400 萬。 4 月 7 日是“ 世界衛生日 ”,今年的活動重點是提高人們對努力消除可預防的孕產期和新生兒死亡的認識。 為女性和嬰兒提供更好的護理服務是一項至關重要的社會責任,從巴黎到舊金山以及介于兩者之間的任何地方的初創公司都認為 AI 可以幫助解決這一挑戰。 兩家成立于 2022 年的初創公司 (總部相距半個世界) 已開始推出 AI 解決方案,以改善女性和孕期母親的醫療保健服務。 總部位于巴黎的 BrightHeart 由兩位兒科心臟病專家創立,該公司將 AI 與醫生辦公室常見的超聲波設備相集成,支持對胎兒超聲波進行更全面、更準確的分析。 這家初創公司的平臺剛剛獲得 FDA 批準,該平臺有助于識別常規超聲波檢查經常漏掉的產前心臟缺陷。 大約 1%
Source
]]>
13524
-
了解 CUDA GPU 計算的匯編語言 PTX
http://www.open-lab.net/zh-cn/blog/understanding-ptx-the-assembly-language-of-cuda-gpu-computing/
Wed, 12 Mar 2025 06:29:58 +0000
http://www.open-lab.net/zh-cn/blog/?p=13348
Continued]]>
并行線程執行(PTX)是一種虛擬機指令集架構,從一開始就是 CUDA 的一部分。您可以將 PTX 視為 NVIDIA CUDA GPU 計算平臺的匯編語言。 在本文中,我們將解釋這意味著什么,PTX 的用途,以及您需要了解哪些內容才能在您的應用中充分利用 CUDA。我們將首先介紹 CUDA 如何生成、存儲和加載最終在 GPU 上運行的代碼。然后,我們將展示 PTX 如何實現前向兼容性,以及如何使用 PTX 讓特定領域的編程語言和其他編程語言面向 CUDA。 指令集架構(ISA)是對處理器可以執行的指令、其格式、這些指令的行為以及二進制編碼的規范。每個處理器都有 ISA。例如,x86_64 是 CPU ISA。ARM64 是另一類。GPU 也具有 ISA。對于 NVIDIA GPU,對于不同世代的 GPU,甚至是一代內不同產品線的 GPU,ISA 可能會有所不同。
Source
]]>
13348
-
優化 CUDA C++ 編譯時間
http://www.open-lab.net/zh-cn/blog/optimizing-compile-times-for-cuda-c/
Mon, 10 Mar 2025 08:58:34 +0000
http://www.open-lab.net/zh-cn/blog/?p=13121
Continued]]>
在現代軟件開發中,時間是非常寶貴的資源,尤其是在編譯過程中。對于在大規模 GPU 加速應用程序上使用 CUDA C++的開發者而言,優化編譯時間可以顯著提高工作效率并簡化整個開發周期。 使用 編譯器進行離線編譯時,高效的編譯時間使您能夠快速構建代碼并保持勢頭。在使用 nvrtc 的即時 (JIT) 編譯環境中,最小化編譯時間有助于減少執行或運行時延遲,并提高應用程序性能。如果您在實時系統或交互式應用程序上工作,您將從盡可能快的編譯時間中受益匪淺。 理解編譯瓶頸的來源并不總是那么簡單。CUDA 編譯過程十分復雜,因為編譯器會對代碼執行各種優化和轉換,幾乎看不到代碼的哪些部分需要很長時間才能編譯。 例如,看似簡單的代碼行可能會觸發復雜的模板實例化,從而導致其他模板的遞歸擴展,進而消耗過多的編譯時間。如果不清楚幕后發生了什么,您就不知道編譯時間較長的根本原因是什么,
Source
]]>
13121
-
使用 Numba 將 GPU 加速的算法交易模擬提高 100 多倍
http://www.open-lab.net/zh-cn/blog/gpu-accelerate-algorithmic-trading-simulations-by-over-100x-with-numba/
Tue, 04 Mar 2025 05:53:40 +0000
http://www.open-lab.net/zh-cn/blog/?p=13140
Continued]]>
量化開發者需要運行回測模擬,以便從損益(P&L)的角度了解金融算法的表現。統計技術對于根據可能的損益路徑可視化算法的可能結果非常重要。GPU 可以大大減少執行此操作所需的時間。 從更廣泛的角度來看,金融市場的數學建模是一種實踐,可以追溯到榮獲諾貝爾獎的 Black-Scholes 模型 (1973 年)。它在當時是革命性的,從那時起就影響了資本市場。統計 Monte Carlo 模擬的方法是表示使用 Brownian motion 模型可實現的價格路徑,該方法涉及根據市場在檢查市場微觀結構時的行為方式定制的自定義模型。 本文介紹了適用于金融市場市場參與者的硬件加速研究。市場參與者可以是: 這些市場參與者都在全球的交易所中開展協作,在這些交易所中,有一套關于價格、交易量和時間的非常具體的規則,稱為交易證券的動態訂單薄。 由于定價數據龐大且執行速度快,
Source
]]>
13140
-
NVIDIA cuDSS 提高工程和科學計算中的求解器技術
http://www.open-lab.net/zh-cn/blog/nvidia-cudss-advances-solver-technologies-for-engineering-and-scientific-computing/
Tue, 25 Feb 2025 08:54:08 +0000
http://www.open-lab.net/zh-cn/blog/?p=13042
Continued]]>
NVIDIA cuDSS 是第一代稀疏直接求解器庫,旨在加速工程和科學計算。cuDSS 正越來越多地應用于數據中心和其他環境,并支持單 GPU、多 GPU 和多節點(MGMN)配置。 cuDSS 已成為加速多個領域 (例如結構工程、流體動力學、電磁學、電路模擬、優化和 AI 輔助工程問題) 的計算機輔助工程 (CAE) 工作流程和科學計算的關鍵工具。 本文重點介紹了 cuDSS v0.4.0 和 cuDSS v0.5.0 中提供的一些關鍵性能和可用性功能 (如表 1 中總結的內容),cuDSS v0.4.0 可顯著提升分解和求解步驟的性能,同時還引入了一些新功能,包括內存預測 API、自動混合內存選擇和可變批量支持。cuDSS v0.5.0 增加了主機執行模式,這對較小的矩陣特別有利,并且在分析階段使用混合內存模式和主機多線程實現了顯著的性能提升,
Source
]]>
13042
-
適用于 RHEL9 的 NVIDIA 開放 GPU 數據中心驅動,由 Red Hat 簽署
http://www.open-lab.net/zh-cn/blog/nvidia-open-gpu-datacenter-drivers-for-rhel9-signed-by-red-hat/
Mon, 10 Feb 2025 04:07:54 +0000
http://www.open-lab.net/zh-cn/blog/?p=12853
Continued]]>
NVIDIA 和 Red Hat 合作,對 2020 年推出的預編譯 NVIDIA Driver 進行持續改進。上個月,NVIDIA 宣布 ,開放的 GPU 驅動模組將成為啟用 NVIDIA 圖形硬件的默認推薦方式。 今天,NVIDIA 宣布 Red Hat 正在編譯并簽署 NVIDIA 開放 GPU 內核模塊 ,以進一步簡化 Red Hat Enterprise Linux 9 操作系統的使用,并為在數據中心使用 NVIDIA 硬件支持 機密計算 提供前進方向。 現在無需任何額外的密鑰注冊配置即可安裝和使用經過簽名的開放 GPU 驅動。與當前的舊版預編譯軟件包一樣,在驅動更新時僅支持最新的 RHEL 9 內核。 從 RHEL 9.5 開始,NVIDIA 現在提供技術預覽庫,可在 2025 年 4 月 30 日之前試用。此庫允許使用 模塊化流使 用開放式 GPU…
Source
]]>
12853
-
AI 基礎模型增強癌癥診斷并實現個性化治療
http://www.open-lab.net/zh-cn/blog/ai-foundation-model-enhances-cancer-diagnosis-and-tailors-treatment/
Tue, 04 Feb 2025 04:44:52 +0000
http://www.open-lab.net/zh-cn/blog/?p=12883
Continued]]>
斯坦福大學研究人員的一項新研究和 AI 模型正在簡化癌癥診斷、治療規劃和預后預測。這項名為 MUSK (Multimodal transformer with Unified maSKed modeling) 的研究旨在提高精準腫瘤學,根據每位患者獨特的醫療數據為其定制治療計劃。 “多模態基礎模型是醫學 AI 研究的新領域,”放射腫瘤學副教授兼研究高級作者 Ruijiang LI 說。“最近,我們為醫學領域開發了視覺語言基礎模型,尤其是在病理學領域。但是,現有研究使用的現有基礎模型需要配對的圖像 – 文本數據進行預訓練。盡管我們付出了大量努力,最終打造出 1M 病理圖像文本對,但它仍然不足以完全捕捉整個疾病譜系的多樣性。” 在考慮患者狀況和規劃最佳治療方案時,腫瘤科醫生依靠多種數據源。然而,醫生和 AI 模型仍然難以集成和解釋復雜的醫療數據。
Source
]]>
12883
-
CUDA 工具包現已支持 NVIDIA Blackwell 架構
http://www.open-lab.net/zh-cn/blog/cuda-toolkit-12-8-delivers-nvidia-blackwell-support/
Fri, 31 Jan 2025 04:55:11 +0000
http://www.open-lab.net/zh-cn/blog/?p=12892
Continued]]>
CUDA 工具包 的最新版本 (版本 12.8) 使用最新的 NVIDIA CPU 和 GPU,持續提升數據科學、AI、科學計算以及計算機圖形和模擬領域的加速計算性能。本文重點介紹了此版本包含的一些新功能和增強功能: CUDA 工具包 12.8 是該工具包的第一個版本,在整個開發者工具套件 (包括性能工具和分析器、庫和編譯器) 中支持 NVIDIA Blackwell 架構。Blackwell 由 208 億個晶體管構建而成,是 NVIDIA Hopper GPU 中晶體管數量的 2.5 倍以上,是迄今為止最大的 GPU。 Blackwell 支持的主要功能包括:Key Blackwell 如需詳細了解 NVIDIA Blackwell 的領先創新,請參閱 NVIDIA Blackwell 架構技術概覽。 借助 Blackwell,
Source
]]>
12892
-
CUDA 運行時中的動態加載機制
http://www.open-lab.net/zh-cn/blog/dynamic-loading-in-the-cuda-runtime/
Fri, 31 Jan 2025 04:52:19 +0000
http://www.open-lab.net/zh-cn/blog/?p=12889
Continued]]>
過去,我們使用 等離線工具將 GPU 設備代碼與應用程序一起編譯。在這種情況下,GPU 設備代碼在 CUDA 運行時內部進行管理。然后,您可以使用 啟動內核,并且 CUDA 運行時可確保啟動所調用的內核。 但是,在某些情況下,需要動態編譯和加載 GPU 設備代碼。本文介紹了使用 CUDA 運行時實現此目標的方法,同時還展示了在 CUDA 驅動程序和 CUDA 運行時核句柄之間實現互操作性的方法。 在 CUDA 12.0 中,NVIDIA 通過 CUDA 驅動引入了 APIs。這些 APIs 使您能夠以與上下文無關的方式動態選擇和加載 GPU 設備代碼。有關更多信息,請參閱 CUDA Context-Independent Module Loading 。 現在,我們將此功能擴展為通過 CUDA 運行時加載動態 GPU 設備代碼,
Source
]]>
12889
人人超碰97caoporen国产