Ich habe ein Notebook (Xiaomi Mi Notebook Pro) mit einem Nvidia MX150. Es nutzt also die Optimus-Technologie von Nvidia. Als Distribution verwende ich Fedora 28.
Bumblebee
Deshalb habe ich Bumblebee installiert, um diese Technologie zu nutzen.
Es sollte korrekt installiert werden, da ich kann Starten Sie glmark2 über optirun
oder primusrun
. Beim Ausführen von cat /proc/acpi/bbswitch
werden ON
ausgegeben. Die Nvidia-GPU sollte also tatsächlich ausgeführt werden.
Docker
Um Docker zu installieren, habe ich die Anweisungen unter
Wenn Sie docker run hello-world
ausführen, wird das ausgegeben, was es sollte, sodass Docker auch funktioniert.
nvidia -docker2
Ich habe nvidia-docker2 mit folgenden Befehlen auf Fedora installiert:
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
Installierte nvidia-Pakete
Um zu überprüfen, welche NVIDIA-Pakete installiert sind, führe ich den folgenden Befehl aus:
rpm -qa "*nvidia*"
- Ausgabe: 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
Test-Docker wird mit Nvidia-GPU ausgeführt
Leider wird Docker derzeit nicht ausgeführt mit der Nvidia-GPU:
optirun docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
Ich erhalte folgende Fehlermeldung:
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.
Was fehlt mir?
Im Moment weiß ich nicht, wo der Fehler liegt. Ich denke, es könnte ein Problem mit der CUDA
-Version sein.
Antwort
Die einzige „Lösung“, die ich gefunden habe (eher eine Umgehung), besteht darin, sicherzustellen, dass die NVIDIA-Karte zuerst über die Primeauswahl geladen / ausgewählt wird:
sudo prime-select nvidia
Es scheint, als würde es den Zweck der Verwendung von Hummeln zunichte machen.