Ich habe gerade ein wenig experimentiert und kann Eric Applemans Aussagen bestätigen, dass Bumblebee für CUDA nicht notwendig ist. (Weitere Informationen zu Bumblebee : Wird eine NVIDIA GeForce mit Optimus-Technologie von Ubuntu unterstützt? )
Wenn Sie jedoch grafische Beispiele mit Hilfe von OpenGL zeigen müssen, Sie tun müssen so etwas wie Bumblebee für Optimus Systeme, sonst entweder Sie nichts auf dem Display sehen oder den Fehler:
ERROR: Support for necessary OpenGL extensions missing.
Wenn Sie ein CUDA-Programm ausführen, müssen Sie das CUDA-Toolkit und einen NVIDIA-Treiber installieren. Wenn Sie Programme kompilieren möchten, benötigen Sie auch das SDK. Die Installationsprogramme finden Sie unter http://developer.nvidia.com/cuda-downloads . Lesen Sie bitte die folgenden Anweisungen, bevor Sie Ihren Optimus-Laptop borken.
CUDA installieren
Treiber
Ich empfehle, den nvidia-Treiber vom Paketmanager von Ubuntu zu installieren. Wenn Sie Bumblebee installieren, müssen Sie sich keine Sorgen um den Treiber machen. Deaktivieren Sie andernfalls nach der Installation die nvidia-Bibliotheken wie unter https://askubuntu.com/a/107746/6969 beschrieben . Wenn Sie dies nicht tun, verlieren Sie die 3D-Beschleunigung und bleiben möglicherweise bei einer niedrigen Auflösung hängen.
Toolkit
Grundsätzlich müssen Sie das Installationsprogramm herunterladen, ausführbar machen und ausführen. - Laden Sie das Installationsprogramm herunter. Zum jetzigen Zeitpunkt ist 4.2.9 der neueste Treiber. Da ich ein 64-Bit-Betriebssystem habe, verwende ich das 64-Bit-Ubuntu-Paket 11.04 (obwohl ich 12.04 verwende). Machen Sie es ausführbar und erlauben Sie die Installation für /usr/local/cuda
:
chmod +x cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
sudo ./cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
Wenn Sie in der Installationsmeldung gefragt werden, wo CUDA installiert werden soll, drücken Sie einfach die Eingabetaste, um die Standardeinstellung zu akzeptieren /usr/local/cuda
:
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
Nach der Installation werden einige Meldungen ausgegeben, in denen vorgeschlagen wird, das cuda-Bibliotheksverzeichnis in Ihren Bibliothekssuchpfad aufzunehmen:
========================================
* 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
Sie können diesen Schritt überspringen, wenn Sie möchten, aber Sie müssen ihn LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
später festlegen, wenn Sie ein Programm ausführen.
SDK
Wenn Sie CUDA-Anwendungen kompilieren möchten, können Sie das SDK auf ähnliche Weise wie oben beschrieben installieren. Laden Sie es herunter, machen Sie es ausführbar und führen Sie es aus (nicht als root, zB ohne sudo
!). Beim Kompilieren von Teilen musste ich allerdings einige Änderungen vornehmen NVIDIA_GPU_Computing_SDK/C/common/common.mk
:
Nach ungefähr Zeile 189 OPENGLLIB := -lGL -lGLU -lX11 -lXi -lXmu
, fügen Sie hinzu:
OPENGLLIB += -L/usr/lib/nvidia-current -L/usr/lib32/nvidia-current
nach ca. Linie 271, Swap ${RENDERCHECKGLLIB}
mit , ${OPENGLLIB}
so dass es wie folgt aussieht:
LIB += $(RENDERCHECKGLLIB) ${OPENGLLIB} $(PARAMGLLIB) ${LIB} -ldl -rdynamic
- Ein paar (5) Zeilen weiter machen Sie dasselbe, aber entfernen Sie
-lcuda
auch.
- Machen Sie ein paar (7) Zeilen weiter dasselbe wie in Zeile 271.
CUDA verwenden
CUDA benötigt keinen NVIDIA-gesteuerten X-Server. In diesem Fall können Sie Ihr Zufallstestprogramm wie folgt ausführen:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
Wenn Sie CUDA nicht zu Ihrem Bibliothekspfad hinzugefügt haben, benötigen Sie:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
(Sie können die 32-Bit-Pfade entfernen, wenn Ihr Programm 64-Bit ist).
Wenn das CUDA-Programm mit OpenGL etwas anzuzeigen hat, müssen Sie optirun verwenden:
optirun blender
Oder, wenn Sie CUDA nicht zu Ihrem Standardpfad hinzugefügt haben:
LD_LIBRARY_PATH = / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH optirun Blender
Hier ist die vollständige Antwort (basierend auf den Antworten von Alex Falappa und Lekensteyn ):
Es ist in der Tat möglich, dass nVidia Optimus-GPUs CUDA unter Ubuntu ausführen.
Hummel ist für CUDA nicht erforderlich. (Weitere Informationen zu Bumblebee : Wird eine NVIDIA GeForce mit Optimus-Technologie von Ubuntu unterstützt? )
Wenn Sie jedoch grafische Beispiele mit Hilfe von OpenGL zeigen müssen, Sie tun müssen so etwas wie Bumblebee für Optimus Systeme, sonst entweder Sie nichts auf dem Display sehen oder den Fehler:
Wenn Sie ein grafikintensives Programm wie Blender verwenden müssen, ist Bumblebee derzeit ein guter Weg.
Fahren Sie mit Installieren von CUDA fort, wenn Sie Bumblebee nicht installieren möchten (dh wenn Sie OpenGL nicht benötigen).
Ansonsten lesen Sie weiter.
Bumblebee installieren
Befolgen Sie die Anweisungen unter Wie gut funktionieren Laptops mit Nvidia Optimus?
Diese werden derzeit von einem Bumblebee-Entwickler auf dem neuesten Stand gehalten.
Sobald Sie Bumblebee installiert und neu gestartet haben, können Sie die Grafikkarte auswählen, die beim Starten von Programmen mithilfe des
optirun
Programms verwendet werden soll.Beispielsweise:
Um schnell zu testen, ob alles richtig funktioniert, verwenden Sie:
Sie sehen ein Programm mit bunten sich drehenden Kugeln, wenn alles richtig funktioniert.
Stellen Sie sicher, dass die GL-Lieferantenzeichenfolge im Terminal das Wort nvidia enthält .
Wenn Sie nur ausführen
glxspheres
, wird angezeigt, dass die Herstellerzeichenfolge stattdessen die Intel-Karte enthält.Wenn Sie ein CUDA-Programm ausführen, müssen Sie das CUDA-Toolkit und einen NVIDIA-Treiber installieren. Wenn Sie Programme kompilieren möchten, benötigen Sie auch das SDK. Die Installationsprogramme finden Sie unter http://developer.nvidia.com/cuda-downloads . Lesen Sie bitte die folgenden Anweisungen, bevor Sie Ihren Optimus-Laptop borken.
CUDA installieren
Treiber
Ich empfehle, den nvidia-Treiber vom Paketmanager von Ubuntu zu installieren. Wenn Sie Bumblebee installieren, müssen Sie sich keine Sorgen um den Treiber machen. Deaktivieren Sie andernfalls nach der Installation die nvidia-Bibliotheken wie unter https://askubuntu.com/a/107746/6969 beschrieben . Wenn Sie dies nicht tun, verlieren Sie die 3D-Beschleunigung und bleiben möglicherweise bei einer niedrigen Auflösung hängen.
Toolkit
Grundsätzlich müssen Sie das Installationsprogramm herunterladen, ausführbar machen und ausführen. - Laden Sie das Installationsprogramm herunter. Ab dem 9. Januar 2013 ist 5.0.35 der neueste Treiber. Wie ich eine 64-Bit - Betriebssystem haben, verwende ich die 64-Bit - 11.10 Ubuntu - Paket (obwohl ich 12.10 renne) - Machen Sie es ausführbar und erlauben die Installation
/usr/local/cuda
:Wenn Sie in der Installationsmeldung gefragt werden, wo CUDA installiert werden soll, drücken Sie einfach die Eingabetaste, um die Standardeinstellung zu akzeptieren
/usr/local/cuda
:Nach der Installation werden einige Meldungen ausgegeben, in denen vorgeschlagen wird, das cuda-Bibliotheksverzeichnis in Ihren Bibliothekssuchpfad aufzunehmen:
Sie können diesen Schritt überspringen, wenn Sie möchten, aber Sie müssen ihn
LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
später festlegen, wenn Sie ein Programm ausführen.SDK
Wenn Sie CUDA-Anwendungen kompilieren möchten, können Sie das SDK auf ähnliche Weise wie oben beschrieben installieren. Laden Sie es herunter, machen Sie es ausführbar und führen Sie es aus (nicht als root, zB ohne
sudo
!).CUDA verwenden
CUDA benötigt keinen NVIDIA-gesteuerten X-Server. In diesem Fall können Sie Ihr Zufallstestprogramm wie folgt ausführen:
Wenn Sie CUDA nicht zu Ihrem Bibliothekspfad hinzugefügt haben, benötigen Sie:
(Sie können die 32-Bit-Pfade entfernen, wenn Ihr Programm 64-Bit ist).
Wenn das CUDA-Programm mit OpenGL etwas anzuzeigen hat, müssen Sie optirun verwenden:
Oder, wenn Sie CUDA nicht zu Ihrem Standardpfad hinzugefügt haben:
Blender Build installieren
(Mit vorkompilierten CUDA-Kerneln)
Während der Ausführung erhalten
optirun blender
Sie möglicherweise eine Meldung von Blender, dass die Kompilierung des CUDA-Kernels fehlgeschlagen ist, sowie eine Meldung im Terminal, die der folgenden ähnelt:Wenn Sie die GPU-Rendering-Funktion von Blender verwenden möchten, benötigen Sie möglicherweise einen Blender-Build mit vorkompilierten CUDA-Kerneln. Builds von Blender.org haben alle CUDA-Kernel vorkompiliert. das ppa: cheleb / blender-svn baut ( mehr informationen zu dieser frage ) nicht.
Befolgen Sie einfach die Anweisungen in dieser Antwort, um ein offizielles Blender-Build zu installieren .
Wenn Sie Blender auf installiert haben
/usr/lib/blender
, sollten Sie in der Lage sein, Blender vom Terminal aus auszuführen und GPU-Rendering zu verwenden mit:quelle
usermod
Befehl nicht. Ich halte die Installationsanweisungen auf askubuntu.com/a/36936/6969 auf dem neuesten Stand. Verlinken Sie also bitte auf diesen Beitrag, anstatt diese Installationsanweisungen zu kopieren.Die Unterstützung von Hybridgrafiken (normalerweise integrierte Intel-Grafik und diskrete Nvidia-Grafik) unter Linux ist derzeit etwas problematisch. Im X-Server-Bereich bewegt sich langsam etwas, aber halten Sie nicht den Atem an.
Wie Sie bereits vermutet haben, ist Bumblebee derzeit ein guter Weg.
Ich habe kürzlich ein Asus N55-Notebook mit Intel / Nvidia-Grafik gekauft. Ich konnte den Blender Cycles-Renderer für die Verwendung von CUDA nutzen.
Bei der Installation von Ubuntu 12.04 wurden standardmäßig die integrierten Grafiken über den Intel-Grafiktreiber verwendet. Der Noveau-Grafiktreiber sollte nicht installiert werden.
Dann öffnete ich ein Terminal und tat:
Danach tat ich (wie in der Installationsanleitung empfohlen):
Dann habe ich neu gestartet.
Um den Treiber auszuwählen, der beim Starten von Programmen verwendet werden soll, verwenden Sie das optirun-Programm, zum Beispiel:
Um zu testen, ob alles richtig funktioniert, verwenden Sie:
Vergewissern Sie sich, dass die GL-Lieferantenzeichenfolge das Wort Nvidia enthält. Wenn Sie stattdessen ausführen:
Der Hersteller-String sollte das Intel-Wort enthalten
quelle
optirun
und kann überprüfen, ob Blender meine nVidia-GPU zum Rendern des 3D-Ansichtsfensters verwendet hat. Es gibt jedoch keine "GPU" -Option in der Dropdown-Liste in den Blender-Benutzereinstellungen. Es wird nur "CPU" aufgelistet. Siehe diesen Screenshot . Muss ich zusätzliche Treiber installieren, um CUDA nutzen zu können?Ich finde , dass alle Beispiele von CUDA laufen, mit Bumblebee, die Treiber 295,40 aus installieren müssen hier und während der Installation entscheiden , nicht außer Kraft setzen die
config x11
.Dann müssen Sie denselben Treiber verwenden, um die Beispiele zu kompilieren und das Programm auszuführen.
quelle