Featured image of post Instal CUDA Dan CUDNN Ubuntu 22

Instal CUDA Dan CUDNN Ubuntu 22

CUDA adalah platform komputasi paralel yang dikembangkan oleh NVIDIA. CUDA memungkinkan pengembang untuk memanfaatkan kekuatan GPU untuk mempercepat aplikasi mereka. CUDNN adalah library yang dikembangkan oleh NVIDIA yang mempercepat proses training dan inferensi pada deep learning.

CUDA (Compute Unified Device Architecture) adalah platform komputasi paralel yang dikembangkan oleh NVIDIA. CUDA memungkinkan pengembang untuk memanfaatkan kekuatan GPU untuk mempercepat aplikasi mereka. CUDNN (CUDA Deep Neural Network) adalah library yang dikembangkan oleh NVIDIA yang mempercepat proses training dan inferensi pada deep learning.

Penggunaan CUDA dan CUDNN sangat penting bagi pengembang aplikasi deep learning, karena dengan menggunakan CUDA dan CUDNN, proses training dan inferensi model deep learning akan lebih cepat dibandingkan dengan menggunakan CPU saja.

Instalasi CUDA

Sebeleum instalasi, kita pastikan dulu apakah GPU kita support CUDA, jalankan perintah berikut di terminal:

1
lspci | grep -i nvidia

Jika sebelumnya sudah memiliki driver terinstall, kita perlu menghapus driver tersebut terlebih dahulu. Untuk menghapus driver NVIDIA, jalankan perintah berikut:

1
2
3
4
5
sudo apt purge nvidia* -y
sudo apt remove nvidia-* -y
sudo rm /etc/apt/sources.list.d/cuda*
sudo apt autoremove -y && sudo apt autoclean -y
sudo rm -rf /usr/local/cuda*

Pastikan sistem operasi kita sudah terupdate, jalankan perintah berikut:

1
2
sudo apt update
sudo apt upgrade -y

Selanujtnya instal beberapa paket lain yang dibutuhkan:

1
sudo apt install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev

Tambahkan repository CUDA ke dalam sistem operasi kita:

1
2
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

Untuk melihat rekomendasi driver yang cocok untuk GPU kita, jalankan perintah berikut:

1
ubuntu-drivers devices

Contoh output dari perintah diatas adalah berikut:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C8Dsv0000103Csd0000838Fbc03sc00i00
vendor   : NVIDIA Corporation
model    : GP107M [GeForce GTX 1050 Mobile]
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-390 - distro non-free
driver   : nvidia-driver-535 - distro non-free recommended
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-545 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

Pada contoh diatas, driver yang direkomendasikan adalah nvidia-driver-535, maka kita akan menginstall driver tersebut:

1
sudo apt install nvidia-driver-535 libnvidia-gl-535 libnvidia-common-535

Setelah perintah diatas selesai dijalankan, reboot sistem operasi kita:

1
sudo reboot

Mengecek Instalasi Driver

Setelah sistem operasi kita reboot, kita perlu memastikan driver NVIDIA sudah terinstall dengan benar. Untuk mengeceknya, jalankan perintah berikut:

1
nvidia-smi

Jika driver NVIDIA sudah terinstall dengan benar, maka akan muncul output seperti berikut:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.171.04             Driver Version: 535.171.04   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce GTX 1050        Off | 00000000:01:00.0  On |                  N/A |
| N/A   45C    P5              N/A / ERR! |     49MiB /  4096MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1619      G   /usr/lib/xorg/Xorg                           45MiB |
+---------------------------------------------------------------------------------------+

Instalasi CUDA Toolkit

Untuk instalasi CUDA Toolkit, kita perlu menyesuaikan dengan versi Tensorflow yang ingin digunakan.

Berikut contoh tabel versi CUDA Toolkit yang cocok dengan versi Tensorflow:

Version Python version Compiler Build tools cuDNN CUDA
tensorflow-2.16.1 3.9-3.12 Clang 17.0.6 Bazel 6.5.0 8.9 12.3
tensorflow-2.15.0 3.9-3.11 Clang 16.0.0 Bazel 6.1.0 8.9 12.2
tensorflow-2.14.0 3.9-3.11 Clang 16.0.0 Bazel 6.1.0 8.7 11.8
tensorflow-2.13.0 3.8-3.11 Clang 16.0.0 Bazel 5.3.0 8.6 11.8
tensorflow-2.12.0 3.8-3.11 GCC 9.3.1 Bazel 5.3.0 8.6 11.8

Lebih lengkapnya silakan lihat di dokumentasi tensorflow : https://www.tensorflow.org/install/source#gpu

Disini saya akan mencontohkan instalasi CUDA Toolkit versi 11.8, berikut langkah-langkahnya:

Buka halaman download CUDA Toolkit sesuai versi yang diinginkan di : https://developer.nvidia.com/cuda-toolkit-archive

Pilih versi CUDA Toolkit yang diinginkan, disini saya akan memilih versi 11.8, kemudian pilih OS, Architecture, dan distro yang sesuai dengan sistem operasi kita. Untuk contoh saya akan menggunakan installer Type runfile (local). Kemudian download file tersebut.

CUDA Toolkit

Ikuti langkah yang diberikan oleh installer CUDA Toolkit, dan pastikan untuk menginstall driver NVIDIA yang disertakan dalam installer CUDA Toolkit. Contoh selanjutnya saya akan menjalankan perintah berikut untuk instalasi CUDA Toolkit:

1
sudo sh cuda*.run

Perintah diatas akan menjalankan installer CUDA Toolkit, ikuti langkah-langkah yang diberikan oleh installer.

Karena sebelumnya kita sudah melakukan instalasi driver yang dibutuhkan, pada instalasi CUDA dengan runfile kita tidak perlu menginstall driver NVIDIA yang disertakan dalam installer CUDA Toolkit. Untuk itu kita perlu mengubah opsi instalasi driver NVIDIA dengan menghilangkan centang pada opsi tersebut. Hapus Centang Pada gambar diatas, kita perlu menghapus centang pada opsi Driver.

Lalu ikuti langkah instalasi hingga selesai.

Setelah instalasi selesai, kita perlu menambahkan environment variable CUDA ke dalam file .bashrc jalankan perintah baris demi baris:

1
2
3
4
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
sudo ldconfig

Perintah diatas akan menambahkan environment variable CUDA ke dalam file .bashrc dan mengupdate environment variable. sudo ldconfig akan mengupdate library yang ada di sistem operasi kita.

Instalasi CUDNN

Buka halaman download CUDNN sesuai versi yang diinginkan di : https://developer.nvidia.com/rdp/cudnn-archive. Disini saya akan menginstall CUDNN versi 8.6.0, pilih versi yang diinginkan, kemudian download file tersebut.

Setelah file CUDNN selesai di download, ekstrak file tersebut:

1
2
tar -xvf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz
sudo mv cudnn-linux-x86_64-8.6.0.163_cuda11-archive cuda

Kemudian copy file yang diperlukan ke dalam direktori CUDA Toolkit:

1
2
3
sudo cp -P cuda/include/cudnn.h /usr/local/cuda-11.8/include
sudo cp -P cuda/lib/libcudnn* /usr/local/cuda-11.8/lib64/
sudo chmod a+r /usr/local/cuda-11.8/lib64/libcudnn*

Setelah itu, kita perlu menambahkan environment variable CUDNN ke dalam file .bashrc:

1
2
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

Setelah itu, kita perlu mengecek apakah instalasi CUDA dan CUDNN sudah berhasil atau tidak, jalankan perintah berikut:

1
nvcc --version

Jika instalasi CUDA dan CUDNN berhasil, maka akan muncul output seperti berikut:

1
2
3
4
5
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

Kesimpulan

Sampai saat ini kita sudah berhasil melakukan instalasi CUDA dan CUDNN. Dengan instalasi CUDA dan CUDNN, kita dapat memanfaatkan GPU untuk mempercepat proses training dan inferensi pada deep learning. Selanjutnya kita dapat menginstall library deep learning seperti Tensorflow, Pytorch, dan lainnya yang memanfaatkan CUDA dan CUDNN untuk mempercepat proses training dan inferensi model deep learning. Jika ada pertanyaan, silakan tulis di kolom komentar. Terima kasih.

Dibangun dengan Hugo
Tema Stack dirancang oleh Jimmy