تشريح المعالج الرسومي
مسارات تنفيذ كثيرة تتشارك التحكم لمعالجة العمل المتوازي.
يتفوق GPU حين يُبقي قدرًا كبيرًا من العمل المستقل قيد التنفيذ.
يجدول المجموعات على موارد التنفيذ.
فرّع حزمة تنفيذ
if (lane < 16) A(); else B();ترسل المجموعة المتفرعة كل فرع بقناع نشاط. في هذا المثال متساوي الكلفة، يستخدم التفرع نصف خانات المسارات المرسلة.
حدود هذا النموذج
مجموعة SIMT توضيحية من ٣٢ مسارًا وفرعين متساويين، لكل فرع عملية. لا يحاكي إعادة الالتقاء أو إخفاء التأخر أو جدولة بنية بعينها.
ما الذي يحدث في الداخل
تقسيم الشريحة إلى مجموعات تنفيذ
تسمي NVIDIA مجموعة التنفيذ الكبيرة SM، وتستخدم AMD وحدات حساب ومعالجات مجموعات عمل حسب البنية. تضم المجموعة مجدولات وسجلات ومسارات حساب ووحدات قراءة وكتابة وذاكرة محلية مشتركة. الأسماء وحدها لا تجعل الأعداد قابلة للمقارنة بين المصنّعين.
إرسال مجموعة من الخيوط
تُجمع الخيوط في warps أو wavefronts. يرسل المجدول عملية إلى المسارات المؤهلة. اختلاف الفروع يحجب بعض المسارات؛ وجدولة الخيوط المستقلة لا تلغي كلفة التفرع. يمكن تشغيل مجموعات جاهزة أخرى بينما تنتظر إحداها الذاكرة.
تغذية المسارات
تشكل السجلات والذاكرة المشتركة والمخابئ وذاكرة الجهاز تسلسلًا هرميًا. يحد استخدام الموارد عدد المجموعات المقيمة معًا. القراءات المجمّعة وإعادة استخدام البيانات والعمل المستقل أساسية؛ رفع الإشغال وحده ليس الهدف.
ما أثر ذلك في برنامجك
مهندس الأنظمة والعتاد
افهم توزيع إطلاق العمل ونطاق المزامنة وحدود الإشغال وأحجام النقل. قِس معدل التنفيذ الفعلي وانتظار الذاكرة، لا مدة النواة البرمجية فقط.
مطوّر البرمجيات
يحتاج GPU عملًا متوازيًا كافيًا لتعويض كلفة الإرسال ونقل البيانات. طلب قصير كثير الفروع قد يكون أسرع على CPU.
اقرأ المواصفات الأصلية
توضح هذه المراجع العقود الأساسية وتفاصيل التنفيذ. الرسومات هنا نماذج تعليمية مبسطة.