Ik heb een notebook (Xiaomi Mi Notebook Pro) met een Nvidia MX150. Het maakt dus gebruik van de Optimus-technologie van Nvidia. Als distributie gebruik ik Fedora 28.
Bumblebee
Daarom heb ik Bumblebee geïnstalleerd om van deze technologie te profiteren.
Het zou correct moeten worden geïnstalleerd omdat ik dat kan start glmark2 via optirun
of primusrun
. Ook draaien van cat /proc/acpi/bbswitch
uitgangen ON
. Dus de Nvidia GPU zou inderdaad moeten draaien.
Docker
Om docker te installeren, volgde ik de instructies op https://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce
Als u docker run hello-world
uitvoert, wordt uitgevoerd wat het zou moeten, dus docker werkt ook.
nvidia -docker2
Ik heb nvidia-docker2 geïnstalleerd op Fedora met deze commandos:
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
Geïnstalleerde nvidia-pakketten
Om te controleren welke nvidia-pakketten zijn geïnstalleerd, voer ik dit commando uit:
rpm -qa "*nvidia*"
- Uitvoer: 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 draait met Nvidia GPU
Helaas werkt docker momenteel niet met de Nvidia GPU:
optirun docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
Ik krijg deze foutmelding:
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.
Wat mis ik?
Voorlopig weet ik niet waar de fout is. Ik denk dat het een probleem kan zijn met de CUDA
versie.
Antwoord
De enige “oplossing” die ik “heb gevonden (meer een tijdelijke oplossing) is ervoor te zorgen dat de nvidia-kaart eerst wordt geladen / geselecteerd via prime-select:
sudo prime-select nvidia
Het voelt alsof het het doel van het gebruik van hommel tenietdoet