關於GPU顯卡TFLOPS指標介紹和CUDA Toolkit下載安裝教學
CUDA 是 NVIDIA 的 GPU 技術,讓開發者運用並管理 NVIDIA GPU 大規模平行運算能力的技術與程式設計模型。
但 CUDA 本身不等於平行處理,平行處理是一種概念;CUDA 則提供技術與程式設計模型,幫助開發者使用並管理 GPU 的運算資源。
CPU 能運算大量資料,但資源較少: CPU 可以處理數百萬甚至數十億次計算,只是執行資源相對有限,因此大量工作可能耗時較久。至於GPU 則相對擅長大量同類型計算,GPU 應用廣泛,但需要有效調度。涵蓋到遊戲、科學模擬、人工智慧與影像處理等工作都需要大量計算。
- 一般市面上顯卡,會用TFLOPS(Tera Floating Point Operations Per Second)這個指標來衡量GPU浮點運算能力。代表每秒可以執行多少萬億(10^12)次浮點運算。
- 常見的浮點數精度有半精度(FP16)、單精度又被稱作全精度(FP32、TF32)、雙精度(FP64),基本上分別代表16位浮點數、32位浮點數、64位浮點數。在計算機科學中,浮點數的儲存方式主要是由三個部分所組成,分別是符號位元(sign)、指數位元(exponent)和小數位元(fraction, 理解成小數點後的數),可以參照IEEE 754。
- 以固定FP32指標來看
- 像是2016年NVIDIA GeForce GTX 1050顯卡,只支援到1.862 TFLOPS
- 到了2020年NVIDIA GeForce RTX 3070,短短四年時間就支援到20.31 TFLOPS。
- 2022年10月的NVIDIA GeForce RTX 4090,則已經能支援高達82.58 TFLOPS。
- 2025年1月的NVIDIA GeForce RTX 5090,又進步到了能支援104.8 TFLOPS。
從 NVIDIA GPU 的 FP32(32 位元單精度浮點運算)理論運算效能來看,2016 年 GeForce GTX 1050 僅有 1.862 TFLOPS,到了 2025 年 GeForce RTX 5090 已提升至 104.8 TFLOPS,短短 9 年間,理論運算能力成長約 56.3 倍,從中即可得知 GPU 硬體運算效能有顯著進步。
- CUDA(Compute Unified Device Architecture) 是 NVIDIA 開發的一套平行運算平台與程式設計模型,底層是用 C/C++ 所實作,允許開發者撰寫程式碼,並將運算密集的任務交由 GPU(圖形處理器) 處理。
- CUDA Toolkit是NVIDIA 提供的 GPU 平行運算開發工具包。
- CUDA 提供一組 API,可以讓像 Python、C++ 等高階語言編寫的程式,透過 CUDA 將資料與任務分派到 GPU 執行。
- 當 Python 呼叫如 TensorFlow、PyTorch 等深度學習框架中的 GPU 運算時,其實是透過這些框架內部的 CUDA binding,間接地呼叫 CUDA API 來執行。
當我們電腦尚未安裝 CUDA Toolkit,透過指令nvcc --version確認就會顯示以下輸出。
https://www.tensorflow.org/install/pip#windows-native
官方也特別公告出來,針對Windows原生平台,TensorFlow 2.10 是最後一個支援在 Windows 原生環境使用 GPU 的 TensorFlow 版本。從 TensorFlow 2.11 開始之後版本,需要改用 WSL2 執行 GPU 版本。
CUDA Toolkit Archive
可以在windows電腦環境搜尋NVDIA Control Panel
這邊會顯示NVDIA CUDA的driver版本號資訊
比方在這邊下圖反黃部分就是「顯卡最高支援的 CUDA 版本」
則會顯示更多驅動程式類型、版本等資訊
在Nvdia的官網也有特別GPU計算的顯卡相容對照表(Data Center、Workstation...)
- CUDA GPU Compute Capability
https://developer.nvidia.com/cuda/gpus - Legacy CUDA GPU Compute Capability
https://developer.nvidia.com/cuda/gpus/legacy
顯卡驅動程式與 CUDA 的版本對應查找
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#id8
Table 3 CUDA Toolkit and Minimum Required Driver Version for CUDA Minor Version Compatibility
Table 4 Corresponding Driver Versions (CUDA 12.9 and earlier)
當然也可透過cmd指令方式確認NVIDIA版本
可以下指令nvidia-smi
顯示卡驅動版本為:Driver Version: 462.62,CUDA 的版本為:CUDA Version 11.2。因此能安裝的Cuda最高版本是11.2,也可以安裝11.2以下版本。
當調查完後,即可根據顯示卡的驅動與CUDA版本對應關係去選擇要裝的CUDA。
CUDA Toolkit下載安裝連結
所以以下這些11.2以下版本,都可以下載安裝。
CUDA Toolkit 11.2.2 (March 2021)
https://developer.nvidia.com/cuda-11.2.2-download-archive?target_os=Windows&target_arch=x86_64
https://docs.nvidia.com/cuda/archive/11.2.2/cuda-installation-guide-microsoft-windows/index.html#system-requirements
https://docs.nvidia.com/cuda/archive/11.2.2/cuda-toolkit-release-notes/index.html
CUDA Toolkit 11.2.1 (February 2021)
https://docs.nvidia.com/cuda/archive/11.2.1/cuda-installation-guide-microsoft-windows/index.html#system-requirements
https://docs.nvidia.com/cuda/archive/11.2.1/cuda-toolkit-release-notes/index.html
CUDA Toolkit 11.2 Downloads(December 2020)
CUDA Toolkit 11.1.1 (October 2020)
CUDA Toolkit 11.1.0 (September 2020)
如果是不能安裝的版本,比方剛好分水嶺來到11.3
CUDA Toolkit 11.3.0 (April 2021)
https://developer.nvidia.com/cuda-11.3.0-download-archive?target_os=Windows
這邊會顯示Toolkit Driver Version,也就是該 Toolkit 發行時搭配的驅動版本。
Minimum Required Driver Version,代表CUDA 次版本相容模式下的最低驅動需求。
Windows x86_64 Driver Version,代表Windows 作業系統驅動版本。
以目前的 RTX 3070 Laptop GPU、NVIDIA Driver 462.62,建議最高上限就安裝到 CUDA Toolkit 11.2.2,不需要使用 CUDA 11.3.0 的次版本相容機制,也沒有必要冒額外的相容性風險。
而在Tensorflow官方說明文件,可觀測到適配性較好的組合
是 Python 3.7–3.10、CUDA 11.2、cuDNN 8.1。
Ref:
超详细 CUDA 安装与卸载教程(图文教程)
在win11安裝CUDA教學
一文講清楚CUDA
淺談DeepLearning的浮點數精度FP32/FP16/TF32/BF16........(以LLM為例)
















留言
張貼留言