Jeg har en notesbog (Xiaomi Mi Notebook Pro) med en Nvidia MX150. Så det bruger Nvidias Optimus-teknologi. Som distribution bruger jeg Fedora 28.
Humlebi
Derfor installerede jeg Humlebi for at udnytte denne teknologi.
Den skal installeres korrekt, da jeg kan start glmark2 via optirun
eller primusrun
. Kører også cat /proc/acpi/bbswitch
udgange ON
. Så Nvidia GPU burde faktisk køre.
Docker
For at installere docker fulgte jeg instruktionerne på https://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce
Kører docker run hello-world
output, hvad det skal, så docker fungerer også.
nvidia -docker2
Jeg fik nvidia-docker2 installeret på Fedora med disse kommandoer:
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
Installerede nvidia-pakker
For at kontrollere hvilke nvidia-pakker, der er installeret, kører jeg denne kommando:
rpm -qa "*nvidia*"
- Output: 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 kører med Nvidia GPU
Desværre kører docker ikke i øjeblikket med Nvidia GPU:
optirun docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
Jeg får denne fejl:
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.
Hvad mangler jeg?
Indtil videre er jeg uklart, hvor der er fejlen. Jeg antager, at det kunne være et problem med CUDA
-versionen.
Svar
Den eneste “rettelse”, som jeg har fundet (mere af en løsning) er at sikre, at nvidia-kortet først indlæses / vælges via prime-select:
sudo prime-select nvidia
Føles som om det besejrer formålet med at bruge humle