« Mylyn WTP aka Generic Web Templates Connector unter Eclipse Galileo installieren
Tool-Tip: weather-wallpaper »


18. Januar 2010 - 0:02

Cuda Entwicklungsumgebung unter Ubuntu 9.10 (karmic)

Abgelegt unter: Coding, Linux, Ubuntu von Florian Löffler

cuda_logoDa mir seid kurzem ein Laptop mit CUDA fähiger Grafikkarte zur Verfügung steht und in meiner TODO-Liste auch noch die Fortführung einer CUDA beschleunigten Variante von Enblend/Enfuse herumgammelt, habe ich mich nun einmal aufgemacht eine entsprechende Entwicklungsumgebung einzurichten.

0. Einkaufsliste

  • NVIDIA Treiber mit CUDA Support
  • NVIDIA CUDA Toolkit (Runtime Environment)
  • NVIDIA CUDA SDK (Development Kit)
1. Treiber
Obwohl momentan CUDA 2.3 schon released ist und auch CUDA 3.0 schon als Beta in den Startlöchern steht, habe ich mich für die ältere Version 2.2 entschieden.
Für die neue 2.3er Version müsste man nämlich den “NVIDIA Driver 190.18 Beta for Linux” installieren. Für die 2.2er Version reicht der “NVIDIA Driver for Linux 185.18.14″. Diesen bringt Ubuntu 9.10 (karmic) schon von Haus aus mit und erspart so unnötiges Treibergefrikel.
Für CUDA 2.2 muss also kein extra Treiber installiert werden. Der neueste Ubuntu-eigene Treiber genügt.
2. CUDA Toolkit
Das CUDA Toolkit habe ich per sudo in das standardmäßig vorgegebene /usr/local/cuda Verzeichnis installiert:

flo@acer ~ $ sudo sh cudatoolkit_2.2_linux_64_ubuntu8.10.run
Verifying archive integrity... All good.
Uncompressing NVIDIA CUDA.............................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
„lib“ -> „/usr/local/cuda/lib“
„lib/libcufft.so.2.2“ -> „/usr/local/cuda/lib/libcufft.so.2.2“
„lib/libcufft.so.2“ -> „/usr/local/cuda/lib/libcufft.so.2“
...
„bin/ptxvars.cu“ -> „/usr/local/cuda/bin/ptxvars.cu“
„bin/cudafe“ -> „/usr/local/cuda/bin/cudafe“

========================================

* Please make sure your PATH includes /usr/local/cuda/bin
* Please make sure your LD_LIBRARY_PATH includes /usr/local/cuda/lib
*   or add /usr/local/cuda/lib to /etc/ld.so.conf and run ldconfig as root

* Please read the release notes in /usr/local/cuda/doc/

* To uninstall CUDA, delete /usr/local/cuda
* Installation Complete
3. CUDA SDK
Das CUDA SDK wird fast genauso installiert. Allerdings habe ich das SDK statt, wie vorgeschlagen ins HOME, unter /opt installiert. Evtl. könnte man das SDK auch gleich zum Toolkit unter /usr/local/cuda installieren, um alles auf einem “Haufen” zu haben. Die Pfade wären in den folgenden Schritten dann entsprechend anzupassen.

flo@acer ~ $ sudo sh cudasdk_2.21_linux.run
Verifying archive integrity... All good.
Uncompressing NVIDIA CUDA SDK.............................................
Enter install path (default ~/NVIDIA_CUDA_SDK): /opt/cuda/sdk

Could not locate CUDA.  Enter the full path to CUDA.
If you do not know the path, accept the default and then
modify the CUDA_INSTALL_PATH variable in
/opt/cuda/sdk/common/common.mk.

Enter CUDA install path (default /usr/local/cuda):
„sdk/Makefile“ -> „/opt/cuda/sdk/Makefile“
„sdk/ReleaseNotes.html“ -> „/opt/cuda/sdk/ReleaseNotes.html“
...
„sdk/tools“ -> „/opt/cuda/sdk/tools“
„sdk/tools/CUDA_Occupancy_calculator.xls“ -> „/opt/cuda/sdk/tools/CUDA_Occupancy_calculator.xls“

========================================

Configuring SDK Makefile (/opt/cuda/sdk/common/common.mk)...

========================================

* Please make sure your PATH includes /usr/local/cuda/bin
* Please make sure your LD_LIBRARY_PATH includes /usr/local/cuda/lib

* To uninstall the NVIDIA CUDA SDK, please delete /opt/cuda/sdk
* Installation Complete
4. System einrichten
a) LD_LIBRARY_PATH für CUDA libs setzen
Um die CUDA Libraries zu nutzen müssen diese in den Library Suchpfad aufgenommen werden und das geht so:

flo@acer ~ $ cat /etc/ld.so.conf.d/cuda.conf
/usr/local/cuda/lib/
flo@acer ~ $ sudo ldconfig

b) CUDA BIN Verzeichnis zum PATH hinzufügen
Der CUDA Compiler nvcc muss im PATH gefunden werden. Eine Möglichkeit das zu erreichen ist den Pfad in der Bash Konfiguration zu erweitern:

flo@acer ~ $ cat /etc/bash.bashrc
...
PATH=$PATH:/usr/local/cuda/bin

Sobald eine neue Shell geöffnet wird, wird der Pfad nun entsprechend angepasst.

c) Compiler-Flags für GCC 4.4/Ubuntu 9.10 anpassen
Als letztes muss nun noch ein kleiner Eingriff in die CUDA Compilerflags erfolgen, um CUDA mit dem GCC 4.4 (standard bei Ubuntu 9.10) nutzen zu können. Konkret muss das Flag “-O2″ entfernt werden und das geht so:

flo@acer ~ $ sudo cp /opt/cuda/sdk/common/common.mk /opt/cuda/sdk/common/common.mk.org
flo@acer ~ $ sudo sed -i 's/COMMONFLAGS += -O2/#&/' /opt/cuda/sdk/common/common.mk

d) Freuen und evtl. mit einem der mitgelieferten Beispiele gleich Testen ;)

Quellen

Keine Kommentare »

Noch keine Kommentare.

RSS Feed für Kommentare zu diesem Eintrag. TrackBack URI

Kommentar abgeben



Generiert in 1.765 Sekunden, 37 Datenbankabfragen. | Powered by WordPress

Webliga-Webkatalog - Computer Webliga - Webkatalog  |  Webkatalog - b1x.de
Slamit -- Episode Guides -- Die Säulen der Erde -- Higarts