BLOG

什麼是 CUDA 核心?它們是如何運作的?

更新

  此頁面由 DeepL 自動翻譯。 Switch to English

CUDA 核心是NVIDIA GPU內部的一種微型運算單元,負責處理圖形與平行運算的繁重工作。 每個核心都位於一個稱為「串流多處理器」(Streaming Multiprocessor,簡稱 SM)的較大模組內,而在現代的 GeForce「Blackwell」GPU 上,每個 SM 包含128 個 CUDA 核心。這就是為什麼您會在RTX 5090 上看到總計 21,760 個 CUDA 核心的數值。這顆晶片單純擁有許多 SM,而每個 SM 都塞滿了這些核心。

CUDA(NVIDIA 的平行運算平台)是這項技術的軟體層面:它讓應用程式和框架能夠將渲染、人工智慧、模擬等大規模平行運算任務高效地傳送至這些核心

CUDA 核心是如何運作的?

不妨將 GPU 視為一座專為處理大批量任務而設計的工廠。CUDA 核心透過稱為「warp」的 32 個執行緒群組來處理工作,這些執行緒會對不同的資料執行相同的指令(NVIDIA 將此模型稱為SIMT)。這正是 GPU 能夠同時處理數千項運算的原理。每個 SM 都配備調度器,能讓多個 warp 持續運行,藉此掩蓋記憶體延遲並確保這些核心保持忙碌狀態。

一個有用的心象:

  • CUDA 核心= 一個獨立的工作單元(執行加法、乘法等算術運算)。
  • SM= 一個具備專屬調度器、快取、特殊功能單元、Tensor Core 等元件的運算單元。
  • GPU= 整個工廠,其中有許多 SM 並行運作。

CUDA 核心與 CPU 核心(及其他 GPU 核心)的比較

  • 並非 CPU 核心:CUDA 核心是一種針對吞吐量進行優化的簡易算術通道,而非經過延遲調校的大型通用 CPU 核心。GPU 透過讓大量這類小型通道協同運作來實現效能擴展。(CUDA 的程式設計指南中對此種以吞吐量為導向的設計有詳細說明。)
  • 與專用的 GPU 核心不同:
    • 張量核心(Tensor Cores)是矩陣運算引擎,能大幅提升 AI/ML 以及 DLSS 等功能的效能;
    • RT 核心可加速光線追蹤(BVH 遍歷、光線/三角形檢測)。

這些會將特定任務卸載出去,讓 CUDA 核心能專注於著色/運算

圖片來源:NVIDIA

更多的 CUDA 核心是否總是代表更高的效能?

通常是這樣,但並非僅靠核心數量就能決定。架構設計至關重要。例如,NVIDIA 的 Ampere 世代相較於 Turing,每 SM 的 FP32 吞吐量翻了一倍,因此「每核心」的效能表現在不同世代之間有所變化。Ada 架構也大幅擴充了快取(尤其是 L2 快取),這使得無需增加核心數量,便能提升許多工作負載的效能。簡而言之:比較不同世代間的 CUDA 核心數量,並非「同等條件下的比較」。

其他主要變動因素:

  • 時脈速度與功耗餘裕(核心的運作速度)。
  • 記憶體頻寬與快取大小(為處理核心提供資料)。
  • Tensor/RT 核心的運用(將 AI 和光線追蹤的運算從 CUDA 核心移出)。
  • 驅動程式與軟體(應用程式透過 CUDA 運用 GPU 的效能)。

在實際應用中,CUDA 核心究竟發揮什麼作用?

  • 遊戲/圖形處理:它們在後台執行著著色器程式(頂點、像素、運算)。光線追蹤核心負責處理繁重的光線追蹤步驟;而 CUDA 核心則仍負責處理大量與此相關的著色與運算工作。
  • 內容創作與模擬:物理演算器、降噪器、渲染核心、影片特效等,其中許多都是為了充分利用 CUDA 的平行運算模型而開發的。
  • AI/ML:張量運算交由張量核心處理,但仍有大量的前處理、後處理及非矩陣運算工作,仍由 CUDA 核心執行。

我需要多少個 CUDA 核心?

一個實用的經驗法則:

  • 高幀率 1080p–1440p 遊戲:應綜合考量整個 GPU(架構、時脈、記憶體、RT/Tensor 功能),而不僅僅是核心數量。效能測試結果比單純的數字更為重要。
  • 4K 或高強度光線追蹤:您將受益於更多的 SM/CUDA 核心與強大的 RT/Tensor 運算單元,以及更充裕的頻寬和快取。
  • AI/運算:核心數量固然有助益,但Tensor Core 效能、VRAM 容量以及記憶體頻寬往往是決定吞吐量的關鍵因素。

若想快速確認規格是否合理,RTX 5090 標示的CUDA 核心數為 21,760 個,這顯示了 NVIDIA 是如何將每個 SM 中的核心數加總至多個 SM 中的。但同樣地,效能的提升源自於整體設計,而非單純取決於核心數量。

圖片來源:NVIDIA

我需要特殊的軟體或連接線嗎?(CUDA 版的「4K HDMI」)

您不需要特殊的連接線,但確實需要正確的軟體堆疊。CUDA 是 NVIDIA 的平台;應用程式是透過驅動程式、工具包和函式庫來使用它的。許多熱門的應用程式和框架都已預先設計為能利用 CUDA 加速功能,只要安裝好 NVIDIA 驅動程式以及(如有需要)CUDA 工具包,受支援的應用程式便會……直接使用它

哪些 GPU 支援 CUDA?

CUDA 可在各產品線中支援 CUDA 的 NVIDIA GPU上運行(包括用於遊戲與創作的 GeForce/RTX、專業級 RTX,以及資料中心 GPU)。程式設計指南指出,該模型可跨多代 GPU 及多種 SKU 進行擴展;NVIDIA 提供一份支援 CUDA 的 GPU 清單及其運算能力資訊。

CUDA 核心與「著色器核心」是一樣的嗎?


在日常的 GPU 討論中,是的,就 NVIDIA GPU 而言,「CUDA 核心」指的是每個 SM 內部用於著色和一般運算的可程式化 FP32/INT32 算術邏輯單元(ALU)。



為什麼不同世代的 CUDA 核心數量差異如此之大?


因為架構會不斷演進。Ampere 改變了 FP32 資料路徑(每時脈週期可處理更多工作量),而 Ada 則徹底改組了快取機制,使得效能不再隨核心數呈線性增長。



「經線」到底是什麼來著?


由32 個執行緒組成的群組,這些執行緒在 SM 上以同步方式執行。應用程式會啟動數千個執行緒;GPU 會將它們排程為「warp」,以確保硬體持續運作。



CUDA 核心對人工智慧有幫助嗎?


是的,但現代人工智慧的主要加速器是Tensor Cores。在這些處理管線中,CUDA 核心仍負責處理許多周邊工作。



Stay up to date with CORSAIR. Get our latest News, Guides, and Product Updates in your Google feeds.

Add CORSAIR as a preferred source

JOIN OUR OFFICIAL CORSAIR COMMUNITIES

Join our official CORSAIR Communities! Whether you're new or old to PC Building, have questions about our products, or want to chat about the latest PC, tech, and gaming trends, our community is the place for you.

Was this article helpful?