Ecco la risposta completa (basata sulle risposte di Alex Falappa e Lekensteyn ):
È infatti possibile ottenere GPU nVidia Optimus per eseguire CUDA su Ubuntu.
Bumblebee non è necessario per CUDA. (maggiori informazioni su Bumblebee : NVIDIA GeForce con tecnologia Optimus è supportata da Ubuntu? )
Tuttavia, quando hai bisogno di mostrare esempi grafici usando OpenGL, si fa bisogno di qualcosa come Bumblebee per i sistemi di Optimus, altrimenti o non si vede nulla sul vostro schermo o l'errore:
ERROR: Support for necessary OpenGL extensions missing.
Se hai bisogno di usare un programma ad alta intensità di grafica come Blender, Bumblebee è attualmente una buona strada da percorrere.
Passa a Installare CUDA se non vuoi installare Bumblebee (cioè se non hai bisogno di OpenGL).
Altrimenti, continua a leggere.
Installazione di Bumblebee
Segui le istruzioni su Come funzionano i laptop con Nvidia Optimus?
Questi sono attualmente tenuti aggiornati da uno sviluppatore di Bumblebee.
Dopo aver installato Bumblebee e riavviato, sarai in grado di scegliere la scheda grafica da utilizzare all'avvio dei programmi utilizzando il optirun
programma.
Per esempio:
optirun blender
Per verificare rapidamente se tutto funziona correttamente, utilizzare:
optirun glxspheres
Vedrai un programma con sfere colorate che girano se tutto funziona correttamente.
Verificare che la stringa del fornitore GL nel terminale contenga la parola nvidia .
Se esegui solo glxspheres
, vedrai invece la stringa del fornitore contiene la scheda Intel.
Quando si esegue un programma CUDA, è necessario installare CUDA toolkit e un driver nvidia. Se si intende compilare programmi, è necessario anche l'SDK. Gli installer sono disponibili su http://developer.nvidia.com/cuda-downloads , leggere le istruzioni seguenti prima di installare il laptop Optimus.
Installazione di CUDA
autista
Consiglio di installare il driver nvidia dal gestore dei pacchetti di Ubuntu. Se installi Bumblebee, non devi preoccuparti del driver. Altrimenti, dopo l'installazione, disabilitare le librerie nvidia come descritto su https://askubuntu.com/a/107746/6969 . In caso contrario, perderai l'accelerazione 3D e probabilmente rimarrai bloccato a una bassa risoluzione.
Kit di strumenti
Fondamentalmente devi scaricare il programma di installazione, renderlo eseguibile ed eseguirlo. - Scarica il programma di installazione. A partire dal 9 gennaio 2013, 5.0.35 è il driver più recente. Dato che ho un sistema operativo a 64 bit, utilizzo il pacchetto Ubuntu 11.10 a 64 bit (anche se sto eseguendo 12.10) - Renderlo eseguibile e consentire l'installazione per /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 viene visualizzato il messaggio di installazione che ti chiede dove installare CUDA, premi Invio per accettare il valore predefinito /usr/local/cuda
:
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
Dopo l'installazione, verranno stampati alcuni messaggi che suggeriscono di inserire la directory della libreria cuda nel percorso di ricerca della libreria:
========================================
* 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
È possibile saltare questo passaggio se lo si desidera, ma è necessario impostare in LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
seguito quando si esegue un programma.
SDK
Se si desidera essere in grado di compilare applicazioni CUDA, è possibile installare l'SDK in un modo simile come descritto sopra. Scarica, rendilo eseguibile ed eseguilo (non come root, ad es. Senza sudo
!).
Utilizzando CUDA
CUDA non ha bisogno di un server X basato su nvidia per funzionare. In tal caso puoi eseguire il tuo programma di test casuali come:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
Se non hai aggiunto CUDA al percorso della tua libreria, avrai bisogno di:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
(puoi rimuovere i percorsi a 32 bit da esso se il tuo programma è a 64 bit).
Se il programma CUDA ha qualcosa da visualizzare usando OpenGL, devi usare optirun:
optirun blender
Oppure, se non hai aggiunto CUDA al tuo percorso predefinito:
LD_LIBRARY_PATH = / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH blender optirun
Installazione di un Blender Build
(Con kernel CUDA precompilati)
Quando esegui optirun blender
, potresti ricevere un messaggio da Blender che dice che la compilazione del kernel CUDA non è riuscita e un messaggio nel terminale simile al seguente:
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 vuoi usare la funzione di rendering GPU di Blender, potresti aver bisogno di una build di Blender con kernel CUDA precompilati. Le build di Blender.org hanno tutte kernel KUDA precompilati; le build ppa: cheleb / blender-svn ( ulteriori informazioni su questa domanda ) no.
Per installare una build ufficiale di Blender, segui semplicemente le istruzioni fornite in questa risposta .
Se hai installato Blender su /usr/lib/blender
, dovresti essere in grado di eseguire Blender dal terminale e utilizzare il rendering GPU con:
optirun '/usr/lib/blender/blender'