|
|
#!/bin/bash
|
|
|
set -e
|
|
|
|
|
|
echo "--------------------------------------------------------------------"
|
|
|
echo "IMPORTANT: This script will install CUDA 12.8 on Ubuntu 22.04."
|
|
|
echo "Ensure that you have a compatible NVIDIA GPU and that any conflicting CUDA installations are removed."
|
|
|
echo "--------------------------------------------------------------------"
|
|
|
read -p "Are you sure you want to continue? (y/N): " confirmation
|
|
|
if [[ ! "$confirmation" =~ ^[Yy]$ ]]; then
|
|
|
echo "Aborting."
|
|
|
exit 1
|
|
|
fi
|
|
|
|
|
|
echo ">>> [1/9] Updating package lists..."
|
|
|
apt update
|
|
|
|
|
|
echo ">>> [2/9] Installing required dependencies..."
|
|
|
apt install -y build-essential dkms wget
|
|
|
|
|
|
echo ">>> [3/9] Downloading CUDA repository pin file..."
|
|
|
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
|
|
|
mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
|
|
|
|
|
|
echo ">>> [4/9] Downloading CUDA 12.8 local installer package..."
|
|
|
wget https://developer.download.nvidia.com/compute/cuda/12.8.1/local_installers/cuda-repo-ubuntu2204-12-8-local_12.8.1-570.124.06-1_amd64.deb
|
|
|
|
|
|
echo ">>> [5/9] Installing the CUDA repository package..."
|
|
|
dpkg -i cuda-repo-ubuntu2204-12-8-local_12.8.1-570.124.06-1_amd64.deb
|
|
|
|
|
|
echo ">>> [6/9] Adding the repository GPG key..."
|
|
|
cp /var/cuda-repo-ubuntu2204-12-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
|
|
|
|
|
|
echo ">>> [7/9] Updating package lists after adding CUDA repository..."
|
|
|
apt update
|
|
|
|
|
|
echo ">>> [8/9] Installing CUDA 12.8 with force overwrite..."
|
|
|
apt -o Dpkg::Options::="--force-overwrite" install -y cuda
|
|
|
|
|
|
echo ">>> [9/9] Setting up environment variables for CUDA..."
|
|
|
cat << 'EOF' > /etc/profile.d/cuda.sh
|
|
|
export PATH=/usr/local/cuda-12.8/bin${PATH:+:${PATH}}
|
|
|
export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
|
|
|
EOF
|
|
|
chmod +x /etc/profile.d/cuda.sh
|
|
|
|
|
|
echo ">>> Cleaning up apt cache..."
|
|
|
apt clean
|
|
|
|
|
|
echo ">>> Verifying CUDA installation..."
|
|
|
if command -v nvcc >/dev/null 2>&1; then
|
|
|
echo "CUDA installed successfully. nvcc version:"
|
|
|
nvcc --version
|
|
|
else
|
|
|
echo "nvcc not found. Please check the installation."
|
|
|
fi
|
|
|
|
|
|
echo ""
|
|
|
echo "--------------------------------------------------------------------"
|
|
|
echo "Done! CUDA 12.8 should now be installed on your system."
|
|
|
echo "--------------------------------------------------------------------"
|
|
|
|
|
|
exit 0
|
|
|
|
|
|
|