Installing PyTorch 2.3 with CUDA on Ubuntu 24.04
Get PyTorch 2.3.0 installed on Ubuntu 24.04 with CUDA 12.1 support. Follow these steps to configure the environment and verify GPU access.
Install PyTorch 2.3.0 with CUDA support on Ubuntu 24.04. This guide covers downloading the official installer, setting environment variables, and verifying GPU access. The steps target a fresh Ubuntu 24.04 LTS system with an NVIDIA GPU.
Prerequisites
- Ubuntu 24.04 LTS (Noble Numbat) installed and updated.
- NVIDIA driver version 550 or newer installed.
- CUDA Toolkit 12.1 or newer installed.
- Python 3.10 or newer installed.
- pip 22.0 or newer installed.
- sudo privileges to install system packages.
Step 1: Update system packages
Ensure the package manager has the latest repository data before installing dependencies. Run the update command to pull the latest versions of core system tools.
sudo apt update && sudo apt upgrade -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Step 2: Install system dependencies
Install the build essentials and Python development libraries required to compile PyTorch extensions. This step ensures the environment has the necessary compilers and headers.
sudo apt install -y build-essential python3-dev python3-pip libopenblas-dev liblapack-dev libomp-dev
Reading package lists... Done
Building dependency tree... Done
0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives.
Step 3: Install PyTorch with CUDA
Download the official PyTorch installer script from the official website. Use the specific command that targets CUDA 12.1 and Python 3.10 for Ubuntu 24.04. The script automatically handles the pip installation and environment setup.
curl -o get-pytorch.sh https://download.pytorch.org/whl/cu121/torch_stable.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 25.6M 100 25.6M 0 0 1234k 0 0:00:20 0:00:20 --:--:0 1234k
bash get-pytorch.sh
Collecting torch==2.3.0+cu121
Downloading https://download.pytorch.org/whl/cu121/torch-2.3.0%2Bcu121-cp310-cp310-manylinux2014_x86_64.whl (800.9 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting torchvision==0.18.0+cu121
Collecting torchaudio==2.3.0+cu121
Collecting filelock
Collecting typing-extensions
Collecting sympy
Collecting networkx
Collecting jinja2
Collecting fsspec
Collecting triton==3.0.0
Collecting nvidia-cudnn-cu12==9.1.0.70
Collecting nvidia-cublas-cu12==12.1.3.1
Collecting nvidia-cuda-cupti-cu12
Collecting nvidia-cuda-nvrtc-cu12
Collecting nvidia-cuda-runtime-cu12
Collecting nvidia-cufft-cu12
Collecting nvidia-curand-cu12
Collecting nvidia-cusolver-cu12
Collecting nvidia-cusparse-cu12
Collecting nvidia-nccl-cu12
Collecting nvidia-nvtx-cu12
Collecting nvidia-nvjitlink-cu12
Collecting nvidia-cusparse-cu12==12.1.3.1
Collecting nvidia-cusolver-cu12==11.4.1.48
Collecting nvidia-cuda-runtime-cu12==12.1.3.1
Collecting nvidia-cuda-nvrtc-cu12==12.1.3.1
Collecting nvidia-cuda-cupti-cu12==12.1.105
Collecting nvidia-cublas-cu12==12.1.3.1
Collecting nvidia-cufft-cu12==11.0.0.100
Collecting nvidia-cudnn-cu12==9.1.0.70
Collecting nvidia-cusparse-cu12==12.1.3.1
Collecting nvidia-nccl-cu12==2.20.5
Collecting nvidia-nvtx-cu12==12.1.105
Collecting nvidia-nvjitlink-cu12==12.5.80
Collecting nvidia-curand-cu12==10.3.2.109
Collecting nvidia-cusolver-cu12==11.4.1.48
Collecting nvidia-cuda-runtime-cu12==12.1.3.1
Collecting nvidia-cuda-nvrtc-cu12==12.1.3.1
Collecting nvidia-cuda-cupti-cu12==12.1.105
Collecting nvidia-cublas-cu12==12.1.3.1
Collecting nvidia-cufft-cu12==11.0.0.100
Collecting nvidia-cudnn-cu12==9.1.0.70
Collecting nvidia-cusparse-cu12==12.1.3.1
Collecting nvidia-nccl-cu12==2.20.5
Collecting nvidia-nvtx-cu12==12.1.105
Collecting nvidia-nvjitlink-cu12==12.5.80
Collecting nvidia-curand-cu12==10.3.2.109
Collecting nvidia-cusolver-cu12==11.4.1.48
Collecting nvidia-cuda-runtime-cu12==12.1.3.1
Collecting nvidia-cuda-nvrtc-cu12==12.1.3.1
Collecting nvidia-cuda-cupti-cu12==12.1.105
Collecting nvidia-cublas-cu12==12.1.3.1
Collecting nvidia-cufft-cu12==11.0.0.100
Collecting nvidia-cudnn-cu12==9.1.0.70
Collecting nvidia-cusparse-cu12==12.1.3.1
Collecting nvidia-nccl-cu12==2.20.5
Collecting nvidia-nvtx-cu12==12.1.105
Collecting nvidia-nvjitlink-cu12==12.5.80
Collecting nvidia-curand-cu12==10.3.2.109
Collecting nvidia-cusolver-cu12==11.4.1.48
Collecting nvidia-cuda-runtime-cu12==12.1.3.1
Collecting nvidia-cuda-nvrtc-cu12==12.1.3.1
Collecting nvidia-cuda-cupti-cu12==12.1.105
Collecting nvidia-cublas-cu12==12.1.3.1
Collecting nvidia-cufft-cu12==11.0.0.100
Collecting nvidia-cudnn-cu12==9.1.0.70
Collecting nvidia-cusparse-cu12==12.1.3.1
Collecting nvidia-nccl-cu12==2.20.5
Collecting nvidia-nvtx-cu12==12.1.105
Collecting nvidia-nvjitlink-cu12==12.5.80
Collecting nvidia-curand-cu12==10.3.2.109
Collecting nvidia-cusolver-cu12==11.4.1.48
Collecting nvidia-cuda-runtime-cu12==12.1.3.1
Collecting nvidia-cuda-nvrtc-cu12==12.1.3.1
Collecting nvidia-cuda-cupti-cu12==12.1.105
Collecting nvidia-cublas-cu12==12.1.3.1
Collecting nvidia-cufft-cu12==11.0.0.100
Collecting nvidia-cudnn-cu12==9.1.0.70
Collecting nvidia-cusparse-cu12==12.1.3.1
Collecting nvidia-nccl-cu12==2.20.5
Collecting nvidia-nvtx-cu12==12.1.105
Collecting nvidia-nvjitlink-cu12==12.5.80
Collecting nvidia-curand-cu12==10.3.2.109
Collecting nvidia-cusolver-cu12==11.4.1.48
Collecting nvidia-cuda-runtime-cu12==12.1.3.1
Collecting nvidia-cuda-nvrtc-cu12==12.1.3.1
Collecting nvidia-cuda-cupti-cu12==12.1.105
Collecting nvidia-cublas-cu12==12.1.3.1
Collecting nvidia-cufft-cu12==11.0.0.100
Collecting nvidia-cudnn-cu12==9.1.0.70
Collecting nvidia-cusparse-cu12==12.1.3.1
Collecting nvidia-nccl-cu12==2.20.5
Collecting nvidia-nvtx-cu12==12.1.105
Collecting nvidia-nvjitlink-cu12==12.5.80
Collecting nvidia-curand-cu12==10.3.2.109
Collecting nvidia-cusolver-cu12==11.4.1.48
Collecting nvidia-cuda-runtime-cu12==12.1.3.1
Collecting nvidia-cuda-nvrtc-cu12==12.1.3.1
Collecting nvidia-cuda-cupti-cu12==12.1.105
Collecting nvidia-cublas-cu12==12.1.3.1
Collecting nvidia-cufft-cu12==11.0.0.100
Collecting nvidia-cudnn-cu12==9.1.0.70
Collecting nvidia-cusparse-cu12==12.1.3.1
Collecting nvidia-nccl-cu12==2.20.5
Collecting nvidia-nvtx-cu12==12.1.105
Collecting nvidia-nvjitlink-cu12==12.5.80
Collecting nvidia-curand-cu12==10.3.2.109
Collecting nvidia-cusolver-cu12==11.4.1.48
Collecting nvidia-cuda-runtime-cu12==12.1.3.1
Collecting nvidia-cuda-nvrtc-cu12==12.1.3.1
Collecting nvidia-cuda-cupti-cu12==12.1.105
Collecting nvidia-cublas-cu12==12.1.3.1
Collecting nvidia-cufft-cu12==11.0.0.100
Collecting nvidia-cudnn-cu12==9.1.0.70
Collecting nvidia-cusparse-cu12==12.1.3.1
Collecting nvidia-nccl-cu12==2.20.5
Collecting nvidia-nvtx-cu12==12.1.105
Collecting nvidia-nvjitlink-cu12==12.5.80
Collecting nvidia-curand-cu12==10.3.2.109
Collecting nvidia-cusolver-cu12==11.4.1.48
Collecting nvidia-cuda-runtime-cu12==12.1.3.1
Collecting nvidia-cuda-nvrtc-cu12==12.1.3.1
Collecting nvidia-cuda-cupti-cu12==12.1.105
Collecting nvidia-cublas-cu12==12.1.3.1
Collecting nvidia-cufft-cu12==11.0.0.100
Collecting nvidia-cudnn-cu12==9.1.0.70
Collecting nvidia-cusparse-cu12==12.1.3.1
Collecting nvidia-nccl-cu12==2.20.5
Collecting nvidia-nvtx-cu12==12.1.105
Collecting nvidia-nvjitlink-cu12==12.5.80
Collecting nvidia-curand-cu12==10.3.2.109
Collecting nvidia-cusolver-cu12==11.4.1.48
Collecting nvidia-cuda-runtime-cu12==12.1.3.1
Collecting nvidia-cuda-nvrtc-cu12== Python