Mam notebook (Xiaomi Mi Notebook Pro) z Nvidia MX150. Wykorzystuje więc technologię Optimus firmy Nvidia. Jako dystrybucja używam Fedory 28.

Bumblebee

Dlatego zainstalowałem Bumblebee, aby skorzystać z tej technologii.

Powinien być zainstalowany poprawnie, ponieważ mogę uruchom glmark2 przez optirun lub primusrun. Uruchomiony również cat /proc/acpi/bbswitch generuje ON. Zatem procesor graficzny Nvidia powinien rzeczywiście działać.

Docker

Aby zainstalować docker, postępowałem zgodnie z instrukcjami na https://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce

Uruchomienie docker run hello-world wypisuje to, co powinno, więc docker też działa.

nvidia -docker2

Zainstalowałem nvidia-docker2 w Fedorze za pomocą tych poleceń:

curl -s -L https://nvidia.github.io/nvidia-docker/centos7/nvidia-docker.repo | \ sudo tee /etc/yum.repos.d/nvidia-docker.repo sudo dnf install nvidia-docker2 sudo pkill -SIGHUP dockerd 

Zainstalowane pakiety nvidii

Aby sprawdzić, które pakiety nvidia są zainstalowane, uruchamiam to polecenie:

rpm -qa "*nvidia*"

  • Wynik: akmod-nvidia-396.51- 1.fc28.x86_64
  • nvidia-container-runtime-2.0.0-1.docker18.06.1.x86_64
  • nvidia-driver-396.51-1.fc28.x86_64
  • kmod-nvidia-4.17.9-200.fc28.x86_64-396.45-1.fc28.x86_64
  • kmod-nvidia-4.17.14-202.fc28.x86_64-396.51-1. fc28.x86_64
  • nvidia-docker2-2.0.3-1.docker18.06.1.ce.noarch
  • nvidia-driver-libs-396.51-1.fc28.x86_64
  • nvidia-container-runtime-hook-1.4.0-1.x86_64
  • libnvid ia-container1-1.0.0-0.1.rc.2.x86_64
  • kmod-nvidia-4.17.12-200.fc28.x86_64-396.45-1.fc28.x86_64
  • libnvidia-container-tools-1.0.0-0.1.rc.2.x86_64

Testowy docker działa z GPU Nvidia

Niestety, docker obecnie nie działa z procesorem graficznym Nvidia:

optirun docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

Otrzymuję ten błąd:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"process_linux.go:385: running prestart hook 1 caused \\\"error running hook: exit status 1, stdout: , stderr: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig --device=all --compute --utility --require=cuda>=9.0 --pid=26115 /var/lib/docker/overlay2/c00aa7855e42deee545cb07531a571538e0d051d38f45e36584a1c850dd47680/merged]\\\\nnvidia-container-cli: initialization error: driver error: failed to process request\\\\n\\\"\"": unknown.

Czego mi brakuje?

Na razie nie mam pojęcia, gdzie jest błąd. Myślę, że może to być problem z wersją CUDA.

Odpowiedź

Jedyną poprawką, jaką znalazłem (bardziej obejście), jest upewnienie się, że karta nvidia jest najpierw ładowana / wybierana za pomocą funkcji prime-select:

sudo prime-select nvidia 

Wydaje się, że pokonuje cel używania trzmiela

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *