Skip
Cأكاديمية CADD

L20 · 16 دقيقة

التوازي: MPI وOpenMP

ما الذي يتوزّع وما الذي لا.

البرمجة

أهداف التعلّم

  • التمييز بين توازي المسار الواحد (MPI/OpenMP/GPU) وتوازي النُسخ المستقلة.
  • معرفة أن بعض الخطوات لا تتوزّع.
  • تجنب طلب 128 رتبة لمسار صغير فيُبطئ.

ما الذي يتوزّع

MPI يوزّع أجزاء المجال على عمليات. OpenMP خيوط داخل عقدة. GPU يعمل كمسرّع للنوى الكثيفة. النُسخ المستقلة توزّع على وظائف Slurm منفصلة — وهذا غالباً أفضل استثمار عندما يكون عنق الزجاجة المعاينة لا طول مسار واحد.

قواعد إبهام

  • نظام صغير + مراتب كثيرة = تواصل أكثر من حساب.
  • تحليل post-hoc يتوزّع على النُسخ والمركبات بسهولة (embarrassingly parallel).
  • لا تخلط طلب GPU مع 64 CPU بلا قياس.
لماذا؟ — لماذا نُسخ مستقلة أفضل من تطويل مسار واحد عند سؤال التقارب؟

لأنها تكشف إن كنت عالقاً في حوض. مسار واحد طويل قد يبدو هادئاً وهو لم يغادر زاويته.

ماذا لو؟ — ماذا لو طلبت عقدة كاملة لموازنة طاقة minimization لنظام 20k ذرة؟

هدر طابور المختبر مقابل ثوانٍ. الـ min غالباً لا يحتاج GPU. اترك الموارد للإنتاج.

تمرين

صنّف: (أ) خمس نُسخ MD، (ب) PME لمسار واحد، (ج) حساب Tanimoto لمليون زوج. أيها embarrassingly parallel؟

مواضيع مرتبطة