16 Haziran 2026 Salı

Podman'da "unresolvable CDI devices nvidia.com/gpu=all" Hatası ve Çözümü

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.

Ansible değişkenlerini doğru yerde tutmak

Ansible Değişkenlerini Doğru Yerde Tutmak Ansible · Değişkenler Ansible değişkenlerini doğru yerde tutmak Ansible'd...