LIONFIN
VPS & Sunucu

CUDA Kurulumu: Ubuntu GPU Sunucuda NVIDIA Sürücü ve Toolkit

6 dk okuma Güncelleme: 1 görüntülenme
CUDA Kurulumu: Ubuntu GPU Sunucuda NVIDIA Sürücü ve Toolkit

CUDA kurulumu, NVIDIA ekran kartlı bir sunucuda kartı hesaplama için kullanılabilir hâle getiren yazılım katmanlarının kurulmasıdır: çekirdek sürücüsü, sürücüyle gelen CUDA kitaplığı ve gerektiğinde derleyiciyi içeren CUDA Toolkit. Sırayı doğru kurmak ve yalnızca gerçekten ihtiyaç duyulan parçaları yüklemek, sürüm çakışmalarının büyük bölümünü baştan önler.

Komutlar Ubuntu 24.04 LTS içindir; Debian’daki farklar ilgili yerde belirtilmiştir. LIONFIN GPU’lu AI sunucunuz hazır bir imajla teslim edildiyse işe başlamadan nvidia-smi komutunu çalıştırın; kart ve sürücü sürümü listeleniyorsa sürücü adımlarını atlayıp doğrudan toolkit ya da Docker bölümüne geçebilirsiniz.

Kısa cevap

Ubuntu’da CUDA kurulumu iki katmandan oluşur. Önce sudo ubuntu-drivers install --gpgpu ile sunucu sınıfı NVIDIA sürücüsü kurulur, sunucu yeniden başlatılır ve kart nvidia-smi ile doğrulanır. CUDA Toolkit (nvcc) yalnızca CUDA kodu derlenecekse gerekir; PyTorch gibi pip paketleri kendi CUDA çalışma kitaplıklarını getirdiği için çoğu Python kullanıcısına sürücü yeterlidir. Docker kapsayıcılarında GPU kullanmak için ayrıca NVIDIA Container Toolkit kurulur.

CUDA kurulumu hangi parçalardan oluşur?

CUDA kurulumu üç katmandan oluşur ve her katman herkese gerekmez: sürücü her durumda, CUDA Toolkit yalnızca derleme yapanlara, ek kitaplıklar ise kullandığınız çerçevenin istediği ölçüde gerekir.

KatmanNe işe yararKimin için gerekli
NVIDIA sürücüsüÇekirdek modülü ve libcuda; kartı işletim sistemine tanıtır, nvidia-smi aracını sağlarHerkes
CUDA Toolkitnvcc derleyicisi, başlık dosyaları ve geliştirme kitaplıklarıCUDA kodu ya da CUDA uzantılı paket derleyenler
cuDNN, NCCL gibi kitaplıklarDerin öğrenme ve çoklu GPU iletişimi için hızlandırılmış işlevlerÇoğunlukla çerçevenin kendi paketleriyle gelir

PyTorch’un pip ile kurulan Linux paketleri ihtiyaç duydukları CUDA çalışma kitaplıklarını kendileri getirir; bu nedenle yalnızca Python ile model eğiten ya da çalıştıran çoğu kullanıcı için sürücü tek başına yeterlidir. Uyulması gereken kural, sürücünün paketin derlendiği CUDA sürümünü desteklemesidir. Sürücü hazır olduğunda model çalıştırmak için kendi sunucunuzda LLM çalıştırma rehberine geçebilirsiniz.

Kuruluma başlamadan önce neleri kontrol etmelisiniz?

Kurulumdan önce kartın sistemde göründüğünü, paketlerin güncel olduğunu ve Secure Boot durumunu kontrol edin (mokutil yoksa sudo apt install mokutil ile kurulur):

lspci | grep -i nvidia
sudo apt update && sudo apt upgrade -y
mokutil --sb-state

lspci çıktısında kart görünmüyorsa sorun yazılımda değil, donanım ya da sanallaştırma katmanındadır; sanal sunucuda GPU’nun makineye atanıp atanmadığını sağlayıcınıza sorun. Güncelleme yeni bir çekirdek getirdiyse sürücüden önce sunucuyu yeniden başlatın; böylece sürücü modülü kullanacağınız çekirdekle eşleşir. mokutil “SecureBoot enabled” diyorsa son bölümdeki MOK adımına hazırlıklı olun; fiziksel sunucuda bu ayar BIOS/UEFI menüsünden de değiştirilebilir. Sunucunun temel güvenlik ayarlarını henüz yapmadıysanız önce VPS ilk kurulum adımlarını tamamlayın.

Ubuntu’da NVIDIA sürücüsü nasıl kurulur?

Ubuntu’da sürücü, dağıtımın test ettiği paketleri seçen ubuntu-drivers aracıyla kurulur; sunucularda hesaplama (GPGPU) için hazırlanan -server sürücü dalı tercih edilir.

  1. Aracı kurun ve uygun sürücüleri listeleyin:
    sudo apt install -y ubuntu-drivers-common
    sudo ubuntu-drivers list --gpgpu
  2. Önerilen sunucu sürücüsünü kurun; belirli bir dal istiyorsanız adını ekleyin (sürüm numarası örnektir, listede gördüğünüzü yazın):
    sudo ubuntu-drivers install --gpgpu
    # ya da: sudo ubuntu-drivers install --gpgpu nvidia:570-server
  3. Sunucu sürücüsünde nvidia-smi ayrı bir pakettedir; kurulan sürücüyle aynı numarayı kullanın:
    sudo apt install -y nvidia-utils-570-server
  4. Sunucuyu yeniden başlatın (sudo reboot) ve kartı doğrulayın:
    nvidia-smi

Çıktının üst satırındaki Driver Version kurulu sürücüyü, CUDA Version ise bu sürücünün desteklediği en yüksek CUDA sürümünü gösterir; sistemde CUDA Toolkit kurulu olduğu anlamına gelmez. Tabloda kartın adı, bellek kullanımı ve kartı kullanan süreçler listelenir. Masaüstü kurulumlarda sudo ubuntu-drivers install ekran sürücüsünü seçer. Debian’da ise depo kaynaklarına contrib, non-free ve non-free-firmware bileşenleri eklendikten sonra çekirdek başlık paketleriyle birlikte nvidia-driver paketi kurulur.

İpucu: Sürücüyü hem NVIDIA’nın .run yükleyicisiyle hem de apt paketleriyle kurmayın; iki yöntemin karışması en sık görülen ve temizlemesi en zor sürücü sorunudur.

CUDA Toolkit ne zaman gerekir, nasıl kurulur?

CUDA Toolkit yalnızca CUDA kodu derleyecekseniz gerekir: kendi CUDA programlarınız, llama.cpp’nin CUDA destekli derlemesi ya da kurulurken derlenen Python uzantıları gibi. Güncel sürüm için NVIDIA’nın resmî deposunu ekleyip yalnızca toolkit paketini kurun (adresteki ubuntu2404 bölümü dağıtım sürümüne göre değişir):

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt install -y cuda-toolkit

Bu depodaki cuda ve cuda-drivers paketleri NVIDIA’nın kendi sürücüsünü de kurar ve Ubuntu sürücüsüyle çakışabilir; sürücüyü ubuntu-drivers ile kurduysanız yalnızca cuda-toolkit paketini seçin. Toolkit /usr/local/cuda altına kurulur; derleyiciyi yola ekleyip doğrulayın:

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
nvcc --version

Sürümü daha eski olsa da daha kısa bir yol, Ubuntu deposundaki paketi kurmaktır: sudo apt install nvidia-cuda-toolkit. PyTorch kuruluysa GPU’nun görüldüğünü şu komutla test edin; True ve bir sürüm numarası görmelisiniz:

python3 -c "import torch; print(torch.cuda.is_available(), torch.version.cuda)"

Docker kapsayıcılarına GPU erişimi nasıl verilir?

Docker kapsayıcılarının GPU kullanabilmesi için ana makinede sürücünün yanında NVIDIA Container Toolkit kurulmalı ve Docker bu çalışma ortamını tanıyacak biçimde yapılandırılmalıdır; kapsayıcının içine sürücü kurulmaz. Docker henüz kurulu değilse Docker kurulumu rehberiyle başlayın, ardından NVIDIA’nın deposunu ekleyip paketi kurun:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
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' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit

Docker’ı yapılandırıp test edin:

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
sudo docker run --rm --gpus all ubuntu nvidia-smi

Son komut kapsayıcının içinden ana makinedeki kartı listeliyorsa yapılandırma tamamdır. Docker Compose’da aynı erişim, servis tanımındaki deploy.resources.reservations.devices alanında driver: nvidia ve capabilities: [gpu] değerleriyle verilir.

Sık karşılaşılan CUDA hataları nasıl çözülür?

Sürücü sorunlarının çoğu birkaç tanıdık hata mesajıyla kendini gösterir:

BelirtiOlası nedenÇözüm
nvidia-smi: command not foundSunucu sürücüsü kurulu, araç paketi eksikSürücüyle aynı numaralı nvidia-utils-SURUM-server paketini kurun
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driverYeniden başlatma yapılmadı, modül yüklenmedi ya da Secure Boot modülü reddettisudo reboot; ardından lsmod | grep nvidia ve mokutil --sb-state
CUDA driver version is insufficient for CUDA runtime versionSürücü, uygulamanın derlendiği CUDA sürümünü desteklemiyorSürücüyü yükseltin ya da daha eski CUDA için derlenmiş paketi kullanın
nvcc: command not foundToolkit kurulu değil ya da PATH eksikToolkit’i kurun, /usr/local/cuda/bin yolunu ekleyin
torch.cuda.is_available() sonucu FalseYalnız işlemci sürümü PyTorch ya da sürücü sorunutorch.version.cuda değeri None ise CUDA destekli paketi kurun

Secure Boot açık bir makinede DKMS ile derlenen sürücü modülünün imzalanması gerekir: kurulum sırasında bir MOK parolası belirlenir, yeniden başlatmada açılan mavi MOK Manager ekranında Enroll MOK seçilip bu parola girilir. Ubuntu’nun Canonical tarafından imzalanmış hazır sürücü modülleri kullanıldığında bu adım çoğu zaman çıkmaz. MOK ekranı işletim sistemi açılmadan geldiği için SSH ile değil, uzaktan konsol erişimiyle tamamlanır; bu erişiminiz yoksa destek talebi açın. Yeniden başlatma öncesi kontroller için güvenli sunucu yeniden başlatma rehberine bakabilirsiniz.

Sık Sorulan Sorular

PyTorch için CUDA Toolkit kurmam gerekir mi?

Çoğu durumda hayır. Linux’ta pip ile kurulan PyTorch paketleri ihtiyaç duydukları CUDA çalışma kitaplıklarını kendileri getirir; sistemde yalnızca bu sürümü destekleyen bir NVIDIA sürücüsü bulunması yeterlidir. Toolkit, kurulum sırasında CUDA kodu derleyen eklentiler ya da kendi yazdığınız CUDA programları için gerekir.

nvidia-smi’de görünen CUDA sürümü neden nvcc’den farklı?

nvidia-smi’deki CUDA Version, kurulu sürücünün destekleyebildiği en yüksek CUDA sürümüdür; nvcc --version ise sistemde kurulu toolkit’in sürümünü gösterir. Toolkit sürümünün sürücünün desteklediği sürüme eşit ya da ondan düşük olması normaldir. Toolkit daha yeniyse derlediğiniz programlar çalışmayabilir; bu durumda sürücüyü yükseltin.

Hangi NVIDIA sürücü sürümünü seçmeliyim?

Sunucuda ubuntu-drivers list --gpgpu çıktısında önerilen -server dalı iyi bir başlangıçtır; bu dallar sunucu ve hesaplama kullanımı için hazırlanır. Kullandığınız çerçevenin ya da kapsayıcı imajının istediği en düşük sürücü sürümünü belgelerinden kontrol edin. Üretimdeki sunucuda sürücüyü test etmeden yükseltmeyin, güncellemeyi planlı bir bakım penceresinde yapın.

Sürücü güncellemesinden sonra GPU görünmüyorsa ne yapmalıyım?

nvidia-smi “Driver/library version mismatch” diyorsa çalışan çekirdek modülü eski, kitaplıklar yenidir; sunucuyu yeniden başlatmak çözer. Sorun sürerse lsmod | grep nvidia ile modülün yüklenip yüklenmediğine, sudo dmesg | grep -i nvidia ile hata kayıtlarına bakın. Secure Boot açıksa imza adımını kontrol edin, gerekirse sürücü paketlerini aynı sürümle yeniden kurun.

Windows Server’da CUDA kurulumu nasıl yapılır?

NVIDIA’nın sürücü indirme sayfasından kartınıza ve Windows Server sürümünüze uygun veri merkezi sürücüsünü kurun, sunucuyu yeniden başlatın ve PowerShell’de nvidia-smi ile kartı doğrulayın. CUDA Toolkit gerekiyorsa NVIDIA’nın Windows yükleyicisini çalıştırın; derleme için Visual Studio C++ araçları da gerekir. Python çerçevelerinde, Linux’ta olduğu gibi, çoğu zaman yalnızca sürücü yeterlidir.

Bu makale yardımcı oldu mu?

Geri bildiriminiz için teşekkürler!

kişi faydalı buldu

Paylaş

X LinkedIn WhatsApp

Sorunuz mu var? Destek ekibimize yazın.