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