在 WSL-NVIDIA-Workbench(NVIDIA AI Workbench & Ubuntu 22.04)中
安裝 Anaconda、CUDA 13.0、cuDNN 9.12 及 PyTorch
?
步驟也可參閱:
在WSL2-Ubuntu中安裝Anaconda、CUDA13.0、cuDNN9.12及PyTorch(含完整環境驗證)-CSDN博客
【筆記】NVIDIA AI Workbench 安裝記錄_NVIDIA AI Workbench使用指南-CSDN博客
【深度學習環境搭建】WSL-NVIDIA-Workbench 中安裝 Anaconda-CSDN博客
【筆記】NVIDIA AI Workbench 中 sudo 密碼問題排查與解決_[sudo] password for-CSDN博客
【筆記】NVIDIA AI Workbench 中安裝 CUDA 12.9_cuda12.9安裝-CSDN博客
【筆記】NVIDIA AI Workbench 中安裝 cuDNN 9.10.2_apt安裝cudnn-CSDN博客
【筆記】NVIDIA AI Workbench 中安裝 PyTorch_pytorch 2.8.0-CSDN博客
0 環境說明
項目 | 實際值 & 關鍵說明 |
---|---|
發行版 | NVIDIA-Workbench(WSL2-Ubuntu 22.04 純凈鏡像,無預裝 Python、Anaconda、CUDA 依賴) |
宿主驅動與 CUDA 兼容性 | 宿主 Windows 安裝?NVIDIA 驅動 581.08(通過?nvidia-smi ?檢測),該驅動原生支持?CUDA 13.0(nvidia-smi ?顯示 CUDA Version: 13.0,即驅動最高兼容 CUDA 13.0) |
目標 | 在 NVIDIA-Workbench 中(NVIDIA AI Workbench)安裝并啟用 CUDA 13.0 全鏈路(驅動匹配,無需降級適配,PyTorch 可直接調用兼容的 CUDA 版本) |
1 首次更新系統
sudo apt update && sudo apt upgrade -y
- 命令作用:更新系統軟件源及依賴庫,避免后續安裝時因依賴缺失導致失敗
- 預期輸出(只截取了部分關鍵片段):
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
...
Fetched 21.8 MB in 8s (2684 kB/s)
77 upgraded, 46 newly installed, 0 to remove and 9 not upgraded.
...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
2 安裝 Anaconda(保持不變,補充下載校驗)
2.1 下載并執行安裝腳本
cd /tmp
# 下載 Anaconda 3 2025.07 穩定版(適配 Python 3.12)
wget https://repo.anaconda.com/archive/Anaconda3-2025.07-Linux-x86_64.sh
# 執行安裝(按提示輸入 yes 并確認路徑)
bash Anaconda3-2025.07-Linux-x86_64.sh
- 關鍵交互:最終提示?
Do you wish the installer to initialize Anaconda3?
?時輸入?yes,其他交互默認按 回車 鍵確認并繼續即可,最新版本一般無須過多干預。
2.2 驗證安裝
source ~/.bashrc
conda --version
- 預期輸出:
conda 25.07.1
3 安裝 CUDA Toolkit 13.0
CUDA 與 cuDNN 免登錄下載政策詳解(基于官方權威信息)_cudnn下載-CSDN博客
CUDA Toolkit 13.0 Downloads | NVIDIA Developer
3.1 復制?NVIDIA 官網安裝命令
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-13-0
3.2 安裝 CUDA 13.0 工具包
在?NVIDIA-Workbench 終端中粘貼全部命令并按 回車 鍵執行:
- 預期輸出:
(base) workbench@AI:/mnt/f/PythonProjects/SkyReels-V2$ wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-13-0
--2025-08-29 19:20:07-- https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
Connecting to 127.0.0.1:7897... connected.
Proxy request sent, awaiting response... 200 OK
Length: 4328 (4.2K) [application/x-deb]
Saving to: ‘cuda-keyring_1.1-1_all.deb’cuda-keyring_1.1-1_all.deb 100%[===========================================================================================================================================================================================>] 4.23K --.-KB/s in 0s 2025-08-29 19:20:10 (1.90 GB/s) - ‘cuda-keyring_1.1-1_all.deb’ saved [4328/4328]
……省略
配置環境變量
# 追加 CUDA 環境變量至 bash 配置文件(永久生效)
echo 'export CUDA_HOME=/usr/local/cuda-13.0' >> ~/.bashrc
echo 'export PATH=$CUDA_HOME/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$CONDA_PREFIX/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc# 驗證環境變量
echo $CUDA_HOME
- 預期輸出:
/usr/local/cuda-13.0
3.3 驗證 CUDA 工具包安裝
nvcc --version# 或
nvcc -V
- 預期輸出(顯示 CUDA 13.0?編譯器版本):
(base) workbench@AI:/mnt/f/PythonProjects/SkyReels-V2$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Wed_Jul_16_07:30:01_PM_PDT_2025
Cuda compilation tools, release 13.0, V13.0.48
Build cuda_13.0.r13.0/compiler.36260728_0
4 安裝 cuDNN 9.12
CUDA 深度神經網絡庫 (cuDNN) | NVIDIA 開發者
conda install nvidia::cudnn cuda-version=13
或
conda install nvidia::cudnn=9.12 cuda-version=13
- 預期輸出(顯示 cuDNN 相關庫文件):
(base) workbench@AI:/mnt/f/PythonProjects/SkyReels-V2$ conda install nvidia::cudnn cuda-version=13
Channels:- defaults- nvidia
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done## Package Plan ##environment location: /home/workbench/anaconda3added / updated specs:- cuda-version=13- nvidia::cudnnThe following packages will be downloaded:package | build---------------------------|-----------------ca-certificates-2025.7.15 | h06a4308_0 126 KBcertifi-2025.8.3 | py312h06a4308_0 159 KBconda-24.11.3 | py312h06a4308_0 1.1 MBcuda-nvrtc-13.0.48 | h432ef4e_0 65.3 MB nvidiacuda-version-13.0 | 3 17 KB nvidiacudnn-9.12.0.46 | ha5d3b03_0 13 KB nvidialibcublas-13.0.0.19 | h49e6dd0_0 374.7 MB nvidialibcudnn-9.12.0.46 | h97f9646_0 276.1 MB nvidialibcudnn-dev-9.12.0.46 | ha5d3b03_0 37 KB nvidiaopenssl-3.0.17 | h5eee18b_0 5.2 MB------------------------------------------------------------Total: 722.8 MBThe following NEW packages will be INSTALLED:cuda-nvrtc nvidia/linux-64::cuda-nvrtc-13.0.48-h432ef4e_0 cuda-version nvidia/noarch::cuda-version-13.0-3 cudnn nvidia/linux-64::cudnn-9.12.0.46-ha5d3b03_0 libcublas nvidia/linux-64::libcublas-13.0.0.19-h49e6dd0_0 libcudnn nvidia/linux-64::libcudnn-9.12.0.46-h97f9646_0 libcudnn-dev nvidia/linux-64::libcudnn-dev-9.12.0.46-ha5d3b03_0 The following packages will be UPDATED:ca-certificates 2024.9.24-h06a4308_0 --> 2025.7.15-h06a4308_0 certifi 2024.8.30-py312h06a4308_0 --> 2025.8.3-py312h06a4308_0 conda 24.9.2-py312h06a4308_0 --> 24.11.3-py312h06a4308_0 openssl 3.0.15-h5eee18b_0 --> 3.0.17-h5eee18b_0 Proceed ([y]/n)? yDownloading and Extracting Packages:Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(base) workbench@AI:/mnt/f/PythonProjects/SkyReels-V2$ conda list | grep cudnn # 輸出“cudnn 9.12.0.46 h2b6041c_0 nvidia”
cudnn 9.12.0.46 ha5d3b03_0 nvidia
libcudnn 9.12.0.46 h97f9646_0 nvidia
libcudnn-dev 9.12.0.46 ha5d3b03_0 nvidia
nvidia-cudnn-cu12 9.8.0.87 pypi_0 pypi
(base) workbench@AI:/mnt/f/PythonProjects/SkyReels-V2$ ls $CONDA_PREFIX/lib/libcudnn* # 顯示libcudnn.so、libcudnn_static.a等文件
/home/workbench/anaconda3/lib/libcudnn.so /home/workbench/anaconda3/lib/libcudnn_adv.so.9.12.0 /home/workbench/anaconda3/lib/libcudnn_engines_precompiled.so.9 /home/workbench/anaconda3/lib/libcudnn_graph.so /home/workbench/anaconda3/lib/libcudnn_heuristic.so.9.12.0
/home/workbench/anaconda3/lib/libcudnn.so.9 /home/workbench/anaconda3/lib/libcudnn_cnn.so /home/workbench/anaconda3/lib/libcudnn_engines_precompiled.so.9.12.0 /home/workbench/anaconda3/lib/libcudnn_graph.so.9 /home/workbench/anaconda3/lib/libcudnn_ops.so
/home/workbench/anaconda3/lib/libcudnn.so.9.12.0 /home/workbench/anaconda3/lib/libcudnn_cnn.so.9 /home/workbench/anaconda3/lib/libcudnn_engines_runtime_compiled.so /home/workbench/anaconda3/lib/libcudnn_graph.so.9.12.0 /home/workbench/anaconda3/lib/libcudnn_ops.so.9
/home/workbench/anaconda3/lib/libcudnn_adv.so /home/workbench/anaconda3/lib/libcudnn_cnn.so.9.12.0 /home/workbench/anaconda3/lib/libcudnn_engines_runtime_compiled.so.9 /home/workbench/anaconda3/lib/libcudnn_heuristic.so /home/workbench/anaconda3/lib/libcudnn_ops.so.9.12.0
/home/workbench/anaconda3/lib/libcudnn_adv.so.9 /home/workbench/anaconda3/lib/libcudnn_engines_precompiled.so /home/workbench/anaconda3/lib/libcudnn_engines_runtime_compiled.so.9.12.0 /home/workbench/anaconda3/lib/libcudnn_heuristic.so.9
5 安裝 PyTorch
Get Started
# 安裝適配 CUDA 12.9 的 PyTorch (目前 PyTorch 最高支持到 CUDA 12.9)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu129
- 預期輸出 (示例):
(base) workbench@AI:/mnt/f/PythonProjects/SkyReels-V2$ pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu129
Looking in indexes: https://download.pytorch.org/whl/cu129
Requirement already satisfied: torch in /home/workbench/anaconda3/lib/python3.12/site-packages (2.8.0.dev20250610+cu128)
Requirement already satisfied: torchvision in /home/workbench/anaconda3/lib/python3.12/site-packages (0.23.0.dev20250610+cu128)
Requirement already satisfied: filelock in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (3.13.1)
Requirement already satisfied: typing-extensions>=4.10.0 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (4.11.0)
Requirement already satisfied: setuptools in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (75.1.0)
Requirement already satisfied: sympy>=1.13.3 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (1.14.0)
Requirement already satisfied: networkx in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (3.3)
Requirement already satisfied: jinja2 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (3.1.4)
Requirement already satisfied: fsspec in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (2024.6.1)
Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.8.93 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (12.8.93)
Requirement already satisfied: nvidia-cuda-runtime-cu12==12.8.90 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (12.8.90)
Requirement already satisfied: nvidia-cuda-cupti-cu12==12.8.90 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (12.8.90)
Requirement already satisfied: nvidia-cudnn-cu12==9.8.0.87 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (9.8.0.87)
Requirement already satisfied: nvidia-cublas-cu12==12.8.4.1 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (12.8.4.1)
Requirement already satisfied: nvidia-cufft-cu12==11.3.3.83 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (11.3.3.83)
Requirement already satisfied: nvidia-curand-cu12==10.3.9.90 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (10.3.9.90)
Requirement already satisfied: nvidia-cusolver-cu12==11.7.3.90 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (11.7.3.90)
Requirement already satisfied: nvidia-cusparse-cu12==12.5.8.93 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (12.5.8.93)
Requirement already satisfied: nvidia-cusparselt-cu12==0.7.1 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (0.7.1)
Requirement already satisfied: nvidia-nccl-cu12==2.26.5 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (2.26.5)
Requirement already satisfied: nvidia-nvshmem-cu12==3.2.5 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (3.2.5)
Requirement already satisfied: nvidia-nvtx-cu12==12.8.90 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (12.8.90)
Requirement already satisfied: nvidia-nvjitlink-cu12==12.8.93 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (12.8.93)
Requirement already satisfied: nvidia-cufile-cu12==1.13.1.3 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (1.13.1.3)
Requirement already satisfied: pytorch-triton==3.3.1+gitc8757738 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torch) (3.3.1+gitc8757738)
Requirement already satisfied: numpy in /home/workbench/anaconda3/lib/python3.12/site-packages (from torchvision) (1.26.4)
Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /home/workbench/anaconda3/lib/python3.12/site-packages (from torchvision) (10.4.0)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /home/workbench/anaconda3/lib/python3.12/site-packages (from sympy>=1.13.3->torch) (1.3.0)
Requirement already satisfied: MarkupSafe>=2.0 in /home/workbench/anaconda3/lib/python3.12/site-packages (from jinja2->torch) (2.1.3)
6 一鍵驗證
6.1 宿主 Windows 驅動檢測(佐證兼容性)
先在 Windows 終端執行?nvidia-smi
,確認驅動與 CUDA 支持情況(實際輸出):
C:\Users\love>nvidia-smi
Sat Aug 30 21:22:56 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 581.08 Driver Version: 581.08 CUDA Version: 13.0 |
+-----------------------------------------+------------------------+----------------------+
| 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% 44C P8 21W / 350W | 7107MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
- 關鍵結論:
Driver Version: 581.08
?對應?CUDA Version: 13.0
,證明驅動原生支持 CUDA 13.0。
6.2 WSL 內全鏈路驗證
python - <<'PY'
import torch, subprocess
# 1. 驗證 PyTorch 版本
print("1. PyTorch 版本 :", torch.__version__)
# 2. 驗證 PyTorch 關聯的 CUDA 版本(預期 < 13.0)
print("2. PyTorch 關聯 CUDA 版本 :", torch.version.cuda)
# 3. 驗證 cuDNN 版本
print("3. cuDNN 版本 :", torch.backends.cudnn.version())
# 4. 驗證 GPU 識別
print("4. 識別到的 GPU :", torch.cuda.get_device_name(0))
# 5. 驗證 nvcc 編譯器版本(預期 < 13.0)
print("5. nvcc 編譯器版本 :", subprocess.check_output(["nvcc","--version"]).decode().splitlines()[3])
# 6. 驗證 GPU 計算可用性
print("\n6. GPU 張量計算驗證:")
x = torch.randn(3,3, device='cuda')
y = torch.randn(3,3, device='cuda')
print("張量 X + Y:\n", x + y)
PY
或進入 Python 環境執行以下腳本:
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 的內容
- 預期輸出(全鏈路適配 CUDA 13.0):
(base) workbench@AI:/mnt/f/PythonProjects/SkyReels-V2$ python - <<'PY'
import torch, subprocess
# 1. 驗證 PyTorch 版本
print("1. PyTorch 版本 :", torch.__version__)
# 2. 驗證 PyTorch 關聯的 CUDA 版本(預期 < 13.0)
print("2. PyTorch 關聯 CUDA 版本 :", torch.version.cuda)
# 3. 驗證 cuDNN 版本
print("3. cuDNN 版本 :", torch.backends.cudnn.version())
# 4. 驗證 GPU 識別
print("4. 識別到的 GPU :", torch.cuda.get_device_name(0))
# 5. 驗證 nvcc 編譯器版本(預期 < 13.0)
print("5. nvcc 編譯器版本 :", subprocess.check_output(["nvcc","--version"]).decode().splitlines()[3])
# 6. 驗證 GPU 計算可用性
print("\n6. GPU 張量計算驗證:")
x = torch.randn(3,3, device='cuda')
y = torch.randn(3,3, device='cuda')
print("張量 X + Y:\n", x + y)
PY
1. PyTorch 版本 : 2.8.0.dev20250610+cu128
2. PyTorch 關聯 CUDA 版本 : 12.8
3. cuDNN 版本 : 90800
4. 識別到的 GPU : NVIDIA GeForce RTX 3090
5. nvcc 編譯器版本 : Cuda compilation tools, release 13.0, V13.0.486. GPU 張量計算驗證:
張量 X + Y:tensor([[-2.5236, -0.5435, 0.4742],[-1.2940, -1.5633, -0.1617],[ 0.9185, 0.5025, -0.4628]], device='cuda:0')
安裝 PyTorch 之后,程式會自動降級適配 CUDA 和 cuDNN ,只要不超過最高支持的 CUDA 版本即可。
7 FAQ(修正驅動與 CUDA 兼容性問題)
問題 | 修正后答案 |
---|---|
Workbench 是否自帶 Anaconda? | 否,需手動安裝 |
驅動 581.08 支持 CUDA 13.0 嗎? | 是,通過?nvidia-smi ?檢測確認驅動原生支持 CUDA 13.0 |
PyTorch 應選擇哪個 CUDA 版本? | cu129 穩定版,目前僅支持到 CUDA 12.9 |
CUDA 13.0 能否實際生效? | 能,驅動與工具包版本匹配,可正常用于模型訓練 / 推理 |
至此,基于?NVIDIA 驅動 581.08?的兼容性,已在 WSL-NVIDIA-Workbench 中完成 Anaconda、CUDA 13.0、cuDNN 9.12 及 PyTorch 的全鏈路適配安裝,無版本妥協,可直接用于深度學習開發。