Memasang NVIDIA CUDA di GNU/Linux Ubuntu 16.04

Figure 1. NVIDIA CUDA (source:https://nvidianews.nvidia.com)

Kebetulan salah satu komputer cluster lungsuran ada GPU yang sudah terpasang. Iseng-iseng coba pasang CUDA toolkit dan lihat siapa tahu bisa digunakan untuk komputasi yang wajar. Beberapa waktu lalu sempat terjadi diskusi di salah satu forum bahwa minimal untuk komputasi image processing apalagi yang melibatkan proses machine learning membutuhkan minimal compute capability 2.0. Teknis istilahnya nanti dibahas lebih lanjut. Sekarang cara pasangnya yang lebih penting.


Dari dulu sebenarnya penasaran banget dengan yang namanya CUDA ini dan hasrat ingin oprek cukup tinggi. Apalagi lagi tren menggunakan GPU juga cukup marak. Salah satu server yang dapat dari sensei sebenarnya juga ada GPU-nya hanya saja tidak mendukung CUDA versi terbaru. Mau beli juga masih mikir-mikir, maklum masih mahasiswa :p.

Cek GPU kita dulu sebelum memasang CUDA toolkit dan pustakanya dengan perintah berikut:

lspci -nnk | grep -i vga

Hasilnya cukup menggembirakan karena yang terpasang adalah GeForce GTX 770.

02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104 [GeForce GTX 770] [10de:1184] (rev a1)

Nah, bagi kita yang masih baru tentu bingung GeForce GTX 770 ini sebenarnya support compute capability berapa ?. Tentu saja langsung merujuk ke laman NVIDIA bagian cuda gpus. Compute capability dari GeForce GTX 770 adalah 3.0. Saya pikir cukup untuk uji coba karena tujuan utamanya adalah memasang CUDA toolkit.

Bagi yang sistem operasinya GNU/Linux Ubuntu dalam hal ini komputer server saya menggunakan GNU/Linux Ubuntu Server 16.04, kita harus memasang terlebih dahulu repositori dari graphics-driver karena NVIDIA CUDA secara default tidak ada. Merujuk dari laman NVIDIA, GeForce GTX 770 hanya mendukung CUDA versi 8.0. Silakan cek kembali di laman berikut untuk CUDA toolkit. Untuk CUDA versi 8.0 bisa cek tautan CUDA-8.0.

Figure 2. Target platform

Sesuai dengan Fig 2, sesuaikan dengan target platform yang kita miliki. Untuk Installer Type saya memilih deb (local). Selanjutnya ikuti perintah memasang diatas dimulai dengan:

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

Setelah selesai mengunduh dan memasang. Selanjutnya adalah cek kapabilitas dari GPU yang kita miliki dengan menggunakan perintah

nvidia-smi
Figure 3. Hasil perintah nvidia-smi

Perhatikan total memory yang saya miliki untuk GPU ini adalah 1997MiB (sekitar 2GB). Patut disyukuri sekalipun 2GB :D.

Langkah terakhir adalah menempelkan pustaka dari CUDA toolkit yang telah kita pasang ini ke environment kita agar sewaktu-waktu dibutuhkan tidak perlu lagi untuk export, include dan lain sebagainya. Karena saya menggunakan zsh untuk shell, maka pasang saja baris kode berikut di ~/.zshrc anda. Bagi pengguna bash pasang di ~/.bashrc.

export CUDA=/usr/local/cuda-8.0
export PATH=$CUDA/bin:$PATH
export LD_LIBRARY_PATH=$CUDA/lib64:$LD_LIBRARY_PATH

Okay sampai disini kemudian aktifkan dengan perintah berikut:

. ./.zshrc

Untuk memastikan kembali bahwa pustaka CUDA bisa digunakan silakan masuk ke dalam direktori CUDA yang ada pada /usr/local/cuda-8.0/samples. Pada direktori ini terdapat beberapa sampel yang bisa digunakan untuk menguji apakah CUDA sudah berjalan. Untuk itu masuk ke dalam salah satu contoh sampel direktori /usr/local/cuda-8.0/samples/5_Simulations/nbody kemudian ketikkan make untuk melakukan kompilasi.

Kalau ada pesan kesalahan seperti “Cannot create symbolic” dan semisalnya cukup tambahkan sudo sehingga menjadi sudo make. Seharusnya sampai disini proses pemasangan CUDA toolkit sudah berjalan dengan baik.

Untuk selanjutnya kita akan coba menguji dengan membuat sebuah komputasi sederhana dengan memanfaatkan GPU yang kita miliki. Sampai ketemu di artikel selanjutnya.

*semoga ke depan ada kemudahan untuk mencoba GPU yang lebih tinggi :D

andrey