Aqui está a resposta completa (com base em Alex Falappa e Respostas de Lekensteyn ):
É realmente possível obter GPUs da nVidia Optimus para executar o CUDA no Ubuntu.
O zangão não é necessário para CUDA. (mais sobre Bumblebee : É um NVIDIA GeForce com tecnologia Optimus suportada pelo Ubuntu?
No entanto, quando você precisa mostrar exemplos gráficos usando o OpenGL, você faz precisa de algo como o Bumblebee para sistemas Optimus, caso contrário você não vê nada em seu monitor ou recebe o erro:
ERROR: Support for necessary OpenGL extensions missing.
Se você precisar usar um programa com muitos gráficos, como o Blender, o Bumblebee é um bom caminho no momento.
Pule para Instalando o CUDA se você não quiser instalar o Bumblebee (ou seja, se você não precisa do OpenGL).
Caso contrário, continue lendo.
Instalando o Bumblebee
Siga as instruções em Como funcionam os laptops com o Nvidia Optimus?
Atualmente são atualizados por um desenvolvedor da Bumblebee.
Depois de instalar o Bumblebee e reiniciá-lo, você poderá escolher a placa gráfica a ser usada ao iniciar programas usando o programa optirun
.
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 string do fornecedor GL no terminal contém a palavra nvidia .
Se você executar apenas glxspheres
, verá a string do fornecedor conter a placa Intel.
Ao executar um programa CUDA, você precisa instalar o kit de ferramentas CUDA e um driver nvidia. Se você pretende compilar programas, também precisa do SDK. Os instaladores podem ser encontrados no link , por favor leia as instruções abaixo antes de abrir o seu laptop Optimus.
Instalando o CUDA
Driver
Eu recomendo instalar o driver nvidia do gerenciador de pacotes do Ubuntu. Se você instalar o Bumblebee, não precisa se preocupar com o driver. Caso contrário, após a instalação, desative as bibliotecas nvidia conforme descrito no link . Se você não o fizer, perderá a aceleração 3D e, possivelmente, ficará preso em uma baixa resolução.
Kit de ferramentas
Basicamente você tem que baixar o instalador, torná-lo executável e executá-lo.
- Faça o download do instalador. A partir de 9 de janeiro de 2013, 5.0.35 é o driver mais recente. Como eu tenho um sistema operacional de 64 bits, eu uso o pacote do Ubuntu 11.10 de 64 bits (embora eu esteja executando 12.10)
- Torne-o executável e permita a instalação em /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 a mensagem de instalação ocorrer perguntando onde instalar o CUDA, pressione 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 em seu 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 terá que 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
CUDA não precisa de um servidor X orientado a 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 algumComputallyIntensiveProgram
Se você não adicionou CUDA ao caminho da sua biblioteca, precisará:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH algumComputallyIntensiveProgram
(você pode remover os caminhos de 32 bits se o seu programa for de 64 bits).
Se o programa CUDA tiver algo para exibir usando o OpenGL, você terá que usar o optirun:
optirun blender
Ou, se você não tiver o CUDA adicionado ao seu caminho padrão:
LD_LIBRARY_PATH = / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH liquidificador optirun
Instalando um Blender Build
(Com Kernels CUDA pré-compilados)
Quando você executa optirun blender
, você pode receber uma mensagem do Blender dizendo que a compilação do kernel CUDA falhou, e uma mensagem no terminal similar à 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 da GPU do Blender, você pode precisar de uma compilação do Blender com kernels CUDA pré-compilados. Os builds do Blender.org todos têm kernels pré-compilados; o ppa: cheleb / blender-svn constrói ( mais informações nesta questão ) não.
Para instalar uma compilação oficial do Blender, basta seguir as instruções descritas em esta resposta .
Se você instalou o Blender em /usr/lib/blender
, então poderá executar o Blender a partir do terminal e usar a renderização da GPU com:
optirun '/usr/lib/blender/blender'