Aqui está a resposta completa (com base nas respostas de Alex Falappa e Lekensteyn ):
Na verdade, é possível fazer com que as GPUs nVidia Optimus executem CUDA no Ubuntu.
Bumblebee não é necessário para CUDA. (mais sobre o Bumblebee : Uma NVIDIA GeForce com Optimus Technology é suportada pelo Ubuntu? )
No entanto, quando você precisa mostrar exemplos gráficos usando OpenGL, você fazer necessidade algo como Bumblebee para sistemas Optimus, caso contrário, você não quer ver nada no visor ou obter o erro:
ERROR: Support for necessary OpenGL extensions missing.
Se você precisar usar um programa com muitos gráficos, como o Blender, o Bumblebee é atualmente um bom caminho.
Vá para Instalando CUDA se você não quiser instalar o Bumblebee (por exemplo, se você não precisar do OpenGL).
Caso contrário, continue a ler.
Instalando o Bumblebee
Siga as instruções em Como funcionam os laptops com Nvidia Optimus?
Atualmente, eles são mantidos atualizados por um desenvolvedor do Bumblebee.
Depois de instalar o Bumblebee e reiniciar, você poderá escolher a placa gráfica a ser usada ao iniciar programas usando o optirun
programa.
Por exemplo:
optirun blender
Para testar rapidamente se tudo funciona corretamente, use:
optirun glxspheres
Você verá um programa com esferas giratórias coloridas, se tudo estiver funcionando corretamente.
Verifique se a cadeia de fornecedores GL no terminal contém a palavra nvidia .
Se você executar apenas glxspheres
, verá que a cadeia de fornecedores contém a placa Intel.
Ao executar um programa CUDA, você precisa instalar o kit de ferramentas CUDA e um driver da nvidia. Se você pretende compilar programas, também precisa do SDK. Os instaladores podem ser encontrados em http://developer.nvidia.com/cuda-downloads , leia as instruções abaixo antes de iniciar o seu laptop Optimus.
Instalando CUDA
Motorista
Eu recomendo instalar o driver nvidia do gerenciador de pacotes do Ubuntu. Se você instalar o Bumblebee, não precisará se preocupar com o driver. Caso contrário, após a instalação, desative as bibliotecas da nvidia, conforme descrito em https://askubuntu.com/a/107746/6969 . Caso contrário, você perderá a aceleração 3D e, possivelmente, ficará preso em baixa resolução.
Conjunto de ferramentas
Basicamente, você precisa baixar o instalador, torná-lo executável e executá-lo. - Baixe o instalador. Em 9 de janeiro de 2013, 5.0.35 é o driver mais recente. Como tenho um sistema operacional de 64 bits, uso o pacote Ubuntu 11.10 de 64 bits (embora esteja executando o 12.10) - torne-o executável e permita a instalação /usr/local/cuda
:
chmod +x cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run
sudo ./cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run
Quando ocorrer a mensagem de instalação que pergunta onde instalar o CUDA, basta pressionar Enter para aceitar o padrão /usr/local/cuda
:
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
Após a instalação, ele imprimirá algumas mensagens que sugerem colocar o diretório da biblioteca cuda no caminho de pesquisa da biblioteca:
========================================
* Please make sure your PATH includes /tmp/cuda/cuda/bin
* Please make sure your LD_LIBRARY_PATH
* for 32-bit Linux distributions includes /tmp/cuda/cuda/lib
* for 64-bit Linux distributions includes /tmp/cuda/cuda/lib64:/tmp/cuda/cuda/lib
* OR
* for 32-bit Linux distributions add /tmp/cuda/cuda/lib
* for 64-bit Linux distributions add /tmp/cuda/cuda/lib64 and /tmp/cuda/cuda/lib
* to /etc/ld.so.conf and run ldconfig as root
* Please read the release notes in /tmp/cuda/cuda/doc/
* To uninstall CUDA, remove the CUDA files in /tmp/cuda/cuda
* Installation Complete
Você pode pular esta etapa se quiser, mas precisará definir LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
mais tarde ao executar um programa.
SDK
Se você quiser compilar aplicativos CUDA, poderá instalar o SDK de maneira semelhante à descrita acima. Faça o download, torne-o executável e execute-o (não como root, por exemplo, sem sudo
!).
Usando CUDA
O CUDA não precisa de um servidor X baseado em nvidia para funcionar. Nesse caso, você pode executar seu programa de teste aleatório como:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
Se você não adicionou CUDA ao caminho da sua biblioteca, será necessário:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
(você pode remover os caminhos de 32 bits se o programa for de 64 bits).
Se o programa CUDA tiver algo a ser exibido usando o OpenGL, você precisará usar o optirun:
optirun blender
Ou, se você não tiver CUDA adicionado ao seu caminho padrão:
LD_LIBRARY_PATH = / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH optirun blender
Instalando um Blender Build
(Com núcleos CUDA pré-compilados)
Quando você executa optirun blender
, você pode receber uma mensagem do Blender informando que a compilação do kernel CUDA falhou e uma mensagem no terminal semelhante à seguinte:
Compiling CUDA kernel ...
nvcc warning : Option '--opencc-options (-Xopencc)' is obsolete and ignored, when
targeting compute_20, sm_20, or higher
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
CUDA kernel compilation failed, see console for details.
Se você quiser usar o recurso de renderização de GPU do Blender, poderá precisar de uma compilação do Blender com kernels CUDA pré-compilados. Todas as versões do Blender.org têm kernels CUDA pré-compilados; as compilações ppa: cheleb / blender-svn ( mais informações nesta pergunta ) não.
Para instalar uma compilação oficial do Blender, basta seguir as instruções descritas nesta resposta .
Se você instalou o Blender /usr/lib/blender
, poderá executar o Blender a partir do terminal e usar a renderização da GPU com:
optirun '/usr/lib/blender/blender'