Menyebarkan modul IoT berkemampuan GPU di Azure Stack Hub

Dengan Azure Stack Hub berkemampuan GPU, Anda dapat menyebarkan modul intensif prosesor ke perangkat Linux yang berjalan di IoT Edge. Ukuran mesin virtual yang dioptimalkan GPU adalah VM khusus yang tersedia dengan GPU NVIDIA tunggal atau ganda. Pada artikel ini, pelajari cara menggunakan VM yang dioptimalkan GPU untuk menjalankan beban kerja komputasi intensif, intensif grafis, dan visualisasi.

Sebelum memulai, Anda memerlukan langganan Azure Active Directory (Azure AD) dengan akses ke Azure global dan Azure Stack Hub, Azure Container Registry (ACR), dan hub IoT.

Dalam artikel ini, Anda:

  • Instal mesin virtual Linux berkemampuan GPU dan instal driver yang benar.
  • Instal Docker dan aktifkan GPU dalam runtime bahasa umum.
  • Sambungkan perangkat IoT Anda ke iOT Hub Anda dan instal dari model iOT marketplace: Getting started with GPUs.
  • Instal dan pantau perangkat Anda dari komputer lokal menggunakan penjelajah Azure IoT.
  • Secara opsional, instal dan pantau perangkat Anda menggunakan ekstensi Azure IoT di Visual Studio Code.

Prasyarat

Anda harus memiliki sumber daya berikut di instans Azure Stack Hub, Azure global, dan di komputer pengembangan lokal Anda.

Azure Stack Hub dan Azure

  • Langganan sebagai pengguna yang menggunakan Azure Active Directory (Azure AD) di Sistem Terintegrasi Azure Stack Hub dengan GPU NVIDA. Chip berikut menggunakan iOT Hub:

    • NCv3
    • NCas_v4

    Untuk informasi selengkapnya tentang GPU di Azure Stack Hub, lihat Mesin virtual unit pemrosesan grafis (GPU) di Azure Stack Hub.

  • Langganan Azure global. Jika Anda tidak memiliki langganan Azure global, buat akun gratis sebelum memulai.

  • Azure Container Registry (ACR). Catat server masuk, nama pengguna, dan kata sandi ACR.

  • IoT hub tingkat standar atau gratis di Azure.

Komputer pengembangan

  • Anda dapat menggunakan komputer Anda sendiri atau komputer virtual, bergantung pada preferensi pengembangan. Komputer pengembangan Anda perlu mendukung virtualisasi bersarang. Kemampuan ini diperlukan untuk menjalankan Docker, mesin kontainer yang digunakan dalam artikel ini.

  • Komputer pengembangan Anda akan membutuhkan sumber daya berikut:

Mendaftarkan perangkat IoT Edge

Gunakan perangkat terpisah untuk menghosting perangkat IoT Edge Anda. Menggunakan perangkat terpisah akan memberikan pemisahan antara komputer pengembangan dan perangkat IoT Edge Anda secara lebih akurat yang mencerminkan skenario penyebaran.

Membuat perangkat IoT Edge di Azure dengan mesin virtual Linux:

  1. Buat mesin virtual server Linux N-series di Azure Stack Hub. Saat Anda menginstal komponen untuk server Anda, Anda akan berinteraksi dengan server melalui SSH. Untuk informasi selengkapnya, lihat Menggunakan pasangan kunci SSH dengan Azure Stack Hub.

  2. Membuat dan mendaftarkan IoT Edge Device

Menyiapkan mesin virtual berkemampuan GPU

  1. Instal Driver GPU NVIDA di server Linux N-series Anda dengan mengikuti langkah-langkah dalam artikel, Instal driver GPU NVIDIA pada VM seri-N yang menjalankan Linux.

    Catatan

    Anda akan menggunakan baris perintah bash untuk menginstal perangkat lunak Anda. Catat perintah karena Anda akan menggunakan perintah yang sama untuk menginstal driver pada kontainer yang berjalan di Docker pada mesin virtual berkemampuan GPU Anda

  2. Instal runtime bahasa umum IoT Edge terbaru di server Linux N-series Anda di Azure Stack Hub. Untuk mengetahui petunjuknya, lihat Instal runtime bahasa umum Azure IoT Edge di sistem Linux berbasis Debian

Memasang Docker

Instal Docker di mesin virtual berkemampuan GPU Anda. Anda akan menjalankan modul dari IoT Edge marketplace dalam kontainer di mesin virtual.

Anda harus menginstal Docker 19.02 atau yang lebih besar. Runtime bahasa umum Docker sekarang mendukung GPU NVIDIA. Untuk mempelajari selengkapnya tentang GPU di Docker, lihat artikel di dokumen Docker, Opsi runtime bahasa umum dengan Memori, CPU, dan GPU.

Memasang Docker

Kontainer Docker dapat berjalan di mana saja, lokal di pusat data pelanggan, di penyedia layanan eksternal atau di cloud, di Azure. Kontainer gambar Docker dapat berjalan secara native di Linux dan Windows. Namun, gambar Windows hanya dapat berjalan pada host Windows dan gambar Linux dapat berjalan pada host Linux dan host Windows (menggunakan mesin virtual Hyper-V Linux, sejauh ini), tempat host berarti server atau mesin virtual. Untuk informasi selengkapnya, lihat Apa itu Docker?.

  1. Koneksi ke server Linux N-series Anda menggunakan klien SSH Anda.

  2. Perbarui indeks dan daftar yang tepat.

    sudo apt-get update
    
  3. Ambil versi baru dari paket yang ada di komputer.

    sudo apt-get upgrade
    
  4. Instal dependensi yang diperlukan untuk menambahkan repositori apt Docker.

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  5. Tambahkan kunci GPG Docker.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  6. Tambahkan apt repo Docker.

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  7. Perbarui indeks dan daftar apt, dan instal Docker Community Edition.

    sudo apt-get update 
    sudo apt-get install docker-ce
    
  8. Verifikasi instal dengan memeriksa versi Docker.

    docker -v
    
  9. Mengekspos sumber daya GPU yang tersedia di Docker.

    docker run -it --rm --gpus all ubuntu nvidia-smi
    

Dapatkan item dari marketplace

Kembali ke portal Azure dan tambahkan model ke perangkat edge Anda menggunakan iOT marketplace. Pilih Modul Marketplace dari menu. Kemudiann, cari Getting started with GPUs, lalu ikuti petunjuk untuk menambahkan modul.

Untuk mengetahui petunjuknya, lihat Memilih perangkat dan menambahkan modul

Mengaktifkan pemantauan

  1. Unduh penjelajah Azure IoT, dan sambungkan aplikasi ke IoT Hub Anda.

  2. Pilih IoT Device Anda dan navigasikan ke Telemetri dari menu navigasi.

  3. Pilih Mulai memantau output dari IoT Edge Device.

a valid install

Memantau modul (Opsional)

  1. Di palet perintah Visual Studio Code, jalankan Azure IoT Hub: Pilih IoT Hub.

  2. Pilih langganan dan hub IoT yang berisi perangkat IoT Edge yang ingin Anda konfigurasikan. Dalam hal ini, pilih langganan di instans Azure Stack Hub Anda, dan pilih perangkat IoT Edge yang dibuat untuk Azure Stack Hub Anda. Ini terjadi saat Anda mengonfigurasikan komputasi melalui portal Microsoft Azure di langkah-langkah sebelumnya.

  3. Di penjelajah Visual Studio Code, perluas bagian Azure IoT Hub. Di bagian Perangkat, Anda akan melihat perangkat IoT Edge yang sesuai dengan Azure Stack Hub Anda.

    1. Pilih perangkat tersebut, klik kanan, dan pilih Mulai Memantau Titik Akhir Acara Bawaan.

    2. Buka Perangkat > Modul dan Anda seharusnya melihat modul GPU yang berjalan.

    3. Terminal Visual Studio Code juga seharusnya menampilkan peristiwa IoT Hub sebagai output pemantauan untuk Azure Stack Hub Anda.

    a valid install is

    Anda dapat melihat bahwa waktu untuk menjalankan set operasi yang sama (5000 perulangan transformasi bentuk) jauh lebih sedikit untuk GPU daripada untuk CPU.

Langkah berikutnya