78 lines
2.2 KiB
Bash
Executable File
78 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
echo "=== NVIDIA GPU Setup for Docker ==="
|
|
echo ""
|
|
|
|
# Step 1: Detect GPU
|
|
echo "=== Step 1: Detecting GPU ==="
|
|
GPU_INFO=$(lspci | grep -i nvidia || true)
|
|
if [ -z "$GPU_INFO" ]; then
|
|
echo "ERROR: No NVIDIA GPU detected"
|
|
exit 1
|
|
fi
|
|
echo "$GPU_INFO"
|
|
echo ""
|
|
|
|
# Step 2: Find recommended driver
|
|
echo "=== Step 2: Finding recommended driver ==="
|
|
RECOMMENDED=$(ubuntu-drivers devices 2>/dev/null | grep "recommended" | awk '{print $3}' || true)
|
|
if [ -z "$RECOMMENDED" ]; then
|
|
echo "ERROR: Could not determine recommended driver"
|
|
echo "Available drivers:"
|
|
ubuntu-drivers list
|
|
exit 1
|
|
fi
|
|
echo "Recommended driver: $RECOMMENDED"
|
|
echo ""
|
|
|
|
# Step 3: Install NVIDIA driver
|
|
echo "=== Step 3: Installing $RECOMMENDED ==="
|
|
apt-get update
|
|
apt-get install -y "$RECOMMENDED"
|
|
echo ""
|
|
|
|
# Step 4: Install NVIDIA Container Toolkit
|
|
echo "=== Step 4: Installing NVIDIA Container Toolkit ==="
|
|
|
|
# Add NVIDIA GPG key
|
|
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
|
|
gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg --yes
|
|
|
|
# Add NVIDIA repo
|
|
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
|
|
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
|
|
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
|
|
|
|
# Install toolkit
|
|
apt-get update
|
|
apt-get install -y nvidia-container-toolkit
|
|
|
|
# Configure Docker runtime
|
|
nvidia-ctk runtime configure --runtime=docker
|
|
|
|
# Restart Docker
|
|
systemctl restart docker
|
|
echo ""
|
|
|
|
# Step 5: Verify installation
|
|
echo "=== Step 5: Verifying installation ==="
|
|
echo "Installed driver:"
|
|
dpkg -l | grep nvidia-driver | head -1
|
|
echo ""
|
|
|
|
echo "============================================"
|
|
echo "INSTALLATION COMPLETE"
|
|
echo "============================================"
|
|
echo ""
|
|
echo "IMPORTANT: Reboot required!"
|
|
echo ""
|
|
echo "After reboot, verify with:"
|
|
echo " nvidia-smi"
|
|
echo " docker run --rm --gpus all ubuntu nvidia-smi"
|
|
echo ""
|
|
echo "Then run MiniCPM-V 4.5 on GPU:"
|
|
echo " docker run -d --gpus all -p 11434:11434 -v ollama-data:/root/.ollama \\"
|
|
echo " -e MODEL_NAME=\"openbmb/minicpm-v4.5:q8_0\" ht-docker-ai:minicpm45v"
|
|
echo ""
|