programming mac developer cuda driver gpu nvidia

cuda - mac - Controlador NVIDIA NVML/versión de biblioteca no coinciden



nvidia developer cuda (8)

Cuando ejecuto nvidia-smi me sale el siguiente mensaje:

Failed to initialize NVML: Driver/library version mismatch

Hace una hora recibí el mismo mensaje y desinstalé mi biblioteca de cuda y pude ejecutar nvidia-smi , obteniendo el siguiente resultado:

Después de esto descargué cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb de la página oficial de NVIDIA y luego simplemente:

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb sudo apt-get update sudo apt-get install cuda export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

Ahora tengo cuda instalado, pero recibo el error de desajuste mencionado.

Alguna información potencialmente útil:

Ejecutando cat /proc/driver/nvidia/version obtengo:

NVRM version: NVIDIA UNIX x86_64 Kernel Module 378.13 Tue Feb 7 20:10:06 PST 2017 GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)

Estoy ejecutando Ubuntu 16.04.2 LTS.

La versión del kernel es: 4.4.0-66-generic.

¡Gracias!


Como dijo @etal, el reinicio puede resolver este problema, pero creo que un procedimiento sin reiniciar ayudará.

Para chino, mira mi blog -> 中文版

El mensaje de error

NVML: La versión del controlador / biblioteca no coincide

díganos que el módulo del kernel del controlador de Nvidia (kmod) tiene una versión incorrecta, por lo que debemos descargar este controlador y luego cargar la versión correcta de kmod

Como hacer eso ?

Primero, debemos saber qué controladores están cargados.

lsmod | grep nvidia

puedes obtener

nvidia_uvm 634880 8 nvidia_drm 53248 0 nvidia_modeset 790528 1 nvidia_drm nvidia 12312576 86 nvidia_modeset,nvidia_uvm

nuestro objetivo final es descargar nvidia mod, por lo que debemos descargar el módulo depende de nvidia

sudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia_uvm

entonces, descargue nvidia

sudo rmmod nvidia

Solución de problemas

si obtiene un error como rmmod: ERROR: Module nvidia is in use , lo que indica que el módulo del núcleo está en uso, debe eliminar el proceso que usa el kmod:

sudo lsof / dev / nvidia *

y luego mata esos procesos, luego continúa descargando los kmods

Prueba

confirme que descargó con éxito esos kmods

lsmod | grep nvidia

no debería obtener nada, luego confirme que puede cargar el controlador correcto

nvidia-smi

deberías obtener la salida correcta


Entonces estaba teniendo este problema, ninguno de los otros remedios funcionó. El mensaje de error era opaco, pero verificar dmesg fue clave:

[ 10.118255] NVRM: API mismatch: the client has the version 410.79, but NVRM: this kernel module has the version 384.130. Please NVRM: make sure that this kernel module and all NVIDIA driver NVRM: components have the same version.

Sin embargo, eliminé por completo la versión 384 y eliminé los controladores de kernel restantes nvidia-384* . Pero incluso después de reiniciar, todavía recibía esto. Ver esto significaba que el kernel todavía estaba compilado para la referencia 384, pero solo estaba encontrando 410. Así que volví a compilar mi kernel:

# uname -a # find the kernel it''s using Linux blah 4.13.0-43-generic #48~16.04.1-Ubuntu SMP Thu May 17 12:56:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux # update-initramfs -c -k 4.13.0-43-generic #recompile it # reboot

Y luego funcionó.

Después de eliminar 384, todavía tenía 384 archivos en: /var/lib/dkms/nvidia-XXX/XXX.YY/4.13.0-43-generic/x86_64/module /lib/modules/4.13.0-43-generic/ kernel / drivers

Recomiendo usar el comando de locate (no instalado por defecto) en lugar de buscar el sistema de archivos cada vez.


Esto también me sucedió en Ubuntu 16.04 usando el paquete nvidia-348 (última versión de nvidia en Ubuntu 16.04).

Sin embargo, podría resolver el problema instalando nvidia-390 través de los controladores de GPU patentados PPA .

Entonces, una solución al problema descrito en Ubuntu 16.04 es hacer esto:

  • sudo add-apt-repository ppa:graphics-drivers/ppa
  • sudo apt-get update
  • sudo apt-get install nvidia-390

Nota: Esta guía asume una instalación limpia de Ubuntu. Si tiene controladores anteriores instalados, es posible que sea necesario reiniciar para volver a cargar todos los módulos del kernel.


Las 2 respuestas principales no pueden resolver mi problema. Encontré una solución en el foro oficial de Nvidia que resolvió mi problema. La siguiente información de error puede causar la instalación de dos versiones diferentes del controlador por diferentes enfoques. Por ejemplo, instale el controlador Nvidia por el apt y el instalador oficial.

Error al inicializar NVML: la versión del controlador / biblioteca no coincide

Para resolver este problema, solo necesita ejecutar uno de los siguientes dos comandos.

sudo apt-get --purge remove "*nvidia*"

sudo /usr/bin/nvidia-uninstall



Sorpresa sorpresa, reiniciar resolvió el problema (pensé que ya lo había intentado).

La solución que Robert Crovella mencionó en los comentarios también puede ser útil para otra persona, ya que es bastante similar a lo que hice para resolver el problema la primera vez que la tuve.


Tenía el problema también. (Estoy ejecutando ubuntu 18.04)

Lo que hice:

dpkg -l | grep -i nvidia

Luego sudo apt-get remove --purge nvidia-381 (y cada versión duplicada, en mi caso tenía 381, 384 y 387)

Luego, sudo ubuntu-drivers devices para enumerar lo que está disponible

Y elijo sudo apt install nvidia-driver-430

Después de eso, nvidia-smi dio la salida correcta (no es necesario reiniciar). Pero supongo que puede reiniciar cuando tenga dudas.

También seguí esta instalación para reinstalar cuda + cudnn.


failed to initialize NVML: Driver/Library version mismatch el error de error failed to initialize NVML: Driver/Library version mismatch con mi indicador de temperatura nvidia-gpu. Y nvidia-smi no pudo imprimir ninguna información. Traté de encontrar si había otras versiones del controlador nvidia instaladas en mi ubuntu. Pero acabo de encontrar nvidia-driver-390. Al final, reboot me ayudó a resolver el problema.