زيادة سرعة لعبة C++ عديمة الفائدة بمقدار 30 ضعفًا على وحدة معالجة الرسومات
2025-05-24
حاول الكاتب نقل برنامج C++ للعب لعبة الورق "Beggar My Neighbour" إلى وحدة معالجة الرسومات من أجل تسريعها. في البداية، كان أداء وحدة معالجة الرسومات أقل بكثير من وحدة المعالجة المركزية. باستخدام أداة Nvidia Nsight Compute، حدد الكاتب تباين الخيوط وسرعة الوصول إلى الذاكرة كعوائق. من خلال تحويل الخوارزمية إلى بنية آلة الحالة، وتحسينها باستخدام جداول البحث والذاكرة المشتركة، تم تحقيق تحسين في الأداء بمقدار 30 ضعفًا في النهاية، ليصل إلى 100 مليون عملية لعب في الثانية. يصف المقال عملية التحسين والتحديات التي تم مواجهتها، مما يوفر رؤى قيّمة حول ممارسات برمجة وحدة معالجة الرسومات.
اقرأ المزيد
التطوير