.png)
Migrando esta postagem do stack overflow onde foi fechada porque acho que é útil
Instalei recentemente o kit de ferramentas cuda 5.5 com driver 331.67 (tenho uma GeForce GTX 680). Por algum motivo, não consigo executar nenhum dos scripts de teste:
$./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
Segui as etapas do "guia de primeiros passos" aqui
http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/
e criei um script para criar os arquivos de dispositivo de caracteres na inicialização (como estou executando a edição de servidor do Ubuntu, esses arquivos gráficos não são criados por padrão):
$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
A saída para executar o comando nvidia-smi -a
é (para usuário normal e usuário root):
Failed to initialize NVML: Unknown Error
Aqui estão algumas informações sobre o módulo 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
...
...
Alguma sugestão ? Obrigado.
EDITAR #1 Tentei fazer o downgrade para o driver 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
...
Agora, quando executo, nvidia-smi -a
recebo o seguinte:
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
Instalei os pacotes nvidia-current-updates
e nvidia-settings-updates
dos repositórios antes de instalar o arquivo do driver e acho que foi aí que surgiu o conflito. Não encontrei uma solução, mas acho que estamos um passo mais perto. Aqui está o resultado demodprobe -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
Responder1
Esta resposta foi migrada do estouro de pilha
Acontece que o principal erro que encontrei foi devido ao fato de haver uma incompatibilidade de versão entre o módulo do kernel da nvidia e o componente do driver. Aqui estão as etapas que executei que me ajudaram a encontrar uma solução.
1) fazer o downgrade do driver me permitiu reclamar nvidia-smi -a
sobre uma incompatibilidade de componente do driver. Eu não tinha certeza se isso seria um problema originalmente. Eu estava simplesmente seguindo um guia de configuração do kit de ferramentas CUDA, que não mencionou que isso era um problema.
2) Depois de instalar os módulos do kernel dos repositórios, apenas escolhi o componente do driver correspondente com a versão correta. Se você não sabe a versão do módulo do kernel instalado, você pode usar modprobe e modinfo. Por exemplo, no meu sistema
$ 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
O módulo nvidia_304_updates foi instalado a partir dos repositórios (pacote nvidia-updates-current). Sua versão exata é encontrada em 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
Depois de baixar e instalar o componente de driver correspondente do arquivo no site da nvidia,
http://www.nvidia.com/Download/Find.aspx?lang=en-us
, consegui executar o comando
$ 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
...
...
E o script original que eu estava tentando executar
$ ./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
...
...