Erro NVIDIA CUDA ao usar um cartão diferente para exibição

0

Eu instalei o CUDA para minha placa gráfica NVIDIA há cerca de um mês, em uma instalação limpa do Ubuntu 16.04. Eu usei o runfile mais recente para a instalação e, até onde eu sei, segui as instruções ao pé da letra, com a exceção de que as modificações no PATH e LD_LIBRARY_PATH dadas nas instruções estão incorretas. A instalação foi bem-sucedida e até mesmo conseguiu funcionar sem interferir no X - minha máquina também possui uma placa de vídeo Intel, usada para exibição.

Esta manhã, os programas CUDA pararam de funcionar, e a nvidia-smi informou que não podia se comunicar com a placa gráfica porque estava inativa. Eu consertei isso colocando a tela na placa de vídeo NVIDIA, com o resultado óbvio - a tela não pode atualizar enquanto um kernel CUDA estiver rodando. Agora, quando eu alterno a tela de volta para a placa de vídeo Intel, recebo um novo erro: nvidia-smi reports:

NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please
make sure that the NVIDIA Display Driver is properly installed and present in
your system.
Please also try adding directory that contains libnvidia-ml.so to your system PATH.

O diretório contendo libnvidia-ml.so está no PATH do sistema. Esse erro, devo enfatizar, desaparece quando a placa NVIDIA é definida como minha placa de vídeo principal.

Sempre que executo um programa CUDA de qualquer tipo com o conjunto Intel como exibição, recebo o erro 35: "A versão do driver CUDA é insuficiente para a versão de tempo de execução CUDA." Isso parece impossível - "cat / proc / driver / nvidia / version" produz a versão do driver 375.39, e pelo que entendi isso é compatível com o CUDA 8.

Usando

LD_PRELOAD=/usr/lib/nvidia-375/libnvidia-ml.so nvidia-smi

corrige o primeiro erro, mas não o segundo.

Estou relutante em reinstalar o CUDA sem saber o que deu errado aqui - prefiro não ter que lidar com isso uma vez por mês. Alguma sugestão?

Atualização : Quando eu começo com X rodando na placa NVIDIA e executo a seguinte sequência de comandos (depois de carregar o pacote CUDA .deb):

sudo apt-get purge nvidia-*
sudo apt-get install nvidia-375
sudo apt-get install cuda

funciona. Mas eu acho que isso é porque eu de alguma forma enganei a placa NVIDIA em pensar que ela está rodando X, sem realmente executar o X; quando eu reiniciar, o problema ressurge (se eu executar o X na placa NVIDIA, tudo bem, mas eu não posso executar programas CUDA sem congelar a tela; se eu executar X na placa Intel, nenhuma funcionalidade CUDA funciona).

    
por Reese 20.05.2017 / 17:14

1 resposta

0

O Ubuntu 16.04, o cuda-8.0 e o Nvidia 375 funcionam bem juntos, mas há muitas direções mais confusas por aí. Comece com o site da Intel, instalação do Intel Ubuntu , e use o arquivo deb como o método de instalação mais específico do sistema. Os compiladores padrão, gcc5, estão bem para o 16.04.

Primeiro, obtenha os drivers do Ubuntu Nvidia antes de iniciar qualquer instalação do cuda. Ative os Parceiros da Canonical sob o atualizador de software, botão Configurações / Outro Software. E os drivers proprietários na guia Software do Ubuntu. Atualize o índice do pacote e, em seguida, sob Drivers adicionais, instale o driver de vídeo da Nvidia (testado). Ignore qualquer oferta de drivers da Nvidia do pacote cuda.

Faça o download do pacote Intel cuda 8.0 deb e use o dpkg -i para instalá-lo. Observe o local do diretório cuda-8.0, você usará isso para modificar seu PATH e LD_LIBRARY_PATH, incluindo / bin para o PATH e / lib64 para as bibliotecas. Copie o diretório de amostras do local cuda-8.0 para algum local gravável por você, para poder criar coisas nele. Use o apt-get para instalar o cuda e cuda-toolkit-8-0, eles trarão muitos outros pacotes de cuda. É isso, os makefiles nos diretórios de amostra devem ser executados (a menos que um exemplo específico precise de bibliotecas adicionais, o nbody não, portanto, tente primeiro).

Agora os drivers Nvidia estão em fluxo, eu instalei o 367 e fui atualizado para o 375. Eu não tive nenhum problema com isso, mas achei um 367 conectado às amostras de cuda, então cuidado se você tentar limpar o diretórios antigos. As bibliotecas da Nvidia estão nos locais normais do / usr / lib / nvidia-375, portanto, nenhum mod de caminho é necessário para eles.

Dê uma olhada no site da nvidia como a sua e resolveu problema como o seu . Depende do hardware.

    
por ubfan1 21.05.2017 / 01:21