Podman'da "unresolvable CDI devices nvidia.com/gpu=all" Hatası ve Çözümü
Podman ile GPU gerektiren bir container (örneğin RHEL CLA, ollama, vllm gibi) çalıştırmaya çalışırken şu hatayı alabilirsiniz:
Error: setting up CDI devices: unresolvable CDI devices nvidia.com/gpu=all
Bu hata, NVIDIA sürücünüz düzgün çalışıyor olsa bile (nvidia-smi çıktısı normal görünse bile) ortaya çıkabilir. Sorunun kaynağı, Podman'ın GPU'ya erişmek için kullandığı CDI (Container Device Interface) spec dosyasının sisteminizde bulunmamasıdır.
CDI Nedir?
CDI, container runtime'larının (Podman, Docker vb.) GPU gibi özel donanımlara erişimini standartlaştıran bir arayüzdür. Podman, --device nvidia.com/gpu=all gibi bir parametre aldığında, /etc/cdi/nvidia.yaml dosyasına bakarak GPU'nun container'a nasıl sunulacağını öğrenir. Bu dosya yoksa veya güncel değilse, yukarıdaki hatayı alırsınız.
Çözüm Adımları
1. NVIDIA Container Toolkit Kurulumu
Öncelikle nvidia-container-toolkit paketinin kurulu olup olmadığını kontrol edin:
rpm -q nvidia-container-toolkit
Kurulu değilse, NVIDIA'nın resmi repo'sunu ekleyip kurun:
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
sudo dnf install -y nvidia-container-toolkit
2. CDI Spec Dosyasını Oluşturun
Bu adım sorunun asıl çözümüdür. Aşağıdaki komut, sisteminizde bulunan NVIDIA GPU'ları tarayarak CDI spec dosyasını oluşturur:
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
3. Doğrulama
Spec'in başarıyla oluşturulduğunu doğrulayın:
nvidia-ctk cdi list
Çıktıda şuna benzer satırlar görmeniz gerekir:
INFO[0000] Found 2 CDI devices
nvidia.com/gpu=0
nvidia.com/gpu=all
4. Container'ı Tekrar Çalıştırın
Artık Podman GPU'yu CDI üzerinden çözebilir durumda. Uygulamanızı tekrar başlatın:
rhel-cla start
Alternatif: Spesifik GPU Belirtme
Eğer gpu=all hâlâ çözülemiyorsa, uygulamanızın yapılandırma dosyasında cihazı spesifik olarak belirtmeyi deneyin:
# nvidia.com/gpu=all yerine:
nvidia.com/gpu=0
Örneğin RHEL CLA için bu ayar ~/.config/rhel-cla/.env dosyasındadır.
Önemli Not
Kernel veya NVIDIA sürücü güncellemesi sonrasında CDI spec dosyası geçersiz hale gelebilir. Sürücü güncellemesi yaptıktan sonra sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml komutunu tekrar çalıştırmayı unutmayın.
Ortam Bilgisi
Bu yazıdaki çözüm aşağıdaki ortamda test edilmiştir:
- Fedora / RHEL tabanlı dağıtımlar
- NVIDIA GeForce RTX 4060 Laptop GPU
- NVIDIA Driver 595.80, CUDA 13.2
- Podman (rootless ve rootful)
Umarım işinize yarar. Sorularınız varsa yorumlarda belirtebilirsiniz.

