Installing PyTorch with CUDA 11.0 and cuDNN on Windows 10
Compatibility Between Driver, CUDA, and cuDNN
On Windows 10, verify the installed NVIDIA driver via the Control Panel: open NVIDIA Control Panel → Help → System Information and note the driver version under Components. The CUDA Toolkit is a parallel computing framework for NVIDIA GPUs and ships with a matching driver when installed offline. Multiple CUDA versions can coexist; the driver need not match CUDA exactly but must meet minimum version requirements.
cuDNN is a specialized SDK for accelerating deep learning primitives. A given CUDA release may support several cuDNN build; typically, the latest cuDNN is recommended for optimal compatibility.
Determining Versions to Install
Use nvidia-smi to check the current driver. Match it against supported CUDA releases listed in NVIDIA's compatibility matrix: https://docs.nvidia.com/deploy/cuda-compatibility/. For CUDA 11.0, ensure the driver meets its minimum requirement. If versions differ between nvidia-smi and nvcc -V, it indicates runtime vs toolkit version mismatch—generally safe if driver ≥ toolkit requirement.
Obtaining CUDA Toolkit 11.0
Access archived installers at https://developer.nvidia.com/cuda-toolkit-archive. Select:
- Operating System: Windows
- Architecture: x86_64
- Version: 10 (for Windows 10)
- Installer Type: local (preferred for reliability)
Example direct link for CUDA 11.0 Update 1:
http://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_451.82_win10.exe
Large downloads may require a download manager for stability.
Prerequisites for Installation
Confirm OS version via ver. Supported compilers include MSVC; installing Visual Studio ensures proper toolchain presence. To check MSVC version, locate cl.exe and run it, or inspect installed Microsoft Visual C++ Redistributables in Apps & features.
Installing CUDA Toolkit
Run the installer. Choose an extraction path for temporary files if prompted. The default installation location is:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0
Select Custom installation to control components. Ensure the installer completes without errors; corrupted packages cause failures.
Add the following to system PATH if not automatically set:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\binC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib\x64- Optionally
...\include
Verifying CUDA Installation
In a terminal:
nvcc -V
Also run demo utilities from:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\demo_suite\
Execute bandwidthTest.exe and deviceQuery.exe; both should complete successfully.
Acquiring cuDNN for CUDA 11.0
Register at https://developer.nvidia.com/rdp/cudnn-download and log in. Locate the cuDNN variant compatible with CUDA 11.0, e.g., archive entry for v8.0.5:
https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.5/11.0_20201106/cudnn-11.0-windows-x64-v8.0.5.39.zip
Download via browser if accelerated tools fail.
Deploying cuDNN
Extract the archive; it contains three folders: bin, include, lib. Merge their contents into the corresponding CUDA directories:
- Copy
bin\cudnn_*.dllintoCUDA\v11.0\bin - Copy
include\cudnn*.hintoCUDA\v11.0\include - Copy
lib\x64\cudnn*.libintoCUDA\v11.0\lib\x64
No immediate validation exists; functionality is confirmed during framework usage.
Installing PyTorch with CUDA 11.0 Support
Create or activate a Conda environment with Python 3.7+. Use the official Conda channel:
conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch
For faster access in regions with limited bandwidth, use a mirror:
conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
If Conda resolution fails for large packages, fall back to pip:
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
Offline installation is possible via archived packages at https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/.
Confirming PyTorch and CUDA Integration
Launch Python and execute:
import torch
print(torch.rand(5, 3))
To test GPU availability:
import torch
print(torch.cuda.is_available())
Expected output is True. Verify cuDNN linkage:
print(torch.backends.cudnn.version())
A non-zero return confirms cuDNN is recognized. For functional assurance, run a minimal GPU training script and monitor device memory usage.