Cuda SDK Code-Beispiele unter Ubuntu 10.04 32bit kompilieren

There was a time, when I shared a blog. This post was written by Stephan. See all blogpost from him or stalk him on github.


Heute möchte ich zeigen, wie man die Cuda-Code Examples unter Ubuntu 10.04 erfolgreich kompilieren kann. CUDA funtkioniert nur mit unterstützten Grafikkarten ab Geforce 8. Zuerst ladet ihr euch die benötigten Dateien von der Nvidia Homepage herunter:

  1. CUDA Toolkit for Ubuntu Linux 9.04 32bit
  2. Grafiktreiber: Developer Drivers for Linux (195.36.15) 32bit (falls nicht bereits vorhanden)
  3. GPU Computing SDK code samples and more
Die heruntergeladenen .run-Dateien anschließend in der Konsole mit dem altbekannten sh-Befehl installieren. Bei der Installation werdet ihr nach einigen Installationspfaden gefragt. Bitte belasst es hier bei den vorgegebenen Standardwerten, wenn ihr nicht genau wisst, was ihr tut.

sudo sh devdriver_3.0_linux_32_195.36.15.run
sudo sh cudatoolkit_3.0_linux_32_ubuntu9.04.run
sh gpucomputingsdk_3.0_linux.run # nicht mit Root-Rechten ausführen

Dann öffnet ihr die Konsole und bearbeitet die Bashkonfigurationsdatei

sudo nano $HOME/.bashrc

Folgende Codezeilen müsst ihr an das Ende der Datei einfügen:

export CUDA_BIN="/usr/local/cuda/bin"
export PATH=$PATH:$CUDA_BIN
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib

Anschließend die Bash neuladen:

source $HOME/.bashrc

Und testen ob alles geklappt hat:

nvcc -V

Die Ausgabe in der Konsole sollte etwas so aussehen:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2009 NVIDIA Corporation
Built on Fri_Feb_19_18:18:31_PST_2010
Cuda compilation tools, release 3.0, V0.2.1221

Nun müssen wir einen Symlink zur Cuda-Bibliothek setzen:

sudo ln -s /usr/lib/nvidia-current/libcuda.so /usr/lib/libcuda.so

Damit verhindern wir, das beim Kompilieren "libcuda" nicht gefunden wird.

Nun müssen wir noch gcc und g++ in der Version 4.3 installieren:

sudo aptitude install g++-4.3 gcc-4.3

und in der Datei "common.mk", die ihr unter

cd $HOME/NVIDIA_GPU_Computing_SDK/C/common

findet, sucht ihr folgende Zeilen:

# architecture flag for nvcc and gcc compilers build
CUBIN_ARCH_FLAG :=
CXX_ARCH_FLAGS  :=
NVCCFLAGS       := --compiler-bindir=/usr/bin/gcc-4.4.3
LIB_ARCH        := $(OSARCH)

Nach eurer Bearbeitung müsste es dann so aussehen:

# architecture flag for nvcc and gcc compilers build
CUBIN_ARCH_FLAG :=
CXX_ARCH_FLAGS  :=
NVCCFLAGS       := --compiler-bindir=/usr/bin/gcc-4.3
LIB_ARCH        := $(OSARCH)

Ist alles erledigt, wechselt ihr in den Ordner der Cuda-Beispiele und startet die Kompilierung

cd $HOME/NVIDIA_GPU_Computing_SDK/C/
make

Die fertigen Programme findet ihr unter :

cd $HOME/NVIDIA_GPU_Computing_SDK/C/bin/linux/release

Viel Spaß dabei und ich hoffe, einigen etwas Arbeit erspart zu haben.

Gruß Stephan