Tutorial: Mengonfigurasi, menyambungkan, dan memverifikasi modul IoT Edge untuk GPU
Berlaku untuk: IoT Edge 1.5
Penting
IoT Edge 1.5 LTS adalah rilis yang didukung. IoT Edge 1.4 LTS adalah akhir masa pakai per 12 November 2024. Jika Anda menggunakan rilis sebelumnya, lihat Memperbarui IoT Edge.
Tutorial ini menunjukkan kepada Anda cara membangun komputer virtual (VM) dengan dukungan GPU. Dari VM, Anda akan melihat cara menjalankan perangkat IoT Edge yang mengalokasikan pekerjaan dari salah satu modulnya ke GPU Anda.
Kami akan menggunakan portal Azure, Azure Cloud Shell, dan baris perintah VM Anda untuk:
- Membangun VM berkemampu GPU
- Menginstal ekstensi driver NVIDIA pada VM
- Mengonfigurasi modul pada perangkat IoT Edge untuk mengalokasikan pekerjaan ke GPU
Prasyarat
Akun Azure - buat akun gratis
Azure IoT Hub - membuat IoT Hub
Perangkat Azure IoT Edge
Jika Anda belum memiliki perangkat IoT Edge dan perlu membuatnya dengan cepat, jalankan perintah berikut. Gunakan Azure Cloud Shell yang terletak di portal Azure. Buat nama perangkat baru untuk
<DEVICE-NAME>
dan ganti IoT<IOT-HUB-NAME>
dengan nama Anda sendiri.az iot hub device-identity create --device-id <YOUR-DEVICE-NAME> --edge-enabled --hub-name <YOUR-IOT-HUB-NAME>
Untuk informasi selengkapnya tentang membuat perangkat IoT Edge, lihat Mulai Cepat: Menyebarkan modul IoT Edge pertama Anda ke perangkat Linux virtual. Nanti dalam tutorial ini, kita akan menambahkan modul NVIDIA ke perangkat IoT Edge kita.
Membuat komputer virtual yang dioptimalkan GPU
Untuk membuat komputer virtual (VM) yang dioptimalkan GPU, memilih ukuran yang tepat adalah penting. Tidak semua ukuran VM mengakomodasi pemrosesan GPU. Selain itu, ada ukuran VM yang berbeda untuk beban kerja yang berbeda. Untuk informasi selengkapnya, lihat Ukuran komputer virtual yang dioptimalkan GPU atau coba pemilih Komputer virtual.
Mari kita buat VM IoT Edge dengan templat Azure Resource Manager (ARM) di GitHub, lalu konfigurasikan agar dioptimalkan GPU.
Buka templat penyebaran VM IoT Edge di GitHub: Azure/iotedge-vm-deploy.
Pilih tombol Sebarkan ke Azure, yang memulai pembuatan VM kustom untuk Anda di portal Azure.
Isi bidang Penyebaran kustom dengan kredensial dan sumber daya Azure Anda:
Properti Deskripsi atau nilai sampel Langganan Pilih langganan akun Azure Anda. Grup sumber daya Tambahkan grup sumber daya Azure Anda. Wilayah East US
VM GPU tidak tersedia di semua wilayah.Awalan Label Dns Buat nama untuk VM Anda. Nama Pengguna Admin adminUser
Atau, buat nama pengguna Anda sendiri.String Koneksi Perangkat Salin string koneksi Anda dari perangkat IoT Edge Anda, lalu tempelkan di sini. Ukuran komputer virtual Standard_NV6
Jenis autentikasi Pilih kata sandi atau Kunci Umum SSH, lalu buat kata sandi atau nama pasangan kunci jika diperlukan. Tip
Periksa VM GPU mana yang didukung di setiap wilayah: Produk yang tersedia menurut wilayah.
Untuk memeriksa wilayah mana yang diizinkan langganan Azure Anda, coba perintah Azure ini dari portal Azure.
Standard_N
artinyaN
ini adalah VM yang diaktifkan GPU.az vm list-skus --location <YOUR-REGION> --size Standard_N --all --output table
Pilih tombol Tinjau + buat di bagian bawah, lalu tombol Buat . Penyebaran dapat memakan waktu satu menit untuk diselesaikan.
Menginstal ekstensi NVIDIA
Sekarang setelah kita memiliki VM yang dioptimalkan GPU, mari kita instal ekstensi NVIDIA pada VM menggunakan portal Azure.
Buka VM Anda di portal Azure dan pilih Ekstensi + aplikasi dari menu sebelah kiri.
Pilih Tambahkan dan pilih Ekstensi Driver GPU NVIDIA dari daftar, lalu pilih Berikutnya.
Pilih Tinjau + buat, lalu Buat. Penyebaran dapat memakan waktu hingga 30 menit untuk diselesaikan.
Untuk mengonfirmasi penginstalan di portal Azure, kembali ke menu Ekstensi + aplikasi di VM Anda. Ekstensi baru bernama
NvidiaGpuDriverLinux
harus berada di daftar ekstensi Anda dan memperlihatkan Provisi berhasil di bawah Status.Untuk mengonfirmasi penginstalan menggunakan Azure Cloud Shell, jalankan perintah ini untuk mencantumkan ekstensi Anda.
<>
Ganti tempat penampung dengan nilai Anda:az vm extension list --resource-group <YOUR-RESOURCE-GROUP> --vm-name <YOUR-VM-NAME> -o table
Dengan modul NVIDIA, kita akan menggunakan program Antarmuka Manajemen Sistem NVIDIA, juga dikenal sebagai
nvidia-smi
.Dari perangkat Anda, instal
nvidia-smi
paket berdasarkan versi Ubuntu Anda. Untuk tutorial ini, kita akan menginstalnvidia-utils-515
untuk Ubuntu 20.04. PilihY
saat diminta dalam penginstalan.sudo apt install nvidia-utils-515
Berikut adalah daftar semua
nvidia-smi
versi. Jika Anda menjalankannvidia-smi
tanpa menginstalnya terlebih dahulu, daftar ini akan dicetak di konsol Anda.Setelah penginstalan, jalankan perintah ini untuk mengonfirmasi bahwa perintah telah diinstal:
nvidia-smi
Tabel konfirmasi akan muncul, mirip dengan tabel ini.
Catatan
Ekstensi NVIDIA adalah cara yang disederhanakan untuk menginstal driver NVIDIA, tetapi Anda mungkin memerlukan lebih banyak penyesuaian. Untuk informasi selengkapnya tentang penginstalan kustom pada VM seri N, lihat Menginstal driver GPU NVIDIA pada VM seri N yang menjalankan Linux.
Mengaktifkan modul dengan akselerasi GPU
Ada berbagai cara untuk mengaktifkan modul IoT Edge sehingga menggunakan GPU untuk diproses. Salah satu caranya adalah dengan mengonfigurasi modul IoT Edge yang ada di perangkat Anda untuk dipercepat GPU. Cara lain adalah menggunakan modul kontainer prefabrikasi, misalnya, modul dari NVIDIA DIGITS yang sudah dioptimalkan GPU. Mari kita lihat bagaimana kedua cara tersebut dilakukan.
Mengaktifkan GPU dalam modul yang ada menggunakan DeviceRequests
Jika Anda memiliki modul yang ada di perangkat IoT Edge Anda, menambahkan konfigurasi menggunakan DeviceRequests
dalam createOptions
manifes penyebaran membuat modul dioptimalkan GPU. Ikuti langkah-langkah ini untuk mengonfigurasi modul yang ada.
Buka IoT Hub Anda di portal Azure dan pilih Perangkat di bawah menu Manajemen perangkat.
Pilih perangkat IoT Edge Anda untuk membukanya.
Pilih tab Atur modul di bagian atas.
Pilih modul yang ingin Anda aktifkan untuk penggunaan GPU di daftar Modul IoT Edge.
Panel samping terbuka, pilih tab Opsi Buat Kontainer.
Salin string JSON ini
HostConfig
dan tempelkan ke dalam kotak Buat opsi .{ "HostConfig": { "DeviceRequests": [ { "Count": -1, "Capabilities": [ [ "gpu" ] ] } ] } }
Pilih Perbarui.
Pilih Tinjau + buat. Objek baru
HostConfig
sekarang terlihat disettings
modul Anda.Pilih Buat.
Untuk mengonfirmasi konfigurasi baru berfungsi, jalankan perintah ini di VM Anda:
sudo docker inspect <YOUR-MODULE-NAME>
Anda akan melihat parameter yang Anda tentukan
DeviceRequests
di cetakan JSON di konsol.
Catatan
Untuk memahami parameter dengan DeviceRequests
lebih baik, lihat kode sumber: moby/host_config.go
Mengaktifkan GPU dalam modul NVIDIA prefabrikasi
Mari kita tambahkan modul NVIDIA DIGITS ke perangkat IoT Edge lalu alokasikan GPU ke modul dengan mengatur variabel lingkungannya. Modul NVIDIA ini sudah ada dalam kontainer Docker.
Pilih perangkat IoT Edge Anda di portal Azure dari menu Perangkat IoT Hub Anda.
Pilih tab Atur modul di bagian atas.
Pilih + Tambahkan di bawah judul modul IoT Edge dan pilih Modul IoT Edge.
Berikan nama di bidang Nama Modul IoT Edge.
Di bawah tab Pengaturan Modul, tambahkan
nvidia/digits:6.0
ke bidang URI Gambar.Pilih tab Variabel Lingkungan.
Tambahkan nama
NVIDIA_VISIBLE_DEVICES
variabel lingkungan dengan nilai0
. Variabel ini mengontrol GPU mana yang terlihat oleh aplikasi kontainer yang berjalan di perangkat edge. VariabelNVIDIA_VISIBLE_DEVICES
lingkungan dapat diatur ke daftar ID perangkat yang dipisahkan koma, yang sesuai dengan GPU fisik dalam sistem. Misalnya, jika ada dua GPU dalam sistem dengan ID perangkat 0 dan 1, variabel dapat diatur ke "NVIDIA_VISIBLE_DEVICES=0,1" untuk membuat kedua GPU terlihat oleh kontainer. Dalam artikel ini, karena VM hanya memiliki satu GPU, kami akan menggunakan yang pertama (dan hanya) satu.Nama Jenis Nilai NVIDIA_VISIBLE_DEVICES Teks 0 Pilih Tambahkan.
Pilih Tinjau + buat. Properti manifes penyebaran Anda akan muncul.
Pilih Buat untuk membuat modul.
Pilih Refresh untuk memperbarui daftar modul Anda. Modul akan memakan waktu beberapa menit untuk ditampilkan berjalan dalam status Runtime, jadi terus refresh perangkat.
Dari perangkat Anda, jalankan perintah ini untuk mengonfirmasi modul NVIDIA baru Anda ada dan sedang berjalan.
iotedge list
Anda akan melihat modul NVIDIA Anda dalam daftar modul di perangkat IoT Edge Anda dengan status
running
.
Catatan
Untuk informasi selengkapnya tentang modul kontainer NVIDIA DIGITS , lihat Dokumentasi Digit Pembelajaran Mendalam.
Membersihkan sumber daya
Jika Anda ingin melanjutkan tutorial IoT Edge lainnya, Anda dapat menggunakan perangkat yang Anda buat untuk tutorial ini. Jika tidak, Anda dapat menghapus sumber daya Azure yang Anda buat untuk menghindari biaya.
Jika Anda membuat komputer virtual dan hub IoT di grup sumber daya baru, Anda dapat menghapus grup tersebut, yang akan menghapus semua sumber daya terkait. Periksa kembali konten grup sumber daya untuk memastikan tidak ada yang ingin Anda simpan. Jika Anda tidak ingin menghapus seluruh grup, Anda dapat menghapus sumber daya individual (komputer virtual, perangkat, atau modul GPU) sebagai gantinya.
Penting
Penghapusan grup sumber daya tidak bisa dipulihkan.
Gunakan perintah berikut untuk menghapus grup sumber daya Azure Anda. Mungkin perlu waktu beberapa menit untuk menghapus grup sumber daya.
az group delete --name <YOUR-RESOURCE-GROUP> --yes
Anda dapat mengonfirmasi bahwa grup sumber daya dihapus dengan melihat daftar grup sumber daya.
az group list
Langkah berikutnya
Artikel ini membantu Anda menyiapkan komputer virtual dan perangkat IoT Edge agar dipercepat GPU. Untuk menjalankan aplikasi dengan penyiapan serupa, coba jalur pembelajaran untuk pengembangan NVIDIA DeepStream dengan Microsoft Azure. Tutorial Pelajari menunjukkan kepada Anda cara mengembangkan Aplikasi Video Cerdas yang dioptimalkan yang dapat menggunakan beberapa sumber video, gambar, dan audio.