GPU acceleration of plane-wave density functional theory calculations in Abinit
تقدم هذه الورقة تسريع وحدة معالجة الرسومات لكود Abinit لحسابات نظرية الكثافة الوظيفية للموجات المستوية، مع تفصيل المراجعات الخوارزمية وتكاملات مكتبات الشركات المصنعة المطلوبة لقابلية التوسع متعدد وحدات معالجة الرسومات، مع مقارنة أداء طرائق قطرية "التدرج المترافق ذي الكتل الأمثل محلياً" و"ترشيح كثير الحدود التشيبشيف" على البنى الهجينة من المعالجات المركزية ووحدات معالجة الرسومات.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تحاول حل لغز (بازل) ضخم ومعقد للغاية. هذا ليس مجرد لغز عادي؛ إنه لغز فهم كيفية سلوك الذرات والإلكترونات داخل المواد (مثل التيتانيوم الموجود في هاتفك أو السيليكون في شريحة الكمبيوتر). هذه هي مهمة برنامج حاسوبي يسمى Abinit.
لسنوات، كان Abit يعمل على أجهزة كمبيوتر خارقة مكونة من آلاف المعالجات المركزية القياسية (CPUs). ولكن مؤخرًا، تحول عالم الحوسبة. أصبح لدينا الآن وحدات معالجة الرسومات (GPUs) — وهي نفس الرقائق التي تشغل ألعاب الفيديو والذكاء الاصطناعي — وهي تشبه امتلاك آلاف العمال الصغار فائق السرعة الذين يمكنهم جميعًا القيام بنفس المهمة البسيطة في نفس الوقت تمامًا.
هذه الورقة هي قصة كيف نقل فريق Abinit عملية حل الألغاز الخاصة بهم من فريق من العمال البطيئين والمتأنيين (CPUs) إلى ملعب مليء بالعمال فائق السرعة والمتناغمين (GPUs).
إليك تفاصيل رحلتهم، باستخدام تشبيهات بسيطة:
1. المشكلة: قطع كثيرة جدًا، وبطء شديد
في عالم الفيزياء الكمية، تُسمى "قطع اللغز" بـ الدوال الموجية الإلكترونية. ولحل اللغز، يجب على الكمبيوتر القيام بقدر هائل من العمليات الحسابية لمعرفة أين توجد هذه الإلكترونات.
- الطريقة القديمة (CPU): تخيل أمين مكتبة واحدًا يحاول فرز مليون كتاب. يقوم بذلك كتابًا تلو الآخر، بكل دقة. الأمر دقيق، لكنه يستغرق وقتًا طويلاً جدًا.
- الطريقة الجديدة (GPU): تخيل ملعبًا يضم 10,000 أمين مكتبة. إذا أعطيتهم تعليمات بسيطة مثل "فرز جميع الكتب الحمراء"، يمكنهم القيام بذلك فورًا. التحدي هو أن كود Abinit القديم كُتب لأمين مكتبة واحد، وليس لملعب كامل.
2. الاستراتيجية: "تجميع" العمل
أكبر خطأ يمكنك ارتكابه مع ملعب من العمال هو إعطاؤهم كتابًا واحدًا في كل مرة. سيقضون كل وقتهم في انتظار الكتاب التالي.
- التشبيه: بدلًا من تسليم العامل كتابًا واحدًا، أنت تسلمه كومة كاملة.
- الحل: قام الفريق بتغيير Abinit لاستخدام المعالجة بالدفعات (Batch Processing). بدلًا من حساب الرياضيات لإلكترون واحد في كل مرة، يقومون بتجميع آلاف الإلكترونات معًا وتغذية الـ GPU بها دفعة واحدة. هذا يبقي "الملعب" مشغولًا ويقضي على وقت الانتظار.
3. الازدحام المروري: نقل البيانات
وحدات الـ GPU تشبه مضمار سباق عالي السرعة، لكن البيانات تعيش في "مرآب" الـ CPU. نقل البيانات ذهابًا وإيابًا بطيء ويتسبب في ازدحامات مرورية.
- التشبيه: تخيل أن العمال (GPU) موجودون في مصنع، لكن المواد الخام (البيانات) موجودة في مستودع (CPU). إذا كان عليك قيادة شاحنة ذهابًا وإيابًا لكل طوبة واحدة، فإن المصنع سيظل متوقفًا عن العمل.
- الحل: قرر الفريق نقل كامل كومة المواد الخام إلى أرض المصنع في بداية اليوم. إنهم يبقون البيانات على الـ GPU لأطول فترة ممكنة، ولا ينقلونها عائدة إلى الـ CPU إلا عند الضرورة القصوى. هذا يبقي مضمار السباق خالياً من الازدحام.
4. الخوارزميتان الرئيسيتان: العداء السريع مقابل عداء الماراثون
لحل اللغز، يستخدم Abinit استراتيجيتين مختلفتين للرياضيات (خوارزميات). تقارن الورقة بينهما مثل نوعين مختلفين من الرياضيين:
الخوارزمية (أ): LOBPCG (العداء السريع)
- كيف تعمل: تأخذ خطوة، ثم تتوقف لتتحقق من موقعها (تتواصل مع العمال الآخرين)، ثم تأخذ خطوة أخرى، وتتوقف مجددًا.
- العيب: إنها تتوقف كثيرًا. في كل مرة تتوقف فيها للتحقق، يتعين عليها التحدث مع العمال الآخرين عبر الشبكة. هذا "التواصل" بطيء. وفي الـ GPU، حيث السرعة هي كل شيء، فإن التوقف للدردشة يقتل الأداء.
- الحكم: جيدة للمهام الصغيرة، لكنها تتعثر في الألغاز الضخمة.
الخوارزمية (ب): ترشيح تشيبيشيف (Chebyshev Filtering) (عداء الماراثون)
- كيف تعمل: تقوم بجولة طويلة ومستمرة من العمل دون توقف للتحقق من موقعها. تقوم بقدر هائل من العمليات الحسابية في دفعة واحدة، ثم تتحقق مرة واحدة في النهاية.
- النجاح: لأنها تستمر في الجري دون توقف للدردشة، فهي تستفيد من السرعة الهائلة للـ GPU بشكل مثالي. إنها تنجز المزيد من العمل في كل "توقف".
- الحكم: هذا هو الفائز بالنسبة للـ GPUs. إنها تحول الـ GPU إلى قوة جبارة.
5. النتائج: السرعة وتوفير الطاقة
اختبر الفريق هذا الإعداد الجديد على أجهزة كمبيوتر خارقة حقيقية باستخدام رقائق NVIDIA (المعيار الذهبي للـ GPUs) ورقائق AMD.
- السرعة: وجدوا أن استخدام الـ GPUs جعل الحسابات أسرع بمقدار 13 إلى 17 مرة من استخدام الـ CPUs فقط. في بعض الحالات، قامت 4 عقد (nodes) من الـ GPU بعمل 128 عقدة من الـ CPU!
- الطاقة: نظرًا لأن الـ GPUs تنهي المهمة بشكل أسرع بكثير، فإنها تستهلك كهرباء أقل في المجمل. الأمر يشبه قيادة سيارة رياضية تنهي السباق في دقيقتين مقابل شاحنة تستغرك ساعتين؛ حتى لو كانت السيارة تستهلك وقودًا أكثر في الدقيقة الواحدة، إلا أنها تستخدم وقودًا إجماليًا أقل لإنهاء السباق.
- العقبة: خطوة "Rayleigh-Ritz" (وهي جزء محدد من الرياضيات حيث ينظمون القطع النهائية) لا تزال بطيئة نوعًا ما على الـ GPUs، خاصة على رقائق AMD. إنها تشبه الجزء الوحيد في المصنع حيث لا يزال يتعين على العمال التوقف والدردشة. الفريق يعمل على إصلاح هذا الأمر لاحقًا.
الخلاصة
هذه الورقة هي قصة نجاح لتحديث البرمجيات القديمة. من خلال إعادة التفكير في كيفية إجراء العمليات الحسابية (تجميع البيانات) واختيار الاستراتيجية الصحيحة (ترشيح تشيبيشيف بدلاً من LOBPCG)، حول الفريق Abinit إلى وحش في معالجة الـ GPU.
لماذا يهم هذا؟
يمكن للعلماء الآن محاكاة مواد أكبر وأكثر تعقيدًا في وقت أقل بكثير. وهذا يعني أنه يمكننا تصميم بطاريات أفضل، وألواح شمسية أكثر كفاءة، وأدوة جديدة بشكل أسرع بكثير من ذي قبل. هم لم يشتروا مجرد أجهزة كمبيوتر أسرع؛ بل علموا أجهزة الكمبيوتر كيف تجري سباقًا أفضل.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.