Menyebarkan modul IoT dengan GPU aktif pada perangkat Azure Stack Edge Pro GPU

BERLAKU UNTUK:Ya untuk Pro - GPU SKU Azure Stack Edge Pro - GPUYa untuk Pro 2 SKUAzure Stack Edge Pro 2Ya untuk Pro R SKUAzure Stack Edge Pro R

Catatan

Kami sangat menyarankan Agar Anda menyebarkan versi IoT Edge terbaru di VM Linux. IoT Edge terkelola di Azure Stack Edge menggunakan versi runtime IoT Edge yang lebih lama yang tidak memiliki fitur dan patch terbaru. Untuk petunjuknya, lihat cara Menyebarkan VM Ubuntu. Untuk informasi selengkapnya tentang distribusi Linux lain yang didukung yang dapat menjalankan IoT Edge, lihat Sistem yang didukung Azure IoT Edge – Mesin kontainer.

Artikel ini menjelaskan cara menyebarkan modul IoT Edge dengan GPU yang diaktifkan pada perangkat Azure Stack Edge Pro GPU Anda.

Dalam artikel ini, Anda akan mempelajari cara:

  • Menyiapkan Azure Stack Edge Pro untuk menjalankan modul GPU.
  • Mengunduh dan menginstal kode sampel dari repositori Git.
  • Membangun solusi dan membuat manifes penyebaran.
  • Menyebarkan solusi ke perangkat Azure Stack Edge Pro.
  • Memantau output modul.

Tentang modul sampel

Modul sampel GPU dalam artikel ini mencakup kode sampel tolok ukur PyTorch dan TensorFlow untuk CPU terhadap GPU.

Prasyarat

Sebelum mulai, pastikan bahwa Anda memiliki:

Mendapatkan kode sampel

  1. Buka Azure Intelligent Edge Patterns dalam sampel Azure. Klon atau unduh file zip untuk kode.

    Unduh file zip

    Ekstrak file dari zip. Anda juga dapat mengkloning sampel.

    git clone https://github.com/Azure-Samples/azure-intelligent-edge-patterns.git
    

Membangun dan menyebarkan modul

  1. Buka folder GpuReferenceModules di Visual Studio Code.

    Membuka GPUReferenceModules di Visual Studio Code

  2. Buka deployment.template.json dan identifikasi parameter yang dirujuk untuk registri kontainer. Dalam file berikut, CONTAINER_REGISTRY_USERNAME, CONTAINER_REGISTRY_PASSWORD, dan CONTAINER_REGISTRY_NAME digunakan.

        {
      "$schema-template": "2.0.0",
      "modulesContent": {
        "$edgeAgent": {
          "properties.desired": {
            "schemaVersion": "1.0",
            "runtime": {
              "type": "docker",
              "settings": {
                "minDockerVersion": "v1.25",
                "loggingOptions": "",
                "registryCredentials": {
                  "${CONTAINER_REGISTRY_NAME}":{
                  "username": "$CONTAINER_REGISTRY_USERNAME",
                  "password": "$CONTAINER_REGISTRY_PASSWORD",
                  "address": "${CONTAINER_REGISTRY_NAME}.azurecr.io"
                  }
                }
              }
            },
    
  3. Buat file baru. Isi nilai untuk parameter registri kontainer Anda (gunakan yang diidentifikasi di langkah sebelumnya) sebagai berikut:

    CONTAINER_REGISTRY_NAME=<YourContainerRegistryName>
    CONTAINER_REGISTRY_USERNAME=<YourContainerRegistryUserName>
    CONTAINER_REGISTRY_PASSWORD=<YourContainerRegistryPassword>
    

    Sampel file .env diperlihatkan di bawah ini:

    Membuat dan menyimpan file .env

  4. Simpan file sebagai .env di folder SampleSolution.

  5. Untuk masuk ke Docker, masukkan perintah berikut di terminal terintegrasi Visual Studio Code.

    docker login -u <CONTAINER_REGISTRY_USERNAME> -p <CONTAINER_REGISTRY_PASSWORD> <CONTAINER_REGISTRY_NAME>
    

    Masuk ke bagian Kunci akses registri kontainer Anda di portal Microsoft Azure. Salin dan gunakan nama registri, kata sandi, dan server masuk.

    Kunci akses di registri kontainer Anda

    Setelah mandat diberikan, masuk berhasil.

    Berhasil masuk

  6. Dorong gambar Anda ke registri kontainer Azure Anda. Di Visual Studio Code Explorer, pilih dan klik kanan file deployment.template.json, lalu pilih Bangun dan Dorong solusi IoT Edge.

    Membangun dan mendorong solusi Azure IoT Edge

    Jika ekstensi Python dan Python tidak diinstal, mereka akan diinstal ketika Anda membangun dan mendorong solusi tadi. Namun, ini akan menyebabkan waktu pembangunan yang lebih lama.

    Setelah langkah ini selesai, Anda akan melihat modul di registri kontainer Anda.

    Modul dalam registri kontainer

  7. Untuk membuat manifes penyebaran, klik kanan deployment.template.json, lalu pilih Buat Manifes Penyebaran IoT Edge.

    Membuat manifes penyebaran IoT Edge

    Pemberitahuan lalu menginformasikan jalur tempat manifes penyebaran dibuat. Manifes adalah file deployment.amd64.json yang dibuat dalam folder config.

  8. Pilih file deployment.amd64.json di folder config, lalu pilih Buat Penyebaran untuk Satu Perangkat. Jangan gunakan file deployment.template.json.

    Buat penyebaran untuk satu perangkat

    Di jendela Output, Anda akan melihat pesan bahwa penyebaran berhasil.

    Penyebaran berhasil dalam Output

Memantau modul

  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 yang digunakan untuk menyebarkan perangkat Azure Stack Edge Pro, dan pilih perangkat IoT Edge yang dibuat untuk perangkat Azure Stack Edge Pro 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 bawah Perangkat, Anda akan melihat perangkat IoT Edge yang sesuai dengan perangkat Azure Stack Edge Pro Anda.

    1. Pilih perangkat tersebut, klik kanan dan pilih Mulai Pemantauan Titik Akhir Kejadian Bawaan.

      Mulai memantau

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

      Modul di IoT Hub

    3. Terminal Visual Studio Code juga harus menampilkan peristiwa Hub IoT sebagai output pemantauan untuk perangkat Azure Stack Edge Pro Anda.

      Output pemantauan

      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