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

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *