-sdy-aggressive-propagate
تشغيل خوارزمية التوسّع السريع لتقسيم البيانات
انشر عمليات التقسيم باستخدام استراتيجية قوية لنشر العوامل. تنشر الاستراتيجية الأساسية عمليات تقسيم البيانات بدون تعارضات، في حين تعمل الاستراتيجية العدوانية على حلّ التعارضات. يمكن أن يؤدي رفع مستوى الشدّة إلى تقليل مساحة الذاكرة التي يشغلها التطبيق، ولكن على حساب التواصل المحتمل.
الخيارات:
-keep-sharding-rules
: ما إذا كنت تريد الاحتفاظ بقواعد تقسيم العمليات الحالية والمُنشأة-module-dump-directory
: مكان تفريغ أي وحدات تمت إعادة كتابتها لتصحيح الأخطاء-
-conservative-propagation
: ما إذا كان سيتم حظر المحاور المقسّمة والمحاور التي لا يمكن تقسيمها للتقسيم أثناء النشر -
-debug-sharding-origins
: ما إذا كان سيتم حفظ معلومات عن مصدر عملية تحليل البيانات إلى أجزاء في وحدة MLIR وتكون هذه هي عمليات التجزئة في الدوال المدخلات والمخرجات والقيود المتعلقة بالتجزئة والعمليات الحسابية اليدوية قبل النشر. -
-debug-edge-source-sharding
: ما إذا كان سيتم حفظ معلومات عن مصدر الحافة للتقسيم في وحدة MLIR هذه هي المعاملات/النتائج التي أدّت إلى استخدام ميزة التجزئة في بعض نتائج العمليات. -
-propagation-strategy
: استراتيجية نشر العوامل التي سيتم استخدامها
-sdy-basic-propagate
تشغيل خوارزمية النشر الأساسية لتقسيم البيانات
إنّ خوارزمية التوسيع الأساسية هي أدنى استراتيجية للتوسيع في الهرم، ولا تُجري أيّ عملية حلّ للصراع، بل تُوسّع بدلاً من ذلك محاور متوافقة بين جميع المُعامِلات والنتائج.
الخيارات:
-keep-sharding-rules
: ما إذا كنت تريد الاحتفاظ بقواعد تقسيم العمليات الحالية والمُنشأة-module-dump-directory
: مكان تفريغ أي وحدات تمت إعادة كتابتها لتصحيح الأخطاء-
-conservative-propagation
: ما إذا كان سيتم حظر المحاور المقسّمة والمحاور التي لا يمكن تقسيمها للتقسيم أثناء النشر -
-debug-sharding-origins
: ما إذا كان سيتم حفظ معلومات عن مصدر عملية تحليل البيانات إلى أجزاء في وحدة MLIR وتكون هذه هي عمليات التجزئة في الدوال المدخلات والمخرجات والقيود المتعلقة بالتجزئة والعمليات الحسابية اليدوية قبل النشر. -
-debug-edge-source-sharding
: ما إذا كان سيتم حفظ معلومات عن مصدر الحافة للتقسيم في وحدة MLIR هذه هي المعاملات/النتائج التي أدّت إلى استخدام ميزة التجزئة في بعض نتائج العمليات.
-sdy-op-priority-propagate
تشغيل خوارزمية التوسّع في الأولوية التشغيلية
تنشر عمليات تقسيم البيانات في عمليات التكرار، استنادًا إلى مجموعة من الإشارات الإرشادية للعمليات. يحدِّد كل أسلوب استقرائي ما إذا كان سيتم التوسّع في الاتجاه الأمامي أو الخلفي أو في كلا الاتجاهين للإجراء المحدّد.
يبدأ هذا الترتيب من الأولوية 0 للعمليات ويزيد إلى أن يتم استخدام جميع الأساليب الاستقرائية للعمليات ويصل البرنامج إلى نقطة ثابتة.
بالنسبة إلى الأولوية p، يتمّ اعتبار جميع الأساليب التقريبية للتشغيل من 0 <= i < p. يتم اختيار الاتجاه الأكثر
تعبيرية لكل عملية، باستخدام
BOTH > BACKWARD == FORWARD > NONE
. إذا ظهر FORWARD
/BACKWARD
أولاً ثم BACKWARD
/FORWARD
أثناء هذه التكرارات، يكون اتجاه
هو BOTH
.
تُوسّع استراتيجية النشر هذه استراتيجية النشر السريع، ما يعني أنّه في كل تكرار لأولوية العملية، يتم تطبيق استراتيجية نشر سريعة كاملة (راجِع AggressivePropagationPass
).
الخيارات:
-keep-sharding-rules
: ما إذا كنت تريد الاحتفاظ بقواعد تقسيم العمليات الحالية والمُنشأة-module-dump-directory
: مكان تفريغ أي وحدات تمت إعادة كتابتها لتصحيح الأخطاء-
-conservative-propagation
: ما إذا كان سيتم حظر المحاور المقسّمة والمحاور التي لا يمكن تقسيمها للتقسيم أثناء النشر -
-debug-sharding-origins
: ما إذا كان سيتم حفظ معلومات عن مصدر عملية تحليل البيانات إلى أجزاء في وحدة MLIR وتكون هذه هي عمليات التجزئة في الدوال المدخلات والمخرجات والقيود المتعلقة بالتجزئة والعمليات الحسابية اليدوية قبل النشر. -
-debug-edge-source-sharding
: ما إذا كان سيتم حفظ معلومات عن مصدر الحافة للتقسيم في وحدة MLIR هذه هي المعاملات/النتائج التي أدّت إلى استخدام ميزة التجزئة في بعض نتائج العمليات. -
-propagation-strategy
: استراتيجية نشر العوامل التي سيتم استخدامها -
-run-op-priority-propagation
: ما إذا كان سيتم تنفيذ (أو تخطّي) عملية الانتشار ذات الأولوية القصوى
-sdy-populate-op-sharding-rules
تعبئة جميع العمليات المسجَّلة بقيمة OpShardingRuleAttr
تعبئ جميع العمليات المسجَّلة بقيمة OpShardingRuleAttr
، والتي تُستخدَم ل debugging/testing قواعد التجزئة المسجَّلة. تُجري عملية النشر
هذه العملية في الوقت المناسب، ولكنّ هذه الخطوة تُجريها دفعةً واحدة.
الخيارات
-conservative-propagation : whether to disllow rules that can propagate non-divisible sharding axes
-sdy-user-priority-propagate
تشغيل خوارزمية التوسّع حسب الأولوية للمستخدم
تنشر عمليات تقسيم البيانات في التكرارات، بدءًا من أعلى أولوية (أدنى رقم، عادةً p0) إلى أدنى أولوية (أعلى رقم). بعبارة أخرى، في الخطوة i، لا يتم نشر سوى تقسيمات السمات التي تكون لها الأولوية <=i.
تُوسّع استراتيجية النشر هذه استراتيجية النشر حسب الأولوية التشغيلية،
ما يعني أنّه في كل تكرار حسب الأولوية للمستخدم، يتم تطبيق عملية نشر كاملة حسب الأولوية التشغيلية (راجِع OpPriorityPropagationPass
).
الخيارات:
-keep-sharding-rules
: ما إذا كنت تريد الاحتفاظ بقواعد تقسيم العمليات الحالية والمُنشأة-module-dump-directory
: مكان تفريغ أي وحدات تمت إعادة كتابتها لتصحيح الأخطاء-
-conservative-propagation
: ما إذا كان سيتم حظر المحاور المقسّمة والمحاور التي لا يمكن تقسيمها للتقسيم أثناء النشر -
-debug-sharding-origins
: ما إذا كان سيتم حفظ معلومات عن مصدر عملية تحليل البيانات إلى أجزاء في وحدة MLIR وتكون هذه هي عمليات التجزئة في الدوال المدخلات والمخرجات والقيود المتعلقة بالتجزئة والعمليات الحسابية اليدوية قبل النشر. -
-debug-edge-source-sharding
: ما إذا كان سيتم حفظ معلومات عن مصدر الحافة للتقسيم في وحدة MLIR هذه هي المعاملات/النتائج التي أدّت إلى استخدام ميزة التجزئة في بعض نتائج العمليات. -
-propagation-strategy
: استراتيجية نشر العوامل التي سيتم استخدامها -
-run-op-priority-propagation
: ما إذا كان سيتم تنفيذ (أو تخطّي) عملية الانتشار ذات الأولوية القصوى