عن المشروع
LibDDLA هي مكتبة قوالب C++17 مصممة للجبر الخطي الكثيف الموزع. وهي تطبق واجهات برمجة تطبيقات (APIs) على نمط ScaLAPACK باستخدام توزيع بيانات دوري كتلي ثنائي الأبعاد عبر شبكة عمليات MPI. تدعم المكتبة عدة خلفيات برمجية تشمل CPU (عبر OpenBLAS أو BLAS الخاص بالمورد)، وCUDA، وHIP، مع القدرة على بناء مكتبة مزدوجة CPU+GPU للاختيار أثناء وقت التشغيل.
تشمل القدرات الرئيسية ما يلي:
- عمليات BLAS الموزعة: `pgemm` (خوارزمية SUMMA)، و`pgeadd` و`pdam` و`ptran`.
- تحليل LU والمحللات: تتضمن `pgetrf` (التدوير الجزئي)، و`pgetrf_bpiv` (LU الكتلي)، و`pgetrs` ومحرك `pgesv`.
- تحليل Cholesky: تدعم `ppotrf` و`ppotrs` و`pposv` لأنواع السلميات float وdouble والمعقدة.
- أنماط الاتصال: تدعم العمليات الجماعية المباشرة للجهاز عبر NCCL/RCCL، أو نفق GPU-CPU (D2H -> MPI -> H2D)، أو MPI المتوافق مع GPU.
- إدارة الذاكرة: توفر مساعدات `ddla_malloc` و`ddla_free` التي يتم توجيهها إلى الخلفية البرمجية المختارة.
تم تصميم المكتبة لبيئات الحوسبة عالية الأداء، وتتطلب CMake 3.13+، وتطبيق MPI (Open MPI أو MPICH)، ومجموعات أدوات GPU المقابلة لبناء CUDA أو HIP.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.