← أحدث الأبحاث
⚡ electrical engineering

CUDA MPC: A GPU-Native Solver for Model Predictive Control

تقدم هذه الورقة CUDA MPC، وهو إطار عمل أصيل لـ GPU يقوم بالتصميم المشترك لخوارزمية ADMM متوازية في الأفق مع نوى CUDA مدمجة وتحسين الذاكرة المشتركة لتحقيق تحكم تنبؤي بالنماذج (MPC) في الوقت الفعلي على الأنظمة المعقدة وعالية الأبعاد بـتأخير أقل بكثير وقابلية توسع أعلى من الحلول الحالية المعتمدة على المعالجات المركزية (CPU) وأطر العمل التنسورية (tensor-framework).

المؤلفون الأصليون: Babak Akbari, Melissa Greeff

نُشر 2026-08-05
📖 3 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Babak Akbari, Melissa Greeff

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

تخيل أنك تحاول تعليم روبوت القيام بشيء صعب، مثل ركن سيارة في مكان ضيق أو توجيه سرب من الطائرات بدون طيار عبر غابة دون أن تصطدم ببعضها البعض. للقيام بذلك بشكل جيد، يحتاج الروبوت إلى عقل يمكنه التطلع إلى الأمام، والتنبؤ بما سيحدث بعد ذلك، وتعديل خطته باستمرار لتجنب العوائق. يُسمى هذا التحكم التنبئي بالنموذج (Model Predictive Control - MPC). فكر في الأمر كلاعب شطرنج لا يكتفي باتخاذ حركة واحدة فقط، بل يحاكي مئات الألعاب المستقبلية الممكنة في ذهنه قبل اتخاذ أفضل حركة. المشكلة هي أن عملية المحاكاة هذه تستهلك الكثير من القدرة الذهنية. إذا كان الروبوت يتحرك بسرعة أو كان العالم معقداً، فإن الرياضيات تصبح ثقيلة جداً لدرجة أن عقل الكمبيوتر التقليدي (CPU) لن يتمكن من إنهاء الحسابات قبل أن يحتاج الروبوت لاتخاذ حركته التالية. الأمر يشبه محاولة حل لغز عملاق أثناء ركض ماراثون؛ فبحلول الوقت الذي تنتهي فيه من اللغز، ستكون قد تعثرت بالفعل.

لفترة طويلة، حاول العلماء تسريع ذلك باستخدام وحدات معالجة الرسومات (GPUs)، وهي الرقائق فائقة السرعة الموجودة عادة في أجهزة ألعاب الفيديو. ومع ذلك، استخدم معظم الناس وحدات معالجة الرسومات كآلة حاسبة متطورة فقط، حيث يطلبون منها القيام بمهام رياضية صغيرة واحدة تلو الأخرى. وهذا أمر غير فعال لأن الروبوت يضطر باستمرار لإرسال واستقبال البيانات ذهاباً وإياباً بين الكمبيوتر الرئيسي ووحدة معالجة الرسومات، مما يخلق ازدحاماً مرورياً. تقدم الورقة البحثية الجديدة طريقة أكثر ذكاءً لاستخدام هذه الرقائق القوية، ليس فقط كآلة حاسبة، بل كمصنع مخصص وعالي السرعة يبقي كل العمل داخل جدرانه الخاصة.

تقدم الورقة البحثية نظام CUDAMPC، وهو نظام جديد صُمم من الصفر لتشغيل التحكم التنبئي بالنموذج مباشرة على وحدة معالجة الرسومات. بدلاً من معاملة وحدة معالجة الرسومات كمساعد بسيط يقوم بعمليات حسابية في أجزاء، بنى المؤلفون محركاً "مدمجاً" يبقي عملية التخطيط بأكملها داخل أسرع ذاكرة في الشريحة. لفهم كيفية عمل ذلك، تخيل صفاً طويلاً من الناس يمررون دلواً من الماء في سلسلة لإطفاء حريق. في الطريقة القديمة، سيتعين على كل شخص أن يصرخ في الشخص المجاور له، وينتظر الرد، ثم يمرر الدلو، مما يخلق الكثير من الضوضاء والتأخير. في نهج CUDAMPC، يتم تقسيم الصف إلى مجموعات صغيرة. تعمل كل مجموعة معاً بصمت وسرعة، ولا تمرر الدلو إلا عند نهايات المجموعة فقط. هذا يسمح للسلسلة بأكملها بالتحرك بشكل أسرع بكثير لأن الجميع يعملون بالتوازي دون انتظار توقف الصف بأكمله للتحدث.

اختبر الباحثون هذا النظام الجديد مقابل أفضل البرامج الحاسوبية الموجودة (مثل acados و CasADi) وطرق أخرى لوحدات معالجة الرسومات. وجدوا أن CUDAMPC سريع للغاية، خاصة لآفاق التخطيط الطويلة. في أحد الاختبارات، حل مشكلة ركن معقدة ذات "تطلع مستقبلي" لمدة 100 ثانية في 0.1 ثانية فقط، وهي مهمة استغرقت من الحلول الأخرى عدة ثوانٍ أو فشلت تماماً. وفي اختبار يتضمن سرباً من 10 وكلاء يحاولون التنسيق فيما بينهم دون الاصطدام، استغرقت حلول المعالجات المركزية (CPU) القديمة أكثر من 3.5 ثانية لكل خطوة (وهو وقت طويل جداً للتحكم في الوقت الفعلي) أو لم تتمكن من إيجاد حل على الإطلاق، بينما قام CUDAMPC بذلك في أجزاء من الثانية. تظهر الورقة البحثية أنه من خلال إبقاء جميع البيانات الوسيطة داخل الذاكرة السريعة للشريحة ومزامنة الجيران الضروريين فقط، يمكن للنظام حل مشكلات كانت مستحيلة في السابق القيام بها في الوقت الفعلي. ويشير المؤلفون إلى أن هذا النهج يسمح للروبوتات بالتخطيط لمسافات أبعد بكثير، مما يؤدي إلى سلوك أكثر أماناً ورشاقة في البيئات المعقدة.

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →