Aquí está la respuesta completa (basada en las respuestas de Alex Falappa y Lekensteyn ):
De hecho, es posible obtener GPU nVidia Optimus para ejecutar CUDA en Ubuntu.
Abejorro no es necesario para CUDA. (más sobre Bumblebee : ¿es una NVIDIA GeForce con tecnología Optimus compatible con Ubuntu? )
Sin embargo, cuando se necesita para mostrar ejemplos gráficos usando OpenGL, se hace necesario algo así como abejorro para los sistemas de Optimus, de lo contrario o bien no aparece nada en la pantalla o aparece el error:
ERROR: Support for necessary OpenGL extensions missing.
Si necesita utilizar un programa intensivo en gráficos como Blender, Bumblebee es una buena opción.
Vaya a Instalación de CUDA si no desea instalar Bumblebee (es decir, si no necesita OpenGL).
De lo contrario, sigue leyendo.
Instalación de abejorro
Siga las instrucciones en ¿Qué tan bien funcionan las computadoras portátiles con Nvidia Optimus?
Actualmente, un desarrollador de Bumblebee los mantiene actualizados.
Una vez que haya instalado Bumblebee y reiniciado, podrá elegir la tarjeta gráfica que usará al iniciar programas mediante el uso del optirun
programa.
Por ejemplo:
optirun blender
Para probar rápidamente si todo funciona correctamente, use:
optirun glxspheres
Verá un programa con esferas giratorias coloridas si todo funciona correctamente.
Verifique que la cadena del proveedor GL en el terminal contiene la palabra nvidia .
Si solo ejecuta glxspheres
, verá que la cadena del proveedor contiene la tarjeta Intel.
Al ejecutar un programa CUDA, debe instalar el kit de herramientas CUDA y un controlador nvidia. Si tiene la intención de compilar programas, también necesita el SDK. Los instaladores se pueden encontrar en http://developer.nvidia.com/cuda-downloads , lea las instrucciones a continuación antes de descorchar su computadora portátil Optimus.
Instalando CUDA
Conductor
Recomiendo instalar el controlador nvidia desde el administrador de paquetes de Ubuntu. Si instala Bumblebee, no necesita preocuparse por el controlador. De lo contrario, después de la instalación, deshabilite las bibliotecas de nvidia como se describe en https://askubuntu.com/a/107746/6969 . Si no lo hace, perderá la aceleración 3D y posiblemente se atasque en una resolución baja.
Kit de herramientas
Básicamente tienes que descargar el instalador, hacerlo ejecutable y ejecutarlo. - Descargue el instalador. A partir del 9 de enero de 2013, 5.0.35 es el controlador más reciente. Como tengo un sistema operativo de 64 bits, uso el paquete de Ubuntu 11.10 de 64 bits (aunque estoy ejecutando 12.10) - Hazlo ejecutable y permite la instalación para /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
Cuando aparece el mensaje de instalación que le pregunta dónde instalar CUDA, simplemente presione Entrar para aceptar el valor predeterminado /usr/local/cuda
:
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
Después de la instalación, imprimirá algunos mensajes que sugieren colocar el directorio de la biblioteca cuda en la ruta de búsqueda de la 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
Puede omitir este paso si lo desea, pero luego debe configurarlo LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
más tarde cuando ejecute un programa.
SDK
Si desea poder compilar aplicaciones CUDA, puede instalar el SDK de una manera similar a la descrita anteriormente. Descargue, hágalo ejecutable y ejecútelo (no como root, por ejemplo, sudo
¡ sin !).
Usando CUDA
CUDA no necesita un servidor X controlado por nvidia para funcionar. En ese caso, puede ejecutar su programa de prueba aleatorio como:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
Si no ha agregado CUDA a la ruta de su biblioteca, necesitará:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
(puede quitar las rutas de 32 bits si su programa es de 64 bits).
Si el programa CUDA tiene algo que mostrar usando OpenGL, debe usar optirun:
optirun blender
O, si no tenía CUDA agregado a su ruta predeterminada:
LD_LIBRARY_PATH = / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH optirun blender
Instalar una compilación de Blender
(Con núcleos CUDA precompilados)
Cuando ejecuta optirun blender
, puede recibir un mensaje de Blender que dice que la compilación del núcleo CUDA falló, y un mensaje en el terminal similar al siguiente:
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.
Si desea utilizar la función de representación de GPU de Blender, es posible que necesite una compilación de Blender con núcleos CUDA precompilados. Todas las compilaciones de Blender.org tienen núcleos CUDA precompilados; las compilaciones ppa: cheleb / blender-svn ( más información en esta pregunta ) no lo hacen.
Para instalar una compilación oficial de Blender, simplemente siga las instrucciones establecidas en esta respuesta .
Si ha instalado Blender en /usr/lib/blender
, entonces debería poder ejecutar Blender desde el terminal y usar el procesamiento de GPU con:
optirun '/usr/lib/blender/blender'