
Ich habe ein Notebook (Xiaomi Mi Notebook Pro) mit einer Nvidia MX150. Es nutzt also die Optimus-Technologie von Nvidia. Als Distribution verwende ich Fedora 28.
Hummel
Deshalb habe ich Bumblebee installiert, um die Vorteile dieser Technologie zu nutzen.
Es sollte korrekt installiert sein, da ich glmark2 über optirun
oder starten kann primusrun
. running gibt auch cat /proc/acpi/bbswitch
aus ON
. Die Nvidia-GPU sollte also tatsächlich laufen.
Docker
Um Docker zu installieren, folgte ich den Anweisungen aufhttps://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce
Beim Ausführen docker run hello-world
wird das ausgegeben, was es soll, also funktioniert Docker auch.
nvidia-docker2
Ich habe nvidia-docker2 mit diesen 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 diesen 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
- libnvidia-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 läuft mit Nvidia-GPU
Leider läuft Docker derzeit nicht mit der Nvidia-GPU:
optirun docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
Ich erhalte diesen Fehler:
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 vermisse ich?
Ich weiß momentan nicht, wo der Fehler liegt. Ich vermute, es könnte ein Versionsproblem sein CUDA
.
Antwort1
Die einzige „Lösung“, die ich gefunden habe (eher ein Workaround), besteht darin, sicherzustellen, dass die NVIDIA-Karte zuerst über Prime-Select geladen/ausgewählt wird:
sudo prime-select nvidia
Es fühlt sich an, als würde es den Zweck der Verwendung von Bumblebee zunichte machen