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.
| Katman | Ne işe yarar | Kimin 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ğlar | Herkes |
| CUDA Toolkit | nvcc derleyicisi, başlık dosyaları ve geliştirme kitaplıkları | CUDA kodu ya da CUDA uzantılı paket derleyenler |
| cuDNN, NCCL gibi kitaplıklar | Derin öğ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-statelspci çı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.
- Aracı kurun ve uygun sürücüleri listeleyin:
sudo apt install -y ubuntu-drivers-common sudo ubuntu-drivers list --gpgpu - Ö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 - Sunucu sürücüsünde
nvidia-smiayrı bir pakettedir; kurulan sürücüyle aynı numarayı kullanın:sudo apt install -y nvidia-utils-570-server - 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.
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-toolkitBu 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 --versionSü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-toolkitDocker’ı 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-smiSon 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:
| Belirti | Olası neden | Çözüm |
|---|---|---|
nvidia-smi: command not found | Sunucu sürücüsü kurulu, araç paketi eksik | Sürücüyle aynı numaralı nvidia-utils-SURUM-server paketini kurun |
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver | Yeniden başlatma yapılmadı, modül yüklenmedi ya da Secure Boot modülü reddetti | sudo reboot; ardından lsmod | grep nvidia ve mokutil --sb-state |
CUDA driver version is insufficient for CUDA runtime version | Sürücü, uygulamanın derlendiği CUDA sürümünü desteklemiyor | Sürücüyü yükseltin ya da daha eski CUDA için derlenmiş paketi kullanın |
nvcc: command not found | Toolkit kurulu değil ya da PATH eksik | Toolkit’i kurun, /usr/local/cuda/bin yolunu ekleyin |
torch.cuda.is_available() sonucu False | Yalnız işlemci sürümü PyTorch ya da sürücü sorunu | torch.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