Tengo un portátil (Xiaomi Mi Notebook Pro) con una Nvidia MX150. Por lo tanto, utiliza la tecnología Optimus de Nvidia. Como distribución, uso Fedora 28.

Bumblebee

Por lo tanto, instalé Bumblebee para aprovechar esta tecnología.

Debería instalarse correctamente ya que puedo inicie glmark2 a través de optirun o primusrun. También ejecutando cat /proc/acpi/bbswitch salidas ON. Por lo tanto, la GPU de Nvidia debería estar ejecutándose.

Docker

Para instalar Docker, seguí las instrucciones en https://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce

La ejecución de docker run hello-world genera lo que debería, por lo que Docker también funciona.

nvidia -docker2

Tengo nvidia-docker2 instalado en Fedora con estos 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 

Paquetes nvidia instalados

Para comprobar qué paquetes de nvidia están instalados, ejecuto este comando:

rpm -qa "*nvidia*"

  • Salida: 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

La ventana acoplable de prueba se está ejecutando con la GPU de Nvidia

Desafortunadamente, la ventana acoplable no se ejecuta actualmente con la GPU de Nvidia:

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

Recibo este error:

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.

¿Qué me estoy perdiendo?

Por ahora, no tengo ni idea de dónde está el error. Supongo que podría ser un problema con la versión CUDA.

Respuesta

La única «solución» que he encontrado (más bien una solución alternativa) es asegurar que la tarjeta nvidia se cargue / seleccione primero a través de prime-select:

sudo prime-select nvidia 

Parece que está frustrando el propósito de usar abejorro

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *