Setting up the CUDA development environment

nvidia-logoIn questo post vedremo come installare e configurare l’ambiente di sviluppo per CUDA, rivoluzionarie API di NVIDIA che per prima ha portato il GPGPU computing sulla scrivania di tutti.
In particolare vedremo passo-passo l’installazione del toolkit e dell’SDK, entrambi versione 2.1, su di una Ubuntu 8.04 a 32bit, il primo passo da fare è ovviamente andare a scaricare da CUDA Zone tutto quanto serve per l’installazione dell’ambiente di sviluppo, basta inserire la tipologia di sistema operativo (ad esempio linux 32-bit) e , se supportata, il nome della nostra distribuzione, nel nostro caso Ubuntu rientra tra quelle supportate però fino alla release 8.10 al momento in cui scrivo.

NOTA: se siete utenti esperti probabilmente non troverete di molto interesse questo post dato che quando l’ho scritto stavo pensando di rivolgermi ad utenti magari molto esperti di programmazione ma poco pratici della riga di comando e di linux in genere. Inoltre c’è da dire che quando ho scritto questo post l’ultima release presente del toolkit e dell’SDK era la 2.1, visto che sul PC che sto usando per lo sviluppo ci sto lavorando non ho eseguito l’aggiornamento alla release 2.2 quando quest’ultima è stata resa disponibile, di conseguenza non ho potuto aggiornare il post che avevo già scritto in maniera consona.

Step 1 – Driver installation

Una volta che avete tutti i file necessari driver inclusi, nel caso in cui la versione di questi ultimi installata sulla vostra distribuzione non combaci con quella richiesta dal tookit è necessario installare i driver della scheda video, a riguardo potreste trovare interessante questo mio post pubblicato tempo fa, considerando che la procedura d’installazione non è cambiata quel post risulta attuale come se fosse stato scritto ieri.

Step 2 – Toolkit installation

Una volta che avete il driver raccomandato per la versione del toolkit che ci stiamo accingendo ad installare possiamo procedere.
Ora basta avviare l’installazione del tookit, per farlo basta digitare quanto segue:

paolomargara@skaarj:~$ sudo ./cudatoolkit_2.1_linux32_ubuntu8.04.run

Ovviamente per eseguire con successo il comando precedente dovete essere posizionati nella cartella dove avete scaricato i vari file .run precedentemente scaricati.
L’installer del toolkit propone come directory d’installazione /usr/local/cuda, direi che questa scelta è buona è che non è necessario cambiarla. Al termine per poter eseguire quanto installato è necessario inserire /usr/local/cuda/bin (directory contenete gli eseguibili del toolkit) nella variabile d’ambiente PATH in modo che i nuovi comandi risultino facilmente invocabili.
In modo simile è necessario configurare il percorso per le librerie (collocate in /usr/local/cuda/lib), è possibile modificare la variabile LD_LIBRARY_PATH in modo analogo a quanto fatto per la variabile PATH, oppure aggiungere un file contenente il percorso /usr/local/cuda/lib nella cartella /etc/ld.so.conf.d/.
Nel primo caso potete aggiungere le seguenti righe al file /etc/profile

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

…nel secondo aggiungere un file come il seguente nella directory precedentemente indicata ed eseguire ldconfig con privilegi di amministrazione…

paolomargara@skaarj:~$ cat /etc/ld.so.conf.d/cuda.conf
# cuda library configuration
/usr/local/cuda/lib
paolomargara@skaarj:~$ sudo ldconfig

Nel caso in cui prima o poi si renda necessario rimuovere il toolkit è sufficiente rimuove la directory in cui lo si è installato e rimuovere le modifiche precedentemente suggerite.

Step 3 – SDK installation

Passiamo ora all’installazione dell’SDK, l’SDK di default si installa nella directory home dell’utente che esegue l’installazione, ciò è molto comodo se il vostro PC lo usate solo voi per sviluppare applicazioni in cuda ma la cosa è molto scomoda se la postazione è condivisa e l’SDK serve a più sviluppatori.
Per ovviare a questo problema ho deciso di installare l’SDK nella directory /usr/local/NVIDIA_CUDA_SDK. Per effettuare questo cambiamente una volta che avete avviato l’installazione dell’SDK col comando…

paolomargara@skaarj:~$ sudo ./cuda-sdk-linux-2.10.1215.2015-3233425.run

…effettuate la modifica al percorso quando l’installer ve lo chiede.
Se una volta completata l’installazione volete compilare i programmi inclusi nell’SDK posizionatevi nella directory /usr/local/NVIDIA_CUDA_SDK ed eseguite un semplice make, ciò fugherà ogni possibile dubbio sull’installazzione corretta dell’SDK e del toolkit.

paolomargara@skaarj:/usr/local/NVIDIA_CUDA_SDK$ sudo make

Prima di compilare però accertatevi di avere installato alcune librerie sul vostro sistema…

paolomargara@skaarj:~$ sudo apt-get install glutg3-dev libXi-dev libxmu-dev

Anche in questo caso se in futuro vorrete rimuove l’SDK basta semplicemente rimuovete la directory d’installazione.
E’ doveroso ricordare che nella directory  /usr/local/NVIDIA_CUDA_SDK/doc è inclusa tutta la documentazione delle API e del toolkit, mentre nella cartella /usr/local/NVIDIA_CUDA_SDK/tools è presente un comodo foglio di calcolo che risulterà utile per sapervi orientare durante lo sviluppo delle vostre applicazioni.

Step 4 profiler installation

Stesso discorso per il profiler: potete installarlo nella vostra home directory oppure in una cartella in cui possa essere accessibile da ogni utente presente nel sistema.
Nel caso in cui optiate per la seconda possibilità basta digitare:

paolomargara@skaarj:~$ sudo tar zvxf ./CudaVisualProfiler_linux_1.1_15Dec08.tar.gz -C /usr/local/
paolomargara@skaarj:~$ sudo chown root:admin -R /usr/local/CudaVisualProfiler

Per la corretta esecuzione del profiler sul vostro sistema potreste dover installare le seguenti librerie:

paolomargara@skaarj:~$ sudo apt-get install libqtcore4 libqtgui4 libqt4-network libqt4-xml libqt4-assistant

Per aggiungere una entry nel menù Applicazioni aggiungete un file come il seguente nella cartella /usr/share/applications

paolomargara@skaarj:~$ cat /usr/share/applications/nvidia-cudaprof.desktop
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=NVIDIA Cuda Visual Profiler
Comment=NVIDIA Cuda Visual Profiler
Exec=/usr/local/CudaVisualProfiler/bin/cudaprof
Icon=/usr/share/doc/NVIDIA_GLX-1.0/nvidia-settings.png
Categories=Application;Development;

Ora potrete avviare il CUDA Visual Profiler direttamente dal menu Applicazioni -> Programmazione -> NVIDIA Cuda Visual Profiler.

Related post:

Comments are closed.