Ho un notebook (Xiaomi Mi Notebook Pro) con un Nvidia MX150. Quindi utilizza la tecnologia Optimus di Nvidia. Come distribuzione, utilizzo Fedora 28.

Bumblebee

Quindi ho installato Bumblebee per sfruttare questa tecnologia.

Dovrebbe essere installato correttamente poiché posso avvia glmark2 tramite optirun o primusrun. Inoltre, vengono eseguiti cat /proc/acpi/bbswitch output ON. Quindi la GPU Nvidia dovrebbe essere effettivamente in esecuzione.

Docker

Per installare docker, ho seguito le istruzioni su https://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce

Lesecuzione di docker run hello-world restituisce ciò che dovrebbe, quindi anche docker funziona.

nvidia -docker2

Ho installato nvidia-docker2 su Fedora con questi comandi:

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 

Pacchetti nvidia installati

Per verificare quali pacchetti nvidia sono installati, eseguo questo comando:

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

Docker di prova è in esecuzione con GPU Nvidia

Sfortunatamente, docker non funziona attualmente con la GPU Nvidia:

optirun docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

Ottengo questo errore:

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.

Cosa mi manca?

Per ora, non ho idea di dove sia lerrore. Immagino che potrebbe essere un problema con la versione CUDA.

Risposta

Lunica “correzione” che ho trovato (più di una soluzione) è assicurarmi che la scheda nvidia venga prima caricata / selezionata tramite prime-select:

sudo prime-select nvidia 

Sembra che stia sconfiggendo lo scopo di usare Bumblebee

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *