نشر وحدة IoT ممكنة لوحدة معالجة الرسومات على جهاز Azure Stack Edge Pro GPU
ينطبق على: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure 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 لوحدة المعالجة المركزية مقابل وحدة معالجة الرسومات.
المتطلبات الأساسية
قبل أن تبدأ، تأكد من أن لديك:
- يمكنك الوصول إلى جهاز Azure Stack Edge Pro الذي تم تمكينه بواسطة وحدة معالجة الرسومات أحادي العقدة. يتم تنشيط هذا الجهاز باستخدام مورد في Azure. راجع تنشيط الجهاز.
- لقد قمت بتكوين الحساب على هذا الجهاز. اتبع الخطوات الواردة في البرنامج التعليمي: تكوين الحساب على جهاز Azure Stack Edge Pro.
- سجل حاويات Azure (ACR). انتقل إلى شفرة مفاتيح الوصول وقم بتدوين ملاحظة عن خادم تسجيل الدخول إلى ACR واسم المستخدم وكلمة المرور. لمزيد من المعلومات، انتقل إلى التشغيل السريع: إنشاء سجل حاوية خاص باستخدام مدخل Microsoft Azure.
- موارد التطوير التالية على عميل Windows:
- Azure CLI 2.0 أو أحدث
- Docker CE. قد تضطر إلى إنشاء حساب لتنزيل البرنامج وتثبيته.
- Visual Studio Code
- ملحق Azure IoT Edge ل Visual Studio Code.
- Python extension for Visual Studio Code
- Python 3
- Pip لتثبيت حزم Python (المضمنة عادة مع تثبيت Python الخاص بك)
الحصول على التعليمات البرمجية للعينة
انتقل إلى أنماط Azure Intelligent Edge في نماذج Azure. استنساخ أو تنزيل الملف المضغوط للتعليمات البرمجية.
استخراج الملفات من الرمز البريدي. يمكنك أيضا استنساخ العينات.
git clone https://github.com/Azure-Samples/azure-intelligent-edge-patterns.git
إنشاء ونشر وحدة نمطية
افتح المجلد GpuReferenceModules في Visual Studio Code.
افتح 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" } } } },
إنشاء ملف جديد. املأ قيم معلمات سجل الحاوية (استخدم القيم المحددة في الخطوة السابقة) كما يلي:
CONTAINER_REGISTRY_NAME=<YourContainerRegistryName> CONTAINER_REGISTRY_USERNAME=<YourContainerRegistryUserName> CONTAINER_REGISTRY_PASSWORD=<YourContainerRegistryPassword>
يظهر نموذج ملف .env أدناه:
احفظ الملف ك .env في مجلد SampleSolution .
لتسجيل الدخول إلى Docker، أدخل الأمر التالي في الوحدة الطرفية المتكاملة ل Visual Studio Code.
docker login -u <CONTAINER_REGISTRY_USERNAME> -p <CONTAINER_REGISTRY_PASSWORD> <CONTAINER_REGISTRY_NAME>
انتقل إلى قسم Access keys في سجل الحاوية في مدخل Microsoft Azure. انسخ اسم التسجيل وكلمة المرور وخادم تسجيل الدخول واستخدمه.
بعد توفير بيانات الاعتماد، تنجح عملية تسجيل الدخول.
ادفع صورتك إلى سجل حاوية Azure. في مستكشف VS Code، حدد الملف deployment.template.json وانقر بزر الماوس الأيمن فوقه، ثم حدد Build and Push IoT Edge solution.
إذا لم يتم تثبيت ملحق Python وPython، تثبيتهما عند إنشاء الحل ودفعه. ومع ذلك، سيؤدي ذلك إلى أوقات بناء أطول.
بمجرد اكتمال هذه الخطوة، سترى الوحدة النمطية في سجل الحاوية.
لإنشاء بيان نشر، انقر بزر الماوس الأيمن فوق deployment.template.json ثم حدد إنشاء بيان نشر IoT Edge.
يعلمك الإعلام بالمسار الذي تم إنشاء بيان النشر فيه. البيان هو الملف الذي
deployment.amd64.json
تم إنشاؤه في مجلد التكوين .حدد ملف deployment.amd64.json في مجلد التكوين ثم اختر إنشاء نشر لجهاز واحد. لا تستخدم ملف deployment.template.json .
في نافذة Output ، يجب أن تشاهد رسالة تفيد بنجاح النشر.
مراقبة الوحدة النمطية
في لوحة أوامر VS Code، قم بتشغيل Azure IoT Hub: حدد IoT Hub.
اختر الاشتراك ومركز IoT الذي يحتوي على جهاز IoT Edge الذي تريد تكوينه. في هذه الحالة، حدد الاشتراك المستخدم لنشر جهاز Azure Stack Edge Pro، وحدد جهاز IoT Edge الذي تم إنشاؤه لجهاز Azure Stack Edge Pro. يحدث هذا عند تكوين الحساب عبر مدخل Microsoft Azure في الخطوات السابقة.
في مستكشف VS Code، قم بتوسيع قسم Azure IoT Hub. ضمن الأجهزة، يجب أن تشاهد جهاز IoT Edge المطابق لجهاز Azure Stack Edge Pro.
حدد هذا الجهاز، وانقر بزر الماوس الأيمن وحدد Start Monitoring Built-in Event Endpoint.
انتقل إلى وحدات الأجهزة > ويجب أن تشاهد وحدة GPU قيد التشغيل.
يجب أن تعرض محطة VS Code أيضا أحداث IoT Hub كإخراج مراقبة لجهاز Azure Stack Edge Pro.
يمكنك أن ترى أن الوقت المستغرق لتنفيذ نفس مجموعة العمليات (5000 تكرار لتحويل الشكل) بواسطة وحدة معالجة الرسومات أقل بكثير مما هو عليه بالنسبة لوحدة المعالجة المركزية.
الخطوات التالية
- تعرف على المزيد حول كيفية تكوين وحدة معالجة الرسومات لاستخدام وحدة نمطية.