1

Миграция этого поста из переполнения стека, где он был закрыт, потому что я чувствую, что это полезно

Недавно я установил набор инструментов cuda 5.5 с драйвером 331.67 (у меня GeForce GTX 680). По какой-то причине я не могу запустить ни один из тестовых сценариев:

$./NVIDIA_CUDA-5.5_Samples/1_Utilities/deviceQuery/deviceQuery 
./NVIDIA_CUDA-5.5_Samples/1_Utilities/deviceQuery/deviceQuery Starting...

CUDA Device Query (Runtime API) version (CUDART static linking)

cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected
Result = FAIL

Я следовал инструкциям в руководстве по началу работы здесь

http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/

и создал скрипт для создания файлов символьных устройств при запуске (поскольку я использую серверную версию Ubuntu, такие графические файлы по умолчанию не создаются):

$ls -l /dev/nvidia*
crw-rw-rw- 1 root root 195,   0 Apr 11 17:29 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 Apr 11 17:29 /dev/nvidiactl

Вывод для выполнения команды nvidia-smi -a (для обычного пользователя и пользователя root):

Failed to initialize NVML: Unknown Error

Вот некоторая информация о модуле nvidia

$ lsmod | grep nvidia
nvidia              11335080  0 
$ modinfo nvidia
filename:       /lib/modules/3.11.0-17-generic/updates/dkms/nvidia.ko
alias:          char-major-195-*
version:        331.67
supported:      external
license:        NVIDIA
...
...

Какие-либо предложения ? Благодарю.

РЕДАКТИРОВАТЬ # 1 Я попытался понизить до водителя 319.76:

$ modinfo nvidia
filename:       /lib/modules/3.11.0-17-generic/updates/dkms/nvidia.ko
alias:          char-major-195-*
version:        319.76
supported:      external
...

Теперь, когда я запускаю nvidia-smi -a я получаю следующее:

NVIDIA: API mismatch: the NVIDIA kernel module has version 304.116,
but this NVIDIA driver component has version 319.76.  Please make
sure that the kernel module and all NVIDIA driver components
have the same version.
Failed to initialize NVML: Unknown Error

Я установил пакеты nvidia-current-updates и nvidia-settings-updates из репозиториев перед установкой файла драйвера, и я думаю, что именно здесь возник конфликт. Я не нашел решения, но я думаю, что это на один шаг ближе. Вот результат работы modprobe -l | grep nvidia

kernel/drivers/video/nvidia/nvidiafb.ko
kernel/drivers/net/ethernet/nvidia/forcedeth.ko
updates/dkms/nvidia.ko
updates/dkms/nvidia_304_updates.k

1 ответ1

1

Этот ответ был перенесен из переполнения стека

Таким образом, оказывается, что основная ошибка, с которой я столкнулся, была связана с тем, что между модулем ядра nvidia и компонентом драйвера было несоответствие версий. Вот шаги, которые я предпринял, которые помогли мне найти решение.

1) понижение версии драйвера позволило мне увидеть nvidia-smi -a жалобу на несоответствие компонентов драйвера. Я не был уверен, что это будет проблемой изначально. Я просто следовал руководству по установке инструментария CUDA, в котором не упоминалось, что это проблема.

2) Установив модули ядра из репозитория, я просто выбрал соответствующий компонент драйвера с правильной версией. Если вы не знаете версию установленного вами модуля ядра, вы можете использовать modprobe и modinfo. Например, в моей системе

$ modprobe -l | grep nvidia
kernel/drivers/video/nvidia/nvidiafb.ko
kernel/drivers/net/ethernet/nvidia/forcedeth.ko
updates/dkms/nvidia.ko
updates/dkms/nvidia_304_updates.ko

Модуль nvidia_304_updates был установлен из репозитория (пакет nvidia-updates-current). Его точная версия находится с modinfo

$ modinfo /lib/modules/3.11.0-17-generic/updates/dkms/nvidia_304_updates.ko 
filename:       /lib/modules/3.11.0-17-generic/updates/dkms/nvidia_304_updates.ko
alias:          char-major-195-*
version:        304.116
supported:      external

После загрузки и установки соответствующего компонента драйвера из архива на сайте nvidia,

http://www.nvidia.com/Download/Find.aspx?lang=en-us

Я смог запустить команду

$ nvidia-smi -a

==============NVSMI LOG==============

Timestamp                       : Mon Apr 14 15:17:44 2014
Driver Version                  : 304.116

Attached GPUs                   : 1
GPU 0000:04:00.0
    Product Name                : GeForce GTX 680
...
...

И оригинальный сценарий, который я пытался выполнить

$ ./deviceQuery 
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 680"
  CUDA Driver Version / Runtime Version          5.0 / 5.0
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 2047 MBytes (2146762752 bytes)
  ( 8) Multiprocessors x (192) CUDA Cores/MP:    1536 CUDA Cores
  ...
  ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .