Menginstal driver GPU


Setelah Anda membuat instance virtual machine (VM) dengan satu atau beberapa GPU, sistem Anda memerlukan driver perangkat NVIDIA agar aplikasi Anda dapat mengakses perangkat. Pastikan instance virtual machine (VM) Anda memiliki kapasitas disk kosong yang cukup. Anda harus memilih minimal 40 GB untuk boot disk saat membuat VM baru.

Untuk menginstal driver, Anda memiliki dua opsi yang dapat dipilih:

  • Jika Anda memerlukan GPU untuk grafis 3D yang dipercepat hardware seperti desktop jarak jauh atau game, lihat Menginstal driver untuk NVIDIA RTX Virtual Workstations (vWS).

  • Untuk workload lainnya, ikuti petunjuk dalam dokumen ini untuk menginstal driver NVIDIA.

Driver NVIDIA, toolkit CUDA, dan versi runtime CUDA

Ada berbagai komponen dengan versi driver dan runtime yang mungkin diperlukan di lingkungan Anda. Komponen ini meliputi:

  • Driver NVIDIA
  • Toolkit CUDA
  • Runtime CUDA

Saat menginstal komponen tersebut, Anda dapat mengonfigurasi lingkungan agar sesuai dengan kebutuhan Anda. Misalnya, jika Anda memiliki versi Tensorflow sebelumnya yang berfungsi paling baik dengan versi toolkit CUDA sebelumnya, tetapi GPU yang ingin Anda gunakan memerlukan driver NVIDIA versi lebih baru, maka Anda dapat menginstal toolkit CUDA versi sebelumnya beserta driver NVIDIA versi terbaru.

Namun, Anda harus memastikan versi toolkit CUDA dan driver NVIDIA Anda kompatibel. Untuk toolkit CUDA dan kompatibilitas driver NVIDIA, lihat dokumentasi NVIDIA tentang kompatibilitas CUDA.

Versi driver NVIDIA yang diperlukan

Untuk GPU NVIDIA yang berjalan di Compute Engine, versi driver NVIDIA berikut direkomendasikan.

Seri mesin Model GPU NVIDIA Driver yang direkomendasikan untuk Linux Driver yang direkomendasikan Windows
A3 H100 550.90.07 T/A
G2 L4 550.90.07 538,67
A2 A100 550.90.07 538,67
N1 T4, P4, P100, dan V100 535.183.01 538,67

Menginstal driver GPU di VM menggunakan panduan NVIDIA

Salah satu cara untuk menginstal driver NVIDIA di sebagian besar VM adalah dengan menginstal Toolkit NVIDIA CUDA.

Untuk menginstal toolkit NVIDIA, selesaikan langkah-langkah berikut:

  1. Pilih toolkit CUDA yang mendukung driver minimum yang Anda butuhkan.

  2. Hubungkan ke VM tempat Anda ingin menginstal driver.

  3. Di VM, download dan instal toolkit CUDA. Paket penginstalan dan panduan untuk toolkit minimum yang direkomendasikan dapat ditemukan dalam tabel berikut. Sebelum menginstal toolkit, pastikan Anda menyelesaikan langkah-langkah pra-penginstalan yang ada dalam panduan penginstalan.

    Seri mesin Model GPU NVIDIA Toolkit CUDA yang direkomendasikan untuk Linux Toolkit CUDA yang direkomendasikan untuk Windows
    A3 H100 T/A
    G2 L4
    A2 A100
    N1
    • T4
    • V100
    • P100
    • P4

Menginstal driver GPU di VM menggunakan skrip penginstalan

Anda dapat menggunakan skrip berikut untuk mengotomatiskan proses penginstalan. Untuk meninjau skrip ini, lihat repositori GitHub.

Linux

Gunakan petunjuk ini untuk menginstal driver GPU di VM yang sedang berjalan.

Sistem operasi yang didukung

Skrip penginstalan Linux diuji pada sistem operasi berikut:

  • Debian 10, 11, dan 12
  • Red Hat Enterprise Linux (RHEL) 8 dan 9
  • Rocky Linux 8 dan 9
  • Ubuntu 20, 22, dan 24

Jika Anda menggunakan skrip ini pada sistem operasi lain, penginstalan mungkin gagal. Skrip ini dapat menginstal driver NVIDIA serta CUDA Toolkit. Untuk menginstal driver GPU dan CUDA Toolkit, selesaikan langkah-langkah berikut:

  1. Jika Anda memiliki Agen Operasional yang mengumpulkan metrik GPU di VM versi 2.38.0 atau yang lebih baru, Anda harus menghentikan agen sebelum dapat menginstal atau mengupgrade driver GPU menggunakan skrip instalasi ini.

    Setelah menyelesaikan penginstalan atau upgrade driver GPU, Anda harus memulai ulang VM.

    Untuk menghentikan Agen Operasional, jalankan perintah berikut:

    sudo systemctl stop google-cloud-ops-agent
  2. Pastikan Python 3 terinstal di sistem operasi Anda.

  3. Download skrip penginstalan.

    curl -L https://github.com/GoogleCloudPlatform/compute-gpu-installation/releases/download/cuda-installer-v1.1.0/cuda_installer.pyz --output cuda_installer.pyz
  4. Jalankan skrip penginstalan.

    sudo python3 cuda_installer.pyz install_driver

    Skrip memerlukan beberapa saat untuk dijalankan. Tindakan ini akan memulai ulang VM Anda. Jika VM dimulai ulang, jalankan lagi skrip untuk melanjutkan penginstalan.

  5. Verifikasi penginstalannya. Lihat Memverifikasi penginstalan driver GPU.

  6. Anda juga dapat menggunakan alat ini untuk menginstal CUDA Toolkit. Untuk menginstal CUDA Toolkit, jalankan perintah berikut:

    sudo python3 cuda_installer.pyz install_cuda

    Skrip ini mungkin memerlukan waktu minimal 30 menit untuk dijalankan. Tindakan ini akan memulai ulang VM Anda. Jika VM dimulai ulang, jalankan lagi skrip untuk melanjutkan penginstalan.

  7. Verifikasi penginstalan toolkit CUDA.

    sudo python3 cuda_installer.pyz verify_cuda

Linux (skrip startup)

Gunakan petunjuk ini untuk menginstal driver GPU selama pengaktifan VM.

Sistem operasi yang didukung

Skrip penginstalan Linux diuji pada sistem operasi berikut:

  • Debian 10, 11, dan 12
  • Red Hat Enterprise Linux (RHEL) 8 dan 9
  • Rocky Linux 8 dan 9
  • Ubuntu 20, 22, dan 24

Jika Anda menggunakan skrip ini pada sistem operasi lain, penginstalan mungkin gagal. Skrip ini dapat menginstal driver NVIDIA serta CUDA Toolkit.

Gunakan skrip startup berikut untuk mengotomatiskan penginstalan driver dan CUDA Toolkit:

#!/bin/bash
if test -f /opt/google/cuda-installer
then
  exit
fi

mkdir -p /opt/google/cuda-installer
cd /opt/google/cuda-installer/ || exit

curl -fSsL -O https://github.com/GoogleCloudPlatform/compute-gpu-installation/releases/download/cuda-installer-v1.1.0/cuda_installer.pyz
python3 cuda_installer.pyz install_cuda

Windows

Skrip penginstalan ini dapat digunakan pada VM yang mengaktifkan booting aman.

  • Untuk VM Windows yang menggunakan seri mesin G2, skrip ini hanya akan menginstal driver NVIDIA.
  • Untuk jenis mesin lainnya, skrip akan menginstal driver NVIDIA dan toolkit CUDA.

Buka terminal PowerShell sebagai administrator, lalu selesaikan langkah-langkah berikut:

  1. Jika Anda menggunakan Windows Server 2016, tetapkan versi Transport Layer Security (TLS) ke 1.2.

    [Net.ServicePointManager]::SecurityProtocol = 'Tls12'
    
  2. Download skrip.

    Invoke-WebRequest https://github.com/GoogleCloudPlatform/compute-gpu-installation/raw/main/windows/install_gpu_driver.ps1 -OutFile C:\install_gpu_driver.ps1
  3. Jalankan skrip.

    C:\install_gpu_driver.ps1

    Skrip memerlukan beberapa saat untuk dijalankan. Tidak ada dialog perintah yang akan diberikan selama proses penginstalan. Setelah skrip keluar, driver akan diinstal.

    Skrip ini akan menginstal driver di lokasi default berikut pada VM Anda: C:\Program Files\NVIDIA Corporation\.

  4. Verifikasi penginstalannya. Lihat Memverifikasi penginstalan driver GPU.

Menginstal driver GPU (VM Booting Aman)

Petunjuk ini ditujukan untuk menginstal driver GPU pada VM Linux yang menggunakan Booting Aman.

Jika Anda menggunakan VM Windows atau VM Linux yang tidak menggunakan Booting Aman, tinjau salah satu petunjuk berikut:

Penginstalan driver di VM Booting Aman berbeda untuk VM Linux, karena VM ini mengharuskan semua modul kernel ditandatangani oleh kunci yang dipercaya oleh sistem.

Petunjuk ini hanya tersedia untuk VM Linux dengan booting aman yang berjalan di sistem operasi Ubuntu 18.04, 20.04, dan 22.04. Dukungan untuk lebih banyak sistem operasi Linux sedang dalam proses.

Untuk menginstal driver GPU di VM Ubuntu yang menggunakan Booting Aman, selesaikan langkah-langkah berikut:

  1. Hubungkan ke VM tempat Anda ingin menginstal driver.

  2. Update repositori.

      sudo apt-get update
    
  3. Telusuri paket modul kernel NVIDIA terbaru atau versi yang Anda inginkan. Paket ini berisi modul kernel NVIDIA yang ditandatangani oleh kunci Ubuntu. Jika Anda ingin menemukan versi sebelumnya, ubah nomor untuk parameter bagian belakangnya guna mendapatkan versi yang lebih lama. Misalnya, tentukan tail -n 2.

    Ubuntu PRO dan LTS

    Untuk Ubuntu PRO dan LTS, jalankan perintah berikut:

    NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp$' | awk '{print $1}' | sort | tail -n 1 | head -n 1 | awk -F"-" '{print $4}')
    

    Ubuntu PRO FIPS

    Untuk Ubuntu PRO FIPS, jalankan perintah berikut:

    1. Aktifkan update FIPS Ubuntu.

      sudo ua enable fips-updates
      
    2. Matikan dan mulai ulang

      sudo shutdown -r now
      
    3. Dapatkan paket terbaru.

      NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp-fips$' | awk '{print $1}' | sort | tail -n 1 | head -n 1 | awk -F"-" '{print $4}')
      

    Anda dapat memeriksa versi driver yang dipilih dengan menjalankan echo $NVIDIA_DRIVER_VERSION. Output-nya berupa string versi seperti 455.

  4. Instal paket modul kernel dan driver NVIDIA yang sesuai.

      sudo apt install linux-modules-nvidia-${NVIDIA_DRIVER_VERSION}-gcp nvidia-driver-${NVIDIA_DRIVER_VERSION}
    

    Jika perintah gagal dengan package not found error, driver NVIDIA terbaru mungkin tidak ada di repositori. Coba lagi langkah sebelumnya dan pilih versi driver sebelumnya dengan mengubah angka bagian belakangnya.

  5. Pastikan driver NVIDIA sudah terinstal. Anda mungkin perlu memulai ulang VM.

  6. Jika Anda memulai ulang sistem untuk memverifikasi versi NVIDIA. Setelah proses mulai ulang, Anda harus mereset variabel NVIDIA_DRIVER_VERSION dengan menjalankan kembali perintah yang Anda gunakan pada langkah 3.

  7. Konfigurasikan APT untuk menggunakan repositori paket NVIDIA.

    1. Untuk membantu APT memilih dependensi yang benar, sematkan repositori sebagai berikut:

      sudo tee /etc/apt/preferences.d/cuda-repository-pin-600 > /dev/null <<EOL
      Package: nsight-compute
      Pin: origin *ubuntu.com*
      Pin-Priority: -1
      Package: nsight-systems Pin: origin *ubuntu.com* Pin-Priority: -1
      Package: nvidia-modprobe Pin: release l=NVIDIA CUDA Pin-Priority: 600
      Package: nvidia-settings Pin: release l=NVIDIA CUDA Pin-Priority: 600
      Package: * Pin: release l=NVIDIA CUDA Pin-Priority: 100 EOL

    2. Instal software-properties-common. Tindakan ini diperlukan jika Anda menggunakan image minimal Ubuntu.

       sudo apt install software-properties-common
       

    3. Menyetel versi Ubuntu.

      Ubuntu 18.04

      Untuk Ubuntu 18.04, jalankan perintah berikut:

      export UBUNTU_VERSION=ubuntu1804/x86_64

      Ubuntu 20.04

      Untuk Ubuntu 20.04, jalankan perintah berikut:

      export UBUNTU_VERSION=ubuntu2004/x86_64

      Ubuntu 22.04

      Untuk Ubuntu 22.04, jalankan perintah berikut:

      export UBUNTU_VERSION=ubuntu2204/x86_64
    4. Download paket cuda-keyring.

      wget https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/cuda-keyring_1.0-1_all.deb
    5. Instal paket cuda-keyring.

      sudo dpkg -i cuda-keyring_1.0-1_all.deb
    6. Tambahkan repositori NVIDIA.

      sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/ /"

      Jika diminta, pilih tindakan default untuk mempertahankan versi saat ini.

  8. Temukan versi driver CUDA yang kompatibel.

    Skrip berikut menentukan versi driver CUDA terbaru yang kompatibel dengan driver NVIDIA yang baru saja kita instal:

      CUDA_DRIVER_VERSION=$(apt-cache madison cuda-drivers | awk '{print $3}' | sort -r | while read line; do
         if dpkg --compare-versions $(dpkg-query -f='${Version}\n' -W nvidia-driver-${NVIDIA_DRIVER_VERSION}) ge $line ; then
            echo "$line"
            break
         fi
      done)
    

    Anda dapat memeriksa versi driver CUDA dengan menjalankan echo $CUDA_DRIVER_VERSION. Output-nya berupa string versi seperti 455.32.00-1.

  9. Instal driver CUDA dengan versi yang tertera dari langkah sebelumnya.

      sudo apt install cuda-drivers-${NVIDIA_DRIVER_VERSION}=${CUDA_DRIVER_VERSION} cuda-drivers=${CUDA_DRIVER_VERSION}
    

  10. Opsional: Tahan paket dkms.

    Setelah mengaktifkan Booting Aman, semua modul kernel harus ditandatangani agar dapat dimuat. Modul kernel yang dibuat oleh dkms tidak berfungsi di VM karena tidak ditandatangani dengan benar secara default. Ini adalah langkah opsional, tetapi dapat membantu mencegah Anda menginstal paket dkms lain secara tidak sengaja di masa mendatang.

    Untuk menyimpan paket dkms, jalankan perintah berikut:

      sudo apt-get remove dkms && sudo apt-mark hold dkms
    
  11. Instal toolkit dan runtime CUDA.

    Pilih versi CUDA yang sesuai. Skrip berikut menentukan versi CUDA terbaru yang kompatibel dengan driver CUDA yang baru saja kita instal:

      CUDA_VERSION=$(apt-cache showpkg cuda-drivers | grep -o 'cuda-runtime-[0-9][0-9]-[0-9],cuda-drivers [0-9\\.]*' | while read line; do
         if dpkg --compare-versions ${CUDA_DRIVER_VERSION} ge $(echo $line | grep -Eo '[[:digit:]]+\.[[:digit:]]+') ; then
            echo $(echo $line | grep -Eo '[[:digit:]]+-[[:digit:]]')
            break
         fi
      done)
    

    Anda dapat memeriksa versi CUDA dengan menjalankan echo $CUDA_VERSION. Output-nya berupa string versi seperti 11-1.

  12. Instal paket CUDA.

      sudo apt install cuda-${CUDA_VERSION}
    
  13. Verifikasi penginstalan CUDA.

      sudo nvidia-smi
      /usr/local/cuda/bin/nvcc --version
    

    Perintah pertama akan mencetak informasi GPU. Perintah kedua akan mencetak versi compiler CUDA yang terinstal.

Memverifikasi penginstalan driver GPU

Setelah menyelesaikan langkah-langkah penginstalan driver, pastikan driver telah menginstal dan diinisialisasi dengan benar.

Linux

Hubungkan ke instance Linux dan gunakan perintah nvidia-smi untuk memastikan bahwa driver berjalan dengan benar.

sudo nvidia-smi

Outputnya mirip dengan yang berikut ini:

Tue Mar 21 19:50:15 2023
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.90.07              Driver Version: 550.90.07      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| 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  Tesla T4                       On  |   00000000:00:04.0 Off |                    0 |
| N/A   50C    P8             16W /   70W |       1MiB /  15360MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

Jika perintah ini gagal, tinjau hal berikut:

  • Periksa apakah GPU terpasang ke VM. Untuk memeriksa perangkat PCI NVIDIA, jalankan perintah berikut:

    sudo lspci | grep -i "nvidia"
  • Pastikan versi kernel driver dan versi kernel VM sudah sama.

    • Untuk memeriksa versi kernel VM, jalankan perintah berikut:

      uname -r
    • Untuk memeriksa versi kernel driver, jalankan perintah berikut:

      sudo apt-cache show linux-modules-nvidia-NVIDIA_DRIVER_VERSION-gcp

      Jika versinya tidak cocok, mulai ulang VM ke versi kernel baru.

Windows Server

Hubungkan ke instance Windows Server dan buka terminal PowerShell, lalu jalankan perintah berikut untuk memastikan bahwa driver berjalan dengan benar.

nvidia-smi

Outputnya mirip dengan hal berikut ini:

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 538.67                 Driver Version: 538.67       CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                     TCC/WDDM  | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA L4                    WDDM  | 00000000:00:03.0 Off |                    0 |
| N/A   66C    P8              17W /  72W |    128MiB / 23034MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      4888    C+G   ...CBS_cw5n1h2txyewy\TextInputHost.exe    N/A      |
|    0   N/A  N/A      5180    C+G   ....Search_cw5n1h2txyewy\SearchApp.exe    N/A      |
+---------------------------------------------------------------------------------------+

Apa langkah selanjutnya?