نشر وحدة IoT ممكنة لوحدة معالجة الرسومات على جهاز Azure Stack Edge Pro GPU

ينطبق على:نعم ل Pro - GPU SKU Azure Stack Edge Pro - GPUنعم ل Pro 2 SKUAzure Stack Edge Pro 2نعم ل Pro R SKUAzure Stack Edge Pro R

إشعار

نوصي بشدة بنشر أحدث إصدار من IoT Edge في Linux VM. يستخدم IoT Edge المدار على Azure Stack Edge إصدارا قديما من وقت تشغيل IoT Edge الذي لا يحتوي على أحدث الميزات والتصحيحات. للحصول على إرشادات، راجع كيفية نشر جهاز Ubuntu ظاهري. لمزيد من المعلومات حول توزيعات Linux المدعومة الأخرى التي يمكنها تشغيل IoT Edge، راجع أنظمة Azure IoT Edge المدعومة - محركات الحاويات.

توضح هذه المقالة كيفية نشر وحدة IoT Edge ممكنة لوحدة معالجة الرسومات على جهاز Azure Stack Edge Pro GPU.

في هذه المقالة، ستتعرف على كيفية:

  • إعداد Azure Stack Edge Pro لتشغيل وحدة GPU.
  • قم بتنزيل نموذج التعليمات البرمجية وتثبيته من مستودع Git.
  • إنشاء الحل وإنشاء بيان توزيع.
  • انشر الحل على جهاز Azure Stack Edge Pro.
  • مراقبة إخراج الوحدة النمطية.

حول نموذج الوحدة النمطية

تتضمن وحدة نموذج وحدة معالجة الرسومات في هذه المقالة نموذج التعليمات البرمجية لقياس PyTorch وTensorFlow لوحدة المعالجة المركزية مقابل وحدة معالجة الرسومات.

المتطلبات الأساسية

قبل أن تبدأ، تأكد من أن لديك:

الحصول على التعليمات البرمجية للعينة

  1. انتقل إلى أنماط Azure Intelligent Edge في نماذج Azure. استنساخ أو تنزيل الملف المضغوط للتعليمات البرمجية.

    تنزيل ملف مضغوط

    استخراج الملفات من الرمز البريدي. يمكنك أيضا استنساخ العينات.

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

إنشاء ونشر وحدة نمطية

  1. افتح المجلد GpuReferenceModules في Visual Studio Code.

    فتح GPUReferenceModules في VS Code

  2. افتح deployment.template.json وحدد المعلمات التي تشير إليها لسجل الحاوية. في الملف التالي، يتم استخدام CONTAINER_REGISTRY_USERNAME CONTAINER_REGISTRY_PASSWORD CONTAINER_REGISTRY_NAME.

        {
      "$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. إنشاء ملف جديد. املأ قيم معلمات سجل الحاوية (استخدم القيم المحددة في الخطوة السابقة) كما يلي:

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

    يظهر نموذج ملف .env أدناه:

    إنشاء ملف .env وحفظه

  4. احفظ الملف ك .env في مجلد SampleSolution .

  5. لتسجيل الدخول إلى Docker، أدخل الأمر التالي في الوحدة الطرفية المتكاملة ل Visual Studio Code.

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

    انتقل إلى قسم Access keys في سجل الحاوية في مدخل Microsoft Azure. انسخ اسم التسجيل وكلمة المرور وخادم تسجيل الدخول واستخدمه.

    مفاتيح الوصول في سجل الحاوية

    بعد توفير بيانات الاعتماد، تنجح عملية تسجيل الدخول.

    تسجيل الدخول بنجاح

  6. ادفع صورتك إلى سجل حاوية Azure. في مستكشف VS Code، حدد الملف deployment.template.json وانقر بزر الماوس الأيمن فوقه، ثم حدد Build and Push IoT Edge solution.

     إنشاء حل IoT Edge ودفعه

    إذا لم يتم تثبيت ملحق Python وPython، تثبيتهما عند إنشاء الحل ودفعه. ومع ذلك، سيؤدي ذلك إلى أوقات بناء أطول.

    بمجرد اكتمال هذه الخطوة، سترى الوحدة النمطية في سجل الحاوية.

    الوحدة النمطية في سجل الحاوية

  7. لإنشاء بيان نشر، انقر بزر الماوس الأيمن فوق deployment.template.json ثم حدد إنشاء بيان نشر IoT Edge.

    إنشاء بيان نشر IoT Edge

    يعلمك الإعلام بالمسار الذي تم إنشاء بيان النشر فيه. البيان هو الملف الذي deployment.amd64.json تم إنشاؤه في مجلد التكوين .

  8. حدد ملف deployment.amd64.json في مجلد التكوين ثم اختر إنشاء نشر لجهاز واحد. لا تستخدم ملف deployment.template.json .

    إنشاء نشر لجهاز واحد

    في نافذة Output ، يجب أن تشاهد رسالة تفيد بنجاح النشر.

    نجح النشر في الإخراج

مراقبة الوحدة النمطية

  1. في لوحة أوامر VS Code، قم بتشغيل Azure IoT Hub: حدد IoT Hub.

  2. اختر الاشتراك ومركز IoT الذي يحتوي على جهاز IoT Edge الذي تريد تكوينه. في هذه الحالة، حدد الاشتراك المستخدم لنشر جهاز Azure Stack Edge Pro، وحدد جهاز IoT Edge الذي تم إنشاؤه لجهاز Azure Stack Edge Pro. يحدث هذا عند تكوين الحساب عبر مدخل Microsoft Azure في الخطوات السابقة.

  3. في مستكشف VS Code، قم بتوسيع قسم Azure IoT Hub. ضمن الأجهزة، يجب أن تشاهد جهاز IoT Edge المطابق لجهاز Azure Stack Edge Pro.

    1. حدد هذا الجهاز، وانقر بزر الماوس الأيمن وحدد Start Monitoring Built-in Event Endpoint.

      ابدأ المراقبة

    2. انتقل إلى وحدات الأجهزة > ويجب أن تشاهد وحدة GPU قيد التشغيل.

      الوحدة النمطية في IoT Hub

    3. يجب أن تعرض محطة VS Code أيضا أحداث IoT Hub كإخراج مراقبة لجهاز Azure Stack Edge Pro.

      مراقبة الإخراج

      يمكنك أن ترى أن الوقت المستغرق لتنفيذ نفس مجموعة العمليات (5000 تكرار لتحويل الشكل) بواسطة وحدة معالجة الرسومات أقل بكثير مما هو عليه بالنسبة لوحدة المعالجة المركزية.

الخطوات التالية