PyTorch 的 CUDA GPU 支持 · 安裝五條鐵律(最新版 2025 修訂)(適用于所有用戶)-CSDN博客
是否需要預先安裝 CUDA Toolkit?——按使用場景分級推薦及進階說明-CSDN博客?
“100% 成功的 PyTorch CUDA GPU 支持” 安裝攻略_torch cuda 安裝-CSDN博客?
🚀【CUDA GPU 支持安裝全攻略】PyTorch 深度學習開發者指南
面向對象:初學者、研究人員、生產部署人員
適用平臺:Windows / Linux / WSL / 容器環境等全平臺支持
📌 一、環境準備與平臺說明
無論你使用的是 Windows、Linux 還是 WSL,使用 PyTorch 支持 GPU 的前提都是:
-
安裝并正確配置 NVIDIA 顯卡驅動
-
系統支持 CUDA GPU
-
PyTorch 安裝包使用了合適的 CUDA 后端版本
平臺 | GPU 驅動安裝方式 | 推薦系統 |
---|---|---|
Windows | 安裝 NVIDIA 官方驅動 .exe | Windows 10/11 x64 |
Linux | 使用包管理器(如 apt/dnf)或 .run 安裝包 | Ubuntu / Fedora / RHEL |
WSL2 | Windows 端驅動統一控制 GPU,WSL 子系統只需更新內核支持 | Ubuntu on WSL2 |
我們推薦使用 WSL2 + Ubuntu 22.04 的組合,在 Windows 上也能獲得 Linux 級別的性能和兼容性。
📌 二、NVIDIA 驅動安裝與 GPU 驗證
驅動是 CUDA 的基礎,必須先裝好!
? 驅動安裝完畢后,請執行:
nvidia-smi
?
確認輸出類似以下內容:
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 576.02 Driver Version: 576.02 CUDA Version: 12.9 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Driver-Model | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3090 WDDM | 00000000:01:00.0 Off | N/A |
| 0% 46C P8 21W / 350W | 10246MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
📌 三、CUDA 與 cuDNN 版本對應關系
支持矩陣 — NVIDIA cuDNN 后端
一般情況下無需手動安裝 CUDA Toolkit 或 cuDNN(除非你要編譯源碼或開發底層 CUDA 程序)。但理解版本兼容很重要。
?
CUDA 版本 | 支持的 cuDNN 版本 | PyTorch 支持狀態 |
---|---|---|
12.1 | cuDNN 9.x | ? 支持 |
11.8 | cuDNN 8.6.x | ? 支持 |
11.7 | cuDNN 8.5.x | ? 支持 |
11.6 | cuDNN 8.4.x | ? 支持 |
≤11.3 | 已過時 | ? 不建議使用 |
📎 PyTorch 的安裝包已經包含了 runtime 所需的 cudart + cuDNN 動態庫,無需重復安裝!
📌 四、PyTorch 與 CUDA 的兼容性(選版本必看)
請始終通過 PyTorch 官網獲取與當前驅動兼容的 PyTorch + CUDA 對組合版本。
🎯 舉例:常用組合參考
PyTorch 版本 | CUDA 后端 | pip 安裝命令 |
---|---|---|
2.2.x | cu121 | pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 |
2.1.x | cu118 | --index-url https://download.pytorch.org/whl/cu118 |
1.13.x | cu117 | --index-url https://download.pytorch.org/whl/cu117 |
如需安裝 CPU 版本,可直接:
pip install torch torchvision torchaudio
📌 五、PyTorch 安裝方式詳解
? 推薦方式一:pip 安裝(適用所有平臺)
# 安裝 CUDA 12.1 后端版本
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
? 推薦方式二:conda 安裝(適用 Anaconda 環境)
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
?? 源碼編譯(進階用戶專用)
用于自定義構建 PyTorch 或開發自定義 CUDA 內核的情況,需要:
CUDA 工具包 12.9 Update 1 下載 |NVIDIA 開發人員?
?
?cuDNN 9.10.2 下載 |NVIDIA 開發人員
?
-
安裝 CUDA Toolkit 與 cuDNN
-
設置環境變量
CUDA_HOME ( CUDA12.6+ 之后會自動處理環境變量的設置)
-
使用
python setup.py install
編譯
📌 六、GPU 環境驗證步驟(安裝完成后必須執行)
import torch # 導入 PyTorch 庫print("PyTorch 版本:", torch.__version__) # 打印 PyTorch 的版本號# 檢查 CUDA 是否可用,并設置設備("cuda:0" 或 "cpu")
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print("設備:", device) # 打印當前使用的設備
print("CUDA 可用:", torch.cuda.is_available()) # 打印 CUDA 是否可用
print("cuDNN 已啟用:", torch.backends.cudnn.enabled) # 打印 cuDNN 是否已啟用# 打印 PyTorch 支持的 CUDA 和 cuDNN 版本
print("支持的 CUDA 版本:", torch.version.cuda)
print("cuDNN 版本:", torch.backends.cudnn.version())# 創建兩個隨機張量(默認在 CPU 上)
x = torch.rand(5, 3)
y = torch.rand(5, 3)# 將張量移動到指定設備(CPU 或 GPU)
x = x.to(device)
y = y.to(device)# 對張量進行逐元素相加
z = x + y# 打印結果
print("張量 z 的值:")
print(z) # 輸出張量 z 的內容
終端驗證(用于確認驅動狀態):
nvidia-smi
📌 七、多 GPU 或指定 GPU 的使用方式
PyTorch 支持多 GPU,只需通過索引編號設置:
device = torch.device("cuda:0") # 使用第一張 GPU
model.to(device)
遍歷所有 GPU 名稱:
for i in range(torch.cuda.device_count()):print(f"GPU {i}: {torch.cuda.get_device_name(i)}")
推薦使用 torch.nn.DataParallel
或 torch.distributed
進行多卡訓練。
📌 八、性能測試與環境診斷(可選)
運行以下腳本測試矩陣乘法性能(浮點運算):
import torch
import timex = torch.rand(5000, 5000, device='cuda')
y = torch.rand(5000, 5000, device='cuda')torch.cuda.synchronize()
start = time.time()for _ in range(10):z = x @ ytorch.cuda.synchronize()
print("10 次 matmul 用時:", time.time() - start, "秒")
? 總結回顧
我們建議按以下順序執行:
-
安裝 GPU 驅動,確認
nvidia-smi
正常 -
安裝 PyTorch 對應 CUDA 后端版本(官網推薦為準)
-
驗證 GPU 是否可用(
torch.cuda.is_available()
) -
如果需要,自定義 GPU 編號、管理多 GPU 環境
-
可選進行性能基準測試或深度模型推理測試