67 lines
No EOL
2.5 KiB
Bash
67 lines
No EOL
2.5 KiB
Bash
#!/bin/bash
|
|
|
|
# Exit immediately if a command exits with a non-zero status.
|
|
set -e
|
|
|
|
# --- 1. NVIDIA Graphics Driver Installation ---
|
|
echo "▶️ Section 1: Installing NVIDIA Graphics Driver..."
|
|
echo " This will automatically detect and install the recommended driver."
|
|
sudo apt update
|
|
sudo ubuntu-drivers autoinstall
|
|
|
|
echo "✅ NVIDIA driver installation command issued."
|
|
echo " A reboot will be required later for it to take effect."
|
|
|
|
# --- 2. CUDA Toolkit Installation ---
|
|
echo "▶️ Section 2: Setting up and Installing CUDA Toolkit..."
|
|
|
|
# Clean up any previous attempts to avoid conflicts
|
|
rm -f cuda-keyring_*.deb
|
|
|
|
# Set up the NVIDIA CUDA repository
|
|
# These commands are for x86_64 architecture on Ubuntu 22.04 (which ZorinOS 17 is based on)
|
|
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
|
|
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
|
sudo apt-get update
|
|
|
|
# Clean up the downloaded deb file
|
|
rm -f cuda-keyring_1.1-1_all.deb
|
|
|
|
echo "▶️ Installing the CUDA Toolkit (this includes cuBLAS)..."
|
|
# The 'cuda' package installs the latest stable version.
|
|
sudo apt-get install -y cuda
|
|
|
|
# --- 3. cuDNN Library Installation ---
|
|
echo "▶️ Section 3: Installing cuDNN Library..."
|
|
# These packages provide the runtime and developer libraries for cuDNN
|
|
sudo apt-get install -y libcudnn8 libcudnn8-dev
|
|
|
|
echo "✅ CUDA and cuDNN have been installed."
|
|
|
|
# --- 4. Environment Configuration ---
|
|
echo "▶️ Section 4: Configuring environment variables in ~/.bashrc..."
|
|
|
|
# Check if the CUDA paths are already in .bashrc to avoid duplicates
|
|
if ! grep -q 'export PATH=/usr/local/cuda/bin' ~/.bashrc; then
|
|
echo '' >>~/.bashrc
|
|
echo '# Add NVIDIA CUDA Toolkit to PATH' >>~/.bashrc
|
|
echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >>~/.bashrc
|
|
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >>~/.bashrc
|
|
echo "✅ CUDA environment variables added to ~/.bashrc."
|
|
else
|
|
echo "✅ CUDA environment variables already configured in ~/.bashrc."
|
|
fi
|
|
|
|
# --- 5. Final Instructions ---
|
|
echo ""
|
|
echo "------------------------------------------------------------------"
|
|
echo "🎉 NVIDIA Stack Installation Complete!"
|
|
echo ""
|
|
echo " IMPORTANT: You MUST reboot your system for the new NVIDIA"
|
|
echo " driver to be loaded correctly."
|
|
echo ""
|
|
echo " After rebooting, open a new terminal for all changes to take"
|
|
echo " effect. You can verify the installation by running:"
|
|
echo " nvidia-smi"
|
|
echo " nvcc --version"
|
|
echo "------------------------------------------------------------------" |