مشاركة وحدة معالجة الرسومات على جهاز وحدة معالجة الرسومات Azure Stack Edge Pro
وحدة معالجة الرسومات (GPU) هي معالج متخصص مصمم لتسريع عرض الرسومات. يمكن لوحدات معالجة الرسومات معالجة العديد من أجزاء البيانات في وقت واحد ، مما يجعلها مفيدة للتعلم الآلي وتحرير الفيديو وتطبيقات الألعاب. بالإضافة إلى وحدة المعالجة المركزية لحساب الأغراض العامة، يمكن أن تحتوي أجهزة وحدة معالجة الرسومات Azure Stack Edge Pro على وحدة معالجة رسومات Nvidia Tesla T4 واحدة أو اثنتين لأحمال العمل كثيفة الحوسبة مثل الاستدلال السريع للأجهزة. لمزيد من المعلومات، راجع وحدة معالجة الرسومات Tesla T4 من Nvidia.
حول مشاركة وحدة معالجة الرسومات
قد لا تحتاج العديد من أحمال عمل الحوسبة الآلية أو أحمال عمل الحوسبة الأخرى إلى وحدة معالجة رسومات مخصصة. يمكن مشاركة وحدات معالجة الرسومات ومشاركة وحدات معالجة الرسومات بين أحمال العمل الحاوية أو VM يساعد على زيادة استخدام وحدة معالجة الرسومات دون التأثير بشكل كبير على فوائد أداء وحدة معالجة الرسومات.
استخدام وحدة معالجة الرسومات مع الأجهزة الظاهرية
على جهاز Azure Stack Edge Pro، لا يمكن مشاركة وحدة معالجة الرسومات عند نشر أحمال عمل الأجهزة الظاهرية. لا يمكن تعيين وحدة معالجة الرسومات إلا إلى جهاز ظاهري واحد. هذا يعني أنه يمكنك الحصول على جهاز ظاهري واحد فقط لوحدة معالجة الرسومات على جهاز به وحدة معالجة رسومات واحدة وجهازان ظاهريان على جهاز مجهز بوحدتي معالجة رسومات. هناك عوامل أخرى يجب مراعاتها أيضا عند استخدام الأجهزة الظاهرية لوحدة معالجة الرسومات على جهاز يحتوي على Kubernetes تم تكوينه لأحمال العمل المعبأة في حاويات. لمزيد من المعلومات، راجع الأجهزة الظاهرية لوحدة معالجة الرسومات وKubernetes.
استخدام وحدة معالجة الرسومات مع الحاويات
إذا كنت تقوم بنشر أحمال عمل معبأة في حاويات، فيمكن مشاركة وحدة معالجة الرسومات بأكثر من طريقة واحدة في طبقة الأجهزة والبرامج. باستخدام وحدة معالجة الرسومات Tesla T4 على جهاز Azure Stack Edge Pro، فإننا نقتصر على مشاركة البرامج. على جهازك، يتم استخدام الطريقتين التاليتين لمشاركة برامج وحدة معالجة الرسومات:
يتضمن النهج الأول استخدام متغيرات البيئة لتحديد عدد وحدات معالجة الرسومات التي يمكن مشاركتها بمرور الوقت. ضع في اعتبارك المحاذير التالية عند استخدام هذا النهج:
- يمكنك تحديد واحدة أو اثنتين أو لا توجد وحدات معالجة رسومات باستخدام هذه الطريقة. لا يمكن تحديد الاستخدام الجزئي.
- يمكن تعيين وحدات متعددة إلى وحدة معالجة رسومات واحدة ولكن لا يمكن تعيين نفس الوحدة النمطية إلى أكثر من وحدة معالجة رسومات واحدة.
- باستخدام إخراج Nvidia SMI ، يمكنك رؤية الاستخدام الكلي لوحدة معالجة الرسومات بما في ذلك استخدام الذاكرة.
لمزيد من المعلومات، راجع كيفية نشر وحدة IoT Edge النمطية التي تستخدم وحدة معالجة الرسومات على جهازك.
يتطلب منك النهج الثاني تمكين الخدمة متعددة العمليات على وحدات معالجة الرسومات Nvidia الخاصة بك. MPS هي خدمة وقت تشغيل تتيح لعمليات متعددة باستخدام CUDA التشغيل بشكل متزامن على وحدة معالجة رسومات مشتركة واحدة. يسمح MPS بتداخل عمليات kernel و memcopy من عمليات مختلفة على وحدة معالجة الرسومات لتحقيق أقصى قدر من الاستخدام. لمزيد من المعلومات، راجع خدمة العمليات المتعددة.
ضع في اعتبارك المحاذير التالية عند استخدام هذا النهج:
- يسمح لك MPS بتحديد المزيد من العلامات في نشر GPU.
- يمكنك تحديد الاستخدام الجزئي عبر MPS وبالتالي الحد من استخدام كل تطبيق يتم نشره على الجهاز. يمكنك تحديد النسبة المئوية لوحدة معالجة الرسومات لاستخدامها لكل تطبيق ضمن
envقسمdeployment.yamlالمعلمة التالية:
// Example: application wants to limit gpu percentage to 20% env: - name: CUDA_MPS_ACTIVE_THREAD_PERCENTAGE value: "20"
استخدام وحدة معالجة الرسومات
عند مشاركة وحدة معالجة الرسومات على أحمال العمل الحاوية المنشورة على جهازك، يمكنك استخدام واجهة إدارة نظام Nvidia (nvidia-smi). Nvidia-smi هي أداة مساعدة لسطر الأوامر تساعدك على إدارة أجهزة وحدة معالجة الرسومات Nvidia ومراقبتها. لمزيد من المعلومات، راجع واجهة إدارة نظام Nvidia.
لعرض استخدام وحدة معالجة الرسومات، اتصل أولا بواجهة PowerShell الخاصة بالجهاز. Get-HcsNvidiaSmi قم بتشغيل الأمر وعرض إخراج Nvidia SMI. يمكنك أيضا عرض كيفية تغير استخدام وحدة معالجة الرسومات عن طريق تمكين MPS ثم نشر أحمال عمل متعددة على الجهاز. لمزيد من المعلومات، راجع تمكين خدمة العمليات المتعددة.