Mám Notebook (Xiaomi Mi Notebook Pro) s Nvidia MX150. Využívá tedy technologii Optimus od společnosti Nvidia. Jako distribuci používám Fedoru 28.
Bumblebee
Proto jsem nainstaloval Bumblebee, abych využil této technologie.
Měl by být nainstalován správně, protože můžu spusťte glmark2 pomocí optirun
nebo primusrun
. Také běží cat /proc/acpi/bbswitch
výstupy ON
. GPU Nvidia by tedy skutečně mělo běžet.
Docker
Chcete-li nainstalovat docker, postupoval jsem podle pokynů v https://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce
Spuštění docker run hello-world
vypíše, co by mělo, takže docker také funguje.
nvidia -docker2
Na Fedoru jsem nainstaloval nvidia-docker2 pomocí těchto příkazů:
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
Nainstalované balíčky nvidia
Chcete-li zkontrolovat, které balíčky nvidia jsou nainstalovány, spustím tento příkaz:
rpm -qa "*nvidia*"
- Výstup: 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
Testovací dok je spuštěn s Nvidia GPU
Bohužel, ukotvitelný panel momentálně není spuštěn s GPU Nvidia:
optirun docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
Zobrazuje se mi tato chyba:
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.
Co mi chybí?
Zatím jsem bezradný, kde je chyba. Myslím, že by to mohl být problém s verzí CUDA
.
Odpověď
Jedinou nalezenou „opravou“ (více řešení) je zajistit, aby byla karta nvidia nejprve načtena / vybrána pomocí prime-select:
sudo prime-select nvidia
Cítí se, jako by to marilo účel používání čmeláka