Bugün ki yazımızda Pardus’a nvidia docker2 nedir ve sistemimize nasıl kurulur anlatmaya çalışacağım.

Nvidia Docker 2, Nvidia GPU’larını kullanarak docker konteynerlerini çalıştırmak için kullanılan bir araçtır. Bu araç, Nvidia GPU’larını doğrudan docker konteynerlerinde kullanarak, makine öğrenimi ve derin öğrenme gibi GPU yoğun iş yüklerinin daha verimli bir şekilde çalışmasına izin verir.

Bu sayede farklı farklı işlemleri tek cihazda docker konteynırları kullanılarak yapılabiliriz. Örneğin bir proje için farklı versiyonlardaki kütüphaneleri farklı sistemler yerine farklı konteynırlarda çalıştırabiliriz.

Kurulum için ilk öncelikle nvidia docker2 kurmak için sistemimizde nvidia sürücüleri yüklü olması gerekiyor. Bunun için forumdaki konuya bakabilirsiniz ve sonrasında tabiki sistemimizde docker yüklü olmalıdır. Bunun için direk Pardus depolarındaki sürümü kullanabiliriz veya docker’ın kendi sağladığı depoları sisteme ekleyip da kullanabiliriz.

Dockerı Pardus deposundan yükleme

Eğer Pardus depolarındaki sürüm sizin için yeterli ise alttaki adımları takip ederek yükleme işlemini gerçekleştirebilirsiniz.

Uyarı

Altta kullanıcı_isminiz olan yere kendi kullanıcı ismini girmeniz gerekiyor!

sudo apt update
sudo apt install docker.io
sudo usermod -aG docker kullanıcı_isminiz #buraya kendi kullanıcı ismini girmeniz gerekiyor
sudo systemctl restart docker

Dockerı kendi deposundan yükleme

Eğer ki sürüm sıkıntısı yaşamak istemiyorsanız dockerın kendi depolarını kullanabilirsiniz. Özellikle özelleştirilmiş image oluştururken yaml dosyalarında sıkıntı olabiliyor.

Yüklemek için öncelikle gerekli paketleri yüklüyoruz

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

Resmi anahtarlarını sisteme ekliyoruz

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Depoyu sisteme ekliyoruz

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  bullseye stable" | \
  sudo tee /etc/apt/sources.list.d/docker2.list > /dev/null

Ve dockerı araçlarıyla birlikte yüklüyoruz

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Ek olarak dockerı sisteme super kullanıcı olarak ekleyebiliriz. Bu sayede her seferinde bize sudo ile şifremizi sormaz.

Uyarı

Altta kullanıcı_isminiz olan yere kendi kullanıcı ismini girmeniz gerekiyor!

sudo usermod -aG docker kullanıcı_isminiz
sudo systemctl restart docker

Buradaki yönergeler dockerın kendi sitesinde bazı bölümler Pardusa uyarlanarak alınmıştır. Örneğin

"$(. /etc/os-release && echo "$VERSION_CODENAME")"

Burda dockerda pardus yirmibir için bir depo olmadığı için bu kısım bullseye olarak değiştirdim. Bu kısmı biraz daha farklı olarak nvidia-docker2 için de alt tarafta yapmamız gerekecek. Ama sizin bir şey değiştirmenize gerek yok. Yazıdaki bölümler zaten ayarladım.


Nvidia docker2 kurulumu

Öncelikle anahtar ile depoyu sistemimize ekliyoruz

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/debian11/libnvidia-container.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

Yüklemek için

sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

İnşAllah bir sıkıntı çıkmadıysa şu an sisteminize nvidia-docker2 yüklenmiş olmalı. Şimdiden hayırlı olsun

Test için alttaki deneme CUDA konteynırını deneyebilirsiniz

sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

Sonuç olarak nvidianın kendi sitesindekine benzer bir sonuç çıkması gerekiyor

Örnek cuda konteynır çıktısı

Kaynaklar:

https://docs.docker.com/engine/install/debian/

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html

https://gonullu.pardus.org.tr/docker-kullanarak-gui-uygulama-calistirma/