Jag har en bärbar dator (Xiaomi Mi Notebook Pro) med en Nvidia MX150. Så det använder Nvidias Optimus-teknik. Som distribution använder jag Fedora 28.
Humla
Därför installerade jag Humla för att dra nytta av denna teknik.
Den ska installeras korrekt eftersom jag kan starta glmark2 via optirun
eller primusrun
. Kör också cat /proc/acpi/bbswitch
utgångar ON
. Så Nvidia GPU borde verkligen köras.
Docker
För att installera dockaren följde jag instruktionerna på https://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce
Att köra docker run hello-world
matar ut vad det borde, så docker fungerar också.
nvidia -docker2
Jag fick nvidia-docker2 installerad på Fedora med följande kommandon:
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
Installerade nvidia-paket
För att kontrollera vilka nvidia-paket som är installerade kör jag det här kommandot:
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
Testdockaren körs med Nvidia GPU
Tyvärr kör dockaren för närvarande inte med Nvidia GPU:
optirun docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
Jag får det här felet:
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.
Vad saknar jag?
För tillfället är jag helt osäker på var felet är. Jag antar att det kan vara ett problem med CUDA
-versionen.
Svar
Den enda ”fix” jag har hittat (mer av en lösning) är att se till att nvidia-kortet laddas / väljs först med prime-select:
sudo prime-select nvidia
Känns som att det besegrar syftet med att använda humla