

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Praktik terbaik untuk meminimalkan gangguan selama peningkatan driver GPU
<a name="inference-gpu-drivers"></a>

SageMaker AI Model Deployment meningkatkan driver GPU pada instans ML untuk opsi Batch Real-time, dan Inferensi Asinkron dari waktu ke waktu untuk memberi pelanggan akses ke peningkatan dari penyedia driver. Di bawah ini Anda dapat melihat versi GPU yang didukung untuk setiap opsi Inferensi. Versi driver yang berbeda dapat mengubah cara model Anda berinteraksi dengan GPU. Di bawah ini adalah beberapa strategi untuk membantu Anda memahami cara kerja aplikasi Anda dengan versi driver yang berbeda. 

## Versi saat ini dan keluarga instans yang didukung
<a name="inference-gpu-drivers-versions"></a>

Amazon SageMaker AI Inference mendukung driver dan keluarga instans berikut:



- **Real-time**
  - **GPU:** NVIDIA
  - **Versi Driver:** 470 / **Versi CUDA:** CUDA 11.4 / **Tipe instans:** ml.p2.\*, ml.p3.\*, ml.p4d.\*, ml.p4de.\*, ml.g4dn.\*, ml.g5. \*
  - **Versi Driver:** 535 / **Versi CUDA:** CUDA 12.2 / **Tipe instans:** ml.p5.\*, ml.g6. \*
  - **Versi Driver:** 550 / **Versi CUDA:** CUDA 12.4 / **Tipe instans:** ml.p5e.\*, ml.p5en. \*
  - **Versi Driver:** 580 / **Versi CUDA:** CUDA 13.0 / **Tipe instans:** ml.p6.\*, ml.g7e. \*

- **Inferensi Asinkron**
  - **GPU:** NVIDIA
  - **Versi Driver:** 470 / **Versi CUDA:** CUDA 11.4 / **Tipe instans:** ml.p2.\*, ml.p3.\*, ml.p4d.\*, ml.p4de.\*, ml.g4dn.\*, ml.g5\*
  - **Versi Driver:** 470 / **Versi CUDA:** CUDA 12.2 / **Tipe instans:** ml.p5.\*, ml.g6. \*
  - **Versi Driver:** 550 / **Versi CUDA:** CUDA 12.4 / **Tipe instans:** ml.p5e.\*, ml.p5en. \*
  - **Versi Driver:** 580 / **Versi CUDA:** CUDA 13.0 / **Tipe instans:** ml.p6.\*, ml.g7e. \*

- **Batch**
  - **GPU:** NVIDIA
  - **Versi Driver:** 470
  - **Versi CUDA:** CUDA 11.4
  - **Tipe instans:** ml.p2.\*, ml.p3.\*, ml.p4d.\*, ml.p4de.\*, ml.g4dn.\*, ml.g5\*



## Memecahkan masalah wadah model Anda dengan kemampuan GPU
<a name="inference-gpu-drivers-troubleshoot"></a>

Jika Anda mengalami masalah saat menjalankan beban kerja GPU, lihat panduan berikut:

### Kegagalan deteksi kartu GPU atau kesalahan inisialisasi NVIDIA
<a name="collapsible-section-0"></a>

Jalankan perintah `nvidia-smi` (NVIDIA System Management Interface) dari dalam wadah Docker. Jika Antarmuka Manajemen Sistem NVIDIA mendeteksi kesalahan deteksi GPU atau kesalahan inisialisasi NVIDIA, itu akan mengembalikan pesan kesalahan berikut:

```
Failed to initialize NVML: Driver/library version mismatch
```

Berdasarkan kasus penggunaan Anda, ikuti praktik terbaik berikut untuk mengatasi kegagalan atau kesalahan:
+ Ikuti rekomendasi praktik terbaik yang dijelaskan di [Jika Anda membawa wadah model (BYO) Anda sendiri](#collapsible-byoc) dropdown.
+ Ikuti rekomendasi praktik terbaik yang dijelaskan di [Jika Anda menggunakan lapisan kompatibilitas CUDA](#collapsible-cuda-compat) dropdown.

Lihat halaman Antar [ muka Manajemen Sistem NVIDIA ](https://developer.nvidia.com/nvidia-system-management-interface) di situs web NVIDIA untuk informasi selengkapnya.

### `CannotStartContainerError`
<a name="collapsible-section-cannot-start-container"></a>

 Jika instance GPU Anda menggunakan versi driver NVIDIA yang tidak kompatibel dengan versi CUDA di wadah Docker, penerapan titik akhir akan gagal dengan pesan kesalahan berikut: 

```
 Failure reason CannotStartContainerError. Please ensure the model container for variant <variant_name> starts correctly when invoked with 'docker run <image> serve'
```

Berdasarkan kasus penggunaan Anda, ikuti praktik terbaik berikut untuk mengatasi kegagalan atau kesalahan:
+ Ikuti rekomendasi praktik terbaik yang dijelaskan di [Driver yang bergantung pada wadah saya lebih besar dari versi pada instans GPU ML](#collapsible-driver-dependency-higher) dropdown.
+ Ikuti rekomendasi praktik terbaik yang dijelaskan di [Jika Anda menggunakan lapisan kompatibilitas CUDA](#collapsible-cuda-compat) dropdown.

## Praktik terbaik untuk bekerja dengan versi driver yang tidak cocok
<a name="inference-gpu-drivers-cuda-toolkit-updates"></a>

Berikut ini memberikan informasi tentang cara memperbarui driver GPU Anda:

### Driver yang bergantung pada wadah saya lebih rendah dari versi pada instance GPU ML
<a name="collapsible-driver-dependency-lower"></a>

Tidak ada tindakan yang diperlukan. NVIDIA menyediakan kompatibilitas mundur.

### Driver yang bergantung pada wadah saya lebih besar dari versi pada instans GPU ML
<a name="collapsible-driver-dependency-higher"></a>

Jika itu adalah perbedaan versi kecil, tidak ada tindakan yang diperlukan. NVIDIA menyediakan kompatibilitas maju versi minor.

Jika ini adalah perbedaan versi utama, Paket Kompatibilitas CUDA perlu diinstal. Silakan merujuk ke Paket Kompatibilitas [ CUDA ](https://docs.nvidia.com/deploy/cuda-compatibility/index.html) dalam dokumentasi NVIDIA.

**penting**  
Paket Kompatibilitas CUDA tidak kompatibel ke belakang sehingga perlu dinonaktifkan jika versi driver pada instance lebih besar dari versi Paket Kompatibilitas CUDA.

### Jika Anda membawa wadah model (BYO) Anda sendiri
<a name="collapsible-byoc"></a>

Pastikan tidak ada paket driver NVIDIA yang dibundel dalam gambar yang dapat menyebabkan konflik dengan versi driver NVIDIA host.

### Jika Anda menggunakan lapisan kompatibilitas CUDA
<a name="collapsible-cuda-compat"></a>

Untuk memverifikasi apakah versi driver Nvidia platform mendukung versi Paket Kompatibilitas CUDA yang diinstal dalam wadah model, lihat dokumentasi [ CUDA](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#use-the-right-compat-package). Jika versi driver platform Nvidia tidak mendukung versi Paket Kompatibilitas CUDA, Anda dapat menonaktifkan atau menghapus Paket Kompatibilitas CUDA dari gambar wadah model. Jika versi libs kompatibilitas CUDA didukung oleh versi driver Nvidia terbaru, kami sarankan Anda mengaktifkan Paket Kompatibilitas CUDA berdasarkan versi driver Nvidia yang terdeteksi untuk kompatibilitas di masa mendatang dengan menambahkan cuplikan kode di bawah ini ke dalam skrip shell start up container (di skri `ENTRYPOINT` p).

Skrip menunjukkan cara mengubah penggunaan Paket Kompatibilitas CUDA secara dinamis berdasarkan versi driver Nvidia yang terdeteksi pada host yang digunakan untuk wadah model Anda. Saat SageMaker merilis versi driver Nvidia yang lebih baru, Paket Kompatibilitas CUDA yang diinstal dapat dimatikan secara otomatis jika aplikasi CUDA didukung secara native pada driver baru.

```
#!/bin/bash

verlt() {
    [ "$1" = "$2" ] && return 1 || [ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]
}

if [ -f /usr/local/cuda/compat/libcuda.so.1 ]; then
    CUDA_COMPAT_MAX_DRIVER_VERSION=$(readlink /usr/local/cuda/compat/libcuda.so.1 | cut -d'.' -f 3-)
    echo "CUDA compat package should be installed for NVIDIA driver smaller than ${CUDA_COMPAT_MAX_DRIVER_VERSION}"
    NVIDIA_DRIVER_VERSION=$(sed -n 's/^NVRM.*Kernel Module *\([0-9.]*\).*$/\1/p' /proc/driver/nvidia/version 2>/dev/null || true)
    echo "Current installed NVIDIA driver version is ${NVIDIA_DRIVER_VERSION}"
    if verlt $NVIDIA_DRIVER_VERSION $CUDA_COMPAT_MAX_DRIVER_VERSION; then
        echo "Adding CUDA compat to LD_LIBRARY_PATH"
        export LD_LIBRARY_PATH=/usr/local/cuda/compat:$LD_LIBRARY_PATH
        echo $LD_LIBRARY_PATH
    else
        echo "Skipping CUDA compat setup as newer NVIDIA driver is installed"
    fi
else
    echo "Skipping CUDA compat setup as package not found"
fi
```