Docker com Bumblebee no Fedora

Docker com Bumblebee no Fedora

Tenho um Notebook (Xiaomi Mi Notebook Pro) com Nvidia MX150. Portanto, está utilizando a tecnologia Optimus da Nvidia. Como distribuição, uso o Fedora 28.

Abelha

Por isso instalei o Bumblebee para aproveitar as vantagens desta tecnologia.

Ele deve estar instalado corretamente, pois posso iniciar o glmark2 via optirunou primusrun. Também executando cat /proc/acpi/bbswitchsaídas ON. Portanto, a GPU Nvidia deveria realmente estar funcionando.

Docker

Para instalar o docker, segui as instruções emhttps://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce

A execução docker run hello-worldgera o que deveria, então o docker também funciona.

nvidia-docker2

Instalei o nvidia-docker2 no Fedora com estes comandos:

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

Pacotes nvidia instalados

Para verificar quais pacotes da nvidia estão instalados, executo este comando:

rpm -qa '*nvidia*'

  • Saída: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
  • libnvidia-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

A janela de encaixe de teste está sendo executada com GPU Nvidia

Infelizmente, o docker não funciona atualmente com a GPU Nvidia:

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

Eu recebo este erro:

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.

o que estou perdendo?

Por enquanto, não tenho ideia de onde está o erro. Acho que pode ser um problema com a CUDAversão.

Responder1

A única "correção" que encontrei (mais uma solução alternativa) é garantir que a placa nvidia seja carregada/selecionada primeiro via prime-select:

sudo prime-select nvidia

Parece que está anulando o propósito de usar o zangão

informação relacionada