Pasang driver GPU NVIDIA pada komputer virtual seri N yang menjalankan Linux
Berlaku untuk: ✔️ Mesin virtual Linux
Untuk memanfaatkan kemampuan GPU Azure N-series VM yang didukung oleh GPU NVIDIA, Anda harus menginstal driver GPU NVIDIA. NVIDIA GPU Driver Extension menginstal driver NVIDIA CUDA atau GRID yang sesuai pada VM seri N. Instal atau kelola ekstensi menggunakan portal atau alat Microsoft Azure seperti Azure CLI atau templat Azure Resource Manager. Lihat dokumentasi NVIDIA GPU Driver Extension untuk langkah distribusi dan penyebaran yang didukung.
Jika Anda memilih untuk menginstal driver GPU NVIDIA secara manual, artikel ini menyediakan distribusi, driver, serta langkah penginstalan dan verifikasi yang didukung. Informasi persiapan driver manual juga tersedia untuk Windows VM.
Untuk spesifikasi, kapasitas penyimpanan, dan detail disk VM seri N, lihat ukuran VM GPU Linux.
Distribusi dan driver yang didukung
Driver NVIDIA CUDA
Untuk driver CUDA terbaru dan sistem operasi yang didukung, kunjungi situs web NVIDIA. Pastikan Anda menginstal atau meningkatkan ke driver CUDA terbaru yang didukung untuk distribusi Anda.
Catatan
Driver CUDA terbaru yang didukung untuk mesin virtual seri NC saat ini adalah versi 470.82.01. Versi driver yang lebih baru tidak didukung pada kartu K80 di NC.
Tip
Sebagai alternatif untuk penginstalan driver CUDA manual pada VM Linux, Anda dapat menyebarkan gambar Azure Data Science Virtual Machine. Edisi DSVM untuk Ubuntu 16.04 LTS atau CentOS 7.4 pra-instal driver NVIDIA CUDA, CUDA Deep Neural Network Library, dan alat lainnya.
Driver NVIDIA GRID
Microsoft mendistribusikan ulang penginstal driver NVIDIA GRID untuk VM seri NV dan NVv3 yang digunakan sebagai stasiun kerja virtual atau untuk aplikasi virtual. Instal hanya driver GRID ini di Azure NV VM, hanya pada sistem operasi yang tercantum dalam tabel berikut. Driver ini termasuk lisensi untuk GRID Virtual GPU Software di Azure. Anda tidak perlu menyiapkan server lisensi perangkat lunak NVIDIA vGPU.
Driver GRID yang didistribusikan ulang oleh Azure tidak berfungsi pada sebagian besar Mesin Virtual seri non-NV seperti Mesin Virtual seri NC, NCv2, NCv3, ND, dan NDv2, tetapi berfungsi pada seri NCasT4v3.
| Distribusi | Driver |
|---|---|
| Ubuntu 16.04 LTS, 18.04 LTS Red Hat Enterprise Linux 7.9 SUSE Linux Enterprise Server 15 SP2+, 15 SP2 |
NVIDIA GRID 14.1, cabang driver R510(.exe) |
Catatan
Mesin virtual Azure NVads A10 v5 hanya mendukung GRID 14.1(510.73) atau versi driver yang lebih tinggi.
Kunjungi GitHub untuk daftar lengkap semua tautan driver Nvidia GRID sebelumnya.
Peringatan
Penginstalan perangkat lunak pihak ketiga pada produk Red Hat dapat memengaruhi persyaratan dukungan Red Hat. Lihat artikel dasar pengetahuan Red Hat.
Menginstal driver CUDA pada VM seri N
Berikut langkah untuk menginstal driver CUDA dari NVIDIA CUDA Toolkit pada VM seri N.
Pengembang C dan C++ dapat secara opsional menginstal Toolkit lengkap untuk membangun aplikasi yang dipercepat GPU. Untuk informasi lebih lanjut, lihat Panduan Penginstalan CUDA.
Untuk menginstal driver CUDA, buat koneksi SSH ke setiap VM. Untuk memverifikasi bahwa sistem memiliki GPU berkemampuan CUDA, jalankan perintah berikut:
lspci | grep -i NVIDIA
Anda akan melihat output yang mirip dengan contoh berikut (menampilkan kartu NVIDIA Tesla K80):

lspci mencantumkan perangkat PCIe pada VM, termasuk InfiniBand NIC dan GPU, jika ada. Jika lspci tidak berhasil ditampilkan, Anda mungkin perlu menginstal LIS pada CentOS/RHEL (instruksi di bawah). Kemudian, jalankan perintah instalasi khusus untuk distribusi Anda.
Ubuntu
Unduh dan instal driver CUDA dari situs web NVIDIA.
Catatan
Contoh di bawah menunjukkan jalur paket CUDA untuk Ubuntu 16.04. Ganti jalur khusus ke versi akan Anda gunakan.
Kunjungi Nvidia Download Center untuk jalur lengkap khusus ke setiap versi.
CUDA_REPO_PKG=cuda-repo-ubuntu1604_10.0.130-1_amd64.deb wget -O /tmp/${CUDA_REPO_PKG} https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/${CUDA_REPO_PKG} sudo dpkg -i /tmp/${CUDA_REPO_PKG} sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/3bf863cc.pub rm -f /tmp/${CUDA_REPO_PKG} sudo apt-get update sudo apt-get install cuda-driversPenginstalan dapat memakan waktu beberapa menit.
Untuk menginstal toolkit CUDA lengkap secara opsional, ketik:
sudo apt-get install cudaBoot ulang VM dan lanjutkan untuk memverifikasi penginstalan.
Pembaruan driver CUDA
Kami menyarankan agar Anda memperbarui driver CUDA secara berkala setelah penyebaran.
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get install cuda-drivers
sudo reboot
CentOS atau Red Hat Enterprise Linux
Perbarui kernel (disarankan). Jika Anda memilih untuk tidak memperbarui kernel, pastikan bahwa versi
kernel-develdandkmssesuai untuk kernel Anda.sudo yum install kernel kernel-tools kernel-headers kernel-devel sudo rebootInstal Layanan Integrasi Linux terbaru untuk Hyper-V dan Azure. Periksa apakah LIS diperlukan dengan memverifikasi hasil lspci. Jika semua perangkat GPU tercantum seperti yang diharapkan (dan didokumentasikan di atas), menginstal LIS tidak diperlukan.
Harap diingat bahwa LIS dapat diterapkan untuk Red Hat Enterprise Linux, CentOS, dan Oracle Linux Red Hat Compatible Kernel 5.2-5.11, 6.0-6.10, dan 7.0-7.7. Silakan merujuk ke dokumentasi Layanan Integrasi Linux untuk detail lebih lanjut. Lewati langkah ini jika Anda berencana menggunakan CentOS/RHEL 7.8 (atau versi yang lebih tinggi) karena LIS tidak lagi diperlukan untuk versi ini.
wget https://aka.ms/lis tar xvzf lis cd LISISO sudo ./install.sh sudo rebootSambungkan kembali ke VM dan lanjutkan penginstalan dengan perintah berikut:
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install dkms sudo wget https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo -O /etc/yum.repos.d/cuda-rhel7.repo sudo yum install cuda-driversPenginstalan dapat memakan waktu beberapa menit.
Catatan
Kunjungi Fedora dan Nvidia CUDA repo untuk memilih paket yang tepat untuk versi CentOS atau RHEL yang ingin Anda gunakan.
Contohnya, CentOS 8 dan RHEL 8 akan memerlukan langkah berikut.
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo yum install dkms
sudo wget https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo -O /etc/yum.repos.d/cuda-rhel8.repo
sudo yum install cuda-drivers
Untuk menginstal toolkit CUDA lengkap secara opsional, ketik:
sudo yum install cudaCatatan
Jika Anda melihat pesan kesalahan terkait dengan paket yang hilang seperti vulkan-filesystem maka Anda mungkin perlu mengedit /etc/yum.repos.d/rh-cloud , cari optional-rpms dan atur diaktifkan ke 1
Boot ulang VM dan lanjutkan untuk memverifikasi penginstalan.
Memverifikasi penginstalan driver
Untuk mengkueri status perangkat GPU, SSH ke VM dan jalankan utilitas baris perintah nvidia-smi yang diinstal dengan driver.
Jika driver terinstal, Anda akan melihat output yang mirip dengan yang berikut ini. Perhatikan bahwa GPU-Util menunjukkan 0% kecuali saat ini Anda menjalankan beban kerja GPU pada VM. Versi driver dan detail GPU Anda mungkin berbeda dengan yang ditampilkan.

Konektivitas jaringan RDMA
Konektivitas jaringan RDMA dapat diaktifkan pada VM seri N berkemampuan RDMA seperti NC24r yang disebarkan dalam rangkaian ketersediaan yang sama atau dalam satu grup penempatan dalam set skala komputer virtual (VM). Jaringan RDMA mendukung lalu lintas Message Passing Interface (MPI) untuk aplikasi yang berjalan dengan Intel MPI 5.x atau versi yang lebih baru. Persyaratan tambahan termasuk:
Distribusi
Sebarkan VM seri N berkemampuan RDMA dari salah satu citra di Azure Marketplace yang mendukung konektivitas RDMA pada VM seri N:
Ubuntu 16.04 LTS - Konfigurasikan driver RDMA pada VM dan daftarkan dengan Intel untuk mengunduh Intel MPI:
Instal dapl, rdmacm, ibverbs, dan mlx4
sudo apt-get update sudo apt-get install libdapl2 libmlx4-1Dalam /etc/waagent.conf, aktifkan RDMA dengan tidak mengisi komentar pada kalimat-kalimat konfigurasi berikut. Anda memerlukan akses root untuk mengedit file ini.
OS.EnableRDMA=y OS.UpdateRdmaDriver=yTambahkan atau ubah pengaturan memori berikut dalam KB dalam file /etc/security/limits.conf. Anda memerlukan akses root untuk mengedit file ini. Untuk tujuan pengujian, Anda dapat set memlock ke tak terbatas. Misalnya:
<User or group name> hard memlock unlimited.<User or group name> hard memlock <memory required for your application in KB> <User or group name> soft memlock <memory required for your application in KB>Instal Perpustakaan Intel MPI. Baik membeli dan mengunduh perpustakaan dari Intel atau unduh versi evaluasi gratis.
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9278/l_mpi_p_5.1.3.223.tgzHanya Intel MPI 5.x runtimes yang didukung.
Untuk langkah-langkah penginstalan, lihat Panduan Instalasi Perpustakaan Intel MPI.
Aktifkan ptrace untuk proses non-root non-debugger (diperlukan untuk versi terbaru Intel MPI).
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
HPC 7.4 berbasis CentOS - Driver RDMA dan Intel MPI 5.1 diinstal pada VM.
HPC berbasis CentOS - CentOS-HPC 7.6 dan yang lebih baru (untuk SKU di mana InfiniBand didukung melalui SR-IOV). Citra ini memiliki pustaka Mellanox OFED dan MPI yang telah diinstal sebelumnya.
Catatan
Kartu CX3-Pro ini hanya didukung melalui Mellanox OFED versi LTS. Gunakan LTS Mellanox versi OFED (4.9-0.1.7.0) pada VM seri N dengan kartu ConnectX3-Pro. Untuk informasi lebih lanjut, lihat Driver Linux.
Selain itu, beberapa citra HPC Azure Marketplace terbaru memiliki Mellanox OFED 5.1 dan yang lebih baru, yang tidak mendukung kartu ConnectX3-Pro. Periksa versi Mellanox OFED pada citra HPC sebelum menggunakannya di VM dengan kartu ConnectX3-Pro.
Berikut citra CentOS-HPC terbaru yang mendukung kartu ConnectX3-Pro:
- OpenLogic:CentOS-HPC:7.6:7.6.2020062900
- OpenLogic:CentOS-HPC:7_6gen2:7.6.2020062901
- OpenLogic:CentOS-HPC:7.7:7.7.2020062600
- OpenLogic:CentOS-HPC:7_7-gen2:7.7.2020062601
- OpenLogic:CentOS-HPC:8_1:8.1.2020062400
- OpenLogic:CentOS-HPC:8_1-gen2:8.1.2020062401
Menginstal driver GRID pada VM seri NV atau NVv3
Untuk menginstal driver NVIDIA GRID pada VM seri NV atau NVv3, buat koneksi SSH ke setiap VM dan ikuti langkah untuk distribusi Linux Anda.
Ubuntu
Jalankan perintah
lspci. Verifikasi bahwa kartu NVIDIA M60 dapat dilihat sebagai perangkat PCI.Instal pembaruan.
sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y sudo apt-get install build-essential ubuntu-desktop -y sudo apt-get install linux-azure -yNonaktifkan driver kernel Nouveau, yang tidak kompatibel dengan driver NVIDIA. (Hanya gunakan driver NVIDIA pada VM NV atau NVv2.) Untuk melakukan ini, buat file
/etc/modprobe.dbernamanouveau.confdengan konten berikut:blacklist nouveau blacklist lbm-nouveauBoot ulang VM dan sambungkan kembali. Keluar dari server X:
sudo systemctl stop lightdm.serviceUnduh dan instal driver GRID:
wget -O NVIDIA-Linux-x86_64-grid.run https://go.microsoft.com/fwlink/?linkid=874272 chmod +x NVIDIA-Linux-x86_64-grid.run sudo ./NVIDIA-Linux-x86_64-grid.runKetika Anda ditanya apakah Anda ingin menjalankan utilitas nvidia-xconfig untuk memperbarui file konfigurasi X Anda, pilih Ya.
Setelah penginstalan selesai, salin /etc/nvidia/gridd.conf.template ke file gridd.conf baru di lokasi /etc/nvidia/
sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.confTambahkan pernyataan berikut ke
/etc/nvidia/gridd.conf:IgnoreSP=FALSE EnableUI=FALSEHapus pernyataan berikut dari
/etc/nvidia/gridd.confjika ada:FeatureType=0Boot ulang VM dan lanjutkan untuk memverifikasi penginstalan.
CentOS atau Red Hat Enterprise Linux
Perbarui kernel dan DKMS (disarankan). Jika Anda memilih untuk tidak memperbarui kernel, pastikan bahwa versi
kernel-develdandkmssesuai untuk kernel Anda.sudo yum update sudo yum install kernel-devel sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install dkms sudo yum install hyperv-daemonsNonaktifkan driver kernel Nouveau, yang tidak kompatibel dengan driver NVIDIA. (Hanya gunakan driver NVIDIA pada VM NV atau NV3) Untuk melakukan ini, buat file
/etc/modprobe.dbernamanouveau.confdengan konten berikut:blacklist nouveau blacklist lbm-nouveauBoot ulang VM, sambungkan kembali, dan instal Layanan Integrasi Linux terbaru untuk Hyper-V dan Azure. Periksa apakah LIS diperlukan dengan memverifikasi hasil lspci. Jika semua perangkat GPU tercantum seperti yang diharapkan (dan didokumentasikan di atas), menginstal LIS tidak diperlukan.
Lewati langkah ini jika Anda berencana menggunakan CentOS/RHEL 7.8 (atau versi yang lebih tinggi) karena LIS tidak lagi diperlukan untuk versi ini.
wget https://aka.ms/lis tar xvzf lis cd LISISO sudo ./install.sh sudo rebootSambungkan kembali ke VM dan jalankan perintah
lspci. Verifikasi bahwa kartu NVIDIA M60 dapat dilihat sebagai perangkat PCI.Unduh dan instal driver GRID:
wget -O NVIDIA-Linux-x86_64-grid.run https://go.microsoft.com/fwlink/?linkid=874272 chmod +x NVIDIA-Linux-x86_64-grid.run sudo ./NVIDIA-Linux-x86_64-grid.runKetika Anda ditanya apakah Anda ingin menjalankan utilitas nvidia-xconfig untuk memperbarui file konfigurasi X Anda, pilih Ya.
Setelah penginstalan selesai, salin /etc/nvidia/gridd.conf.template ke file gridd.conf baru di lokasi /etc/nvidia/
sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.confTambahkan pernyataan berikut ke
/etc/nvidia/gridd.conf:IgnoreSP=FALSE EnableUI=FALSEHapus pernyataan berikut dari
/etc/nvidia/gridd.confjika ada:FeatureType=0Boot ulang VM dan lanjutkan untuk memverifikasi penginstalan.
Memverifikasi penginstalan driver
Untuk mengkueri status perangkat GPU, SSH ke VM dan jalankan utilitas baris perintah nvidia-smi yang diinstal dengan driver.
Jika driver terinstal, Anda akan melihat output yang mirip dengan yang berikut ini. Perhatikan bahwa GPU-Util menunjukkan 0% kecuali saat ini Anda menjalankan beban kerja GPU pada VM. Versi driver dan detail GPU Anda mungkin berbeda dengan yang ditampilkan.

Server X11
Jika Anda memerlukan server X11 untuk koneksi jarak jauh ke VM NV atau NVv2, disarankan menggunakan x11vnc karena server ini memungkinkan akselerasi perangkat keras grafis. BusID perangkat M60 harus ditambahkan secara manual ke file konfigurasi X11 (biasanya, etc/X11/xorg.conf). Tambahkan bagian "Device" yang mirip dengan contoh berikut:
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Tesla M60"
BusID "PCI:0@your-BusID:0:0"
EndSection
Selain itu, perbarui bagian "Screen" untuk menggunakan perangkat ini.
BusID desimal dapat ditemukan dengan menjalankan
nvidia-xconfig --query-gpu-info | awk '/PCI BusID/{print $4}'
BusID dapat berubah ketika VM dialokasikan ulang atau di-boot ulang. Oleh karena itu, Anda mungkin ingin membuat skrip untuk memperbarui BusID dalam konfigurasi X11 saat VM di-boot ulang. Contohnya, buat skrip bernama busidupdate.sh (atau nama lain yang Anda pilih) dengan konten yang mirip dengan contoh berikut:
#!/bin/bash
XCONFIG="/etc/X11/xorg.conf"
OLDBUSID=`awk '/BusID/{gsub(/"/, "", $2); print $2}' ${XCONFIG}`
NEWBUSID=`nvidia-xconfig --query-gpu-info | awk '/PCI BusID/{print $4}'`
if [[ "${OLDBUSID}" == "${NEWBUSID}" ]] ; then
echo "NVIDIA BUSID not changed - nothing to do"
else
echo "NVIDIA BUSID changed from \"${OLDBUSID}\" to \"${NEWBUSID}\": Updating ${XCONFIG}"
sed -e 's|BusID.*|BusID '\"${NEWBUSID}\"'|' -i ${XCONFIG}
fi
Kemudian, buat entri untuk skrip pembaruan pada /etc/rc.d/rc3.d agar skrip dipanggil sebagai root on boot.
Pemecahan Masalah
- Anda dapat mengatur mode kegigihan menggunakan
nvidia-smiagar output perintah lebih cepat saat Anda perlu mengkueri kartu. Untuk mengatur mode kegigihan, jalankannvidia-smi -pm 1. Perhatikan bahwa jika VM dimulai ulang, pengaturan mode akan hilang. Anda selalu dapat membuat skrip pengaturan mode untuk dijalankan saat pengaktifan. - Jika Anda memperbarui driver NVIDIA CUDA ke versi terbaru dan menemukan bahwa konektivitas RDMA tidak lagi berfungsi, instal kembali driver RDMA untuk membangun kembali konektivitas tersebut.
- Selama instalasi LIS, jika versi (atau kernel) CentOS/RHEL OS tertentu tidak didukung untuk LIS, kesalahan "Versi kernel tidak didukung" dikirimkan. Harap laporkan kesalahan ini bersama dengan versi OS dan kernel.
- Jika pekerjaan terganggu oleh kesalahan ECC pada GPU (baik yang dapat diperbaiki atau tidak dapat diperbaiki), periksa terlebih dahulu untuk melihat apakah GPU memenuhi salah satu kriteria RMA untuk kesalahan ECC Nvidia. Jika GPU memenuhi syarat untuk RMA, harap hubungi dukungan untuk memperbaikinya; jika tidak, reboot Mesin Virtual Anda untuk memasang kembali GPU seperti yang dijelaskan di sini. Perhatikan bahwa metode yang kurang invasif seperti
nvidia-smi -rtidak berfungsi dengan solusi virtualisasi yang diterapkan di Azure.
Langkah berikutnya
- Untuk menangkap citra VM Linux dengan driver NVIDIA yang diinstal, lihat Cara mengeneralisasikan dan menangkap komputer virtual Linux.