Encontrei meia dúzia de postagens sobre isso em toda a web, mas nenhuma delas realmente responde à pergunta.
Quero configurar minha GPU nvidia para fazer apenas cálculos, não para conduzir a tela. Mas quando mudo para o uso da GPU Intel na configuração nvidia-prime, não consigo mais carregar o módulo nvidia.
modprobe: ERROR: could not insert 'nvidia_352': No such device
Sem o módulo, CUDA não funciona, obviamente.
Então, o que exatamente a nvidia-prime está fazendo que impossibilita o carregamento do módulo? Não está na lista negra. Não há arquivo xorg.conf, então como o sistema sabe usar a GPU Intel em vez da discreta?
Estou em um Dell 5510 Precision com o Ubuntu 14.04 instalado de fábrica e minha GPU é o Quadro M1000M.
Alguns sugerem o uso do zangão, mas isso não deve ser necessário para cargas de computação puras.
Além disso, aparentemente o zangão é capaz de carregar o módulo. Então, o que exatamente está fazendo?
Atualização: Então, por que sempre parece que encontro a resposta quando finalmente posto uma pergunta, depois de horas tentando descobrir. Isso é apenas uma resposta parcial, mas estou tentando algo.
Até agora, determinei que o prime faz pelo menos duas coisas:
- Desligue a GPU usando o bbswitch.
- Altera as alternativas para /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf.
Usando o bbswitch para ligar novamente a GPU, agora consigo carregar o módulo NVIDIA.
Mas a questão ainda permanece: Qual é a melhor maneira de configurar o sistema para usar a placa NVIDIA apenas para cálculos?
Devo definir a nvidia-prime para usar a GPU Intel e tentar desvendar manualmente o que isso fez para o CUDA funcionar?
Como garantir que o sistema ainda use a GPU Intel para a tela?
Como eu simplesmente desabilitava o NVIDIA prime e configurava tudo manualmente?
Ou devo apenas ceder e usar o Bumblebee e optar por executar? Quais são as desvantagens disso, se houver?
Alguma recomendação?