-sdy-aggressive-propagate

الگوریتم انتشار تهاجمی شاردینگ را اجرا می کند.

تکه تکه ها را با استراتژی انتشار عوامل تهاجمی منتشر کنید. استراتژی اصلی فقط خرده‌کاری‌ها را بدون درگیری منتشر می‌کند، در حالی که استراتژی تهاجمی تضادها را حل می‌کند. تهاجمی بالاتر می تواند ردپای حافظه را به قیمت ارتباطات بالقوه کاهش دهد.

گزینه ها:

  • همه گزینه ها از BasicPropagationPass
  • -propagation-strategy : از کدام استراتژی انتشار عامل استفاده شود ### -sdy-basic-propagate

الگوریتم اصلی انتشار شاردینگ را اجرا می کند.

الگوریتم انتشار پایه، پایین ترین استراتژی انتشار در سلسله مراتب است، که هیچ حل تعارضی را انجام نمی دهد، و در عوض، محورهایی را منتشر می کند که بین همه عملوندها و نتایج سازگار است.

گزینه ها:

  • -keep-sharding-rules : آیا باید قوانین موجود و ایجاد شده را حفظ کرد
  • -module-dump-directory : جایی که ماژول های بازنویسی شده را برای اشکال زدایی تخلیه کنیم
  • -conservative-propagation : آیا نباید محورهای تقسیم و محورهای تقسیم ناپذیر در حین انتشار مجاز نباشد ### -sdy-op-priority-propagate

الگوریتم انتشار اولویت اول را اجرا می کند.

بر اساس مجموعه ای از اکتشافی های عملیاتی، تکه تکه ها را در تکرارها منتشر می کند. هر اکتشافی تعیین می کند که برای یک عملیات معین در جهت جلو، عقب یا هر دو جهت منتشر شود.

این از اولویت صفر شروع می شود و تا زمانی که تمام اکتشافی های عملیاتی تمام شود و برنامه به نقطه ثابتی برسد افزایش می یابد.

برای اولویت p، تمام اکتشافی های عملیاتی از 0 <= i < p در نظر گرفته می شوند. گویاترین جهت برای هر عملیات انتخاب می شود، با BOTH > BACKWARD == FORWARD > NONE . اگر در طول این تکرار، ابتدا FORWARD / BACKWARD و سپس BACKWARD / FORWARD دیده می شود، جهت BOTH است.

این استراتژی انتشار، استراتژی انتشار تهاجمی را گسترش می دهد، به این معنی که در هر تکرار اولویت اول، یک انتشار تهاجمی کامل اعمال می شود (به AggressivePropagationPass مراجعه کنید).

گزینه ها:

  • همه گزینه ها از AggressivePropagationPass
  • -run-op-priority-propagation : آیا باید انتشار اولویت اول را اجرا کرد (یا رد کرد) ### -sdy-populate-op-sharding-rules

همه عملیات های ثبت شده را با OpShardingRuleAttr پر می کند.

همه عملیات های ثبت شده را با OpShardingRuleAttr پر می کند، که برای اشکال زدایی/آزمایش قوانین اشتراک گذاری ثبت شده استفاده می شود. Propagation قبلاً این کار را به موقع انجام می دهد، اما این پاس همه آن را یکباره انجام می دهد.

گزینه ها

-conservative-propagation : whether to disllow rules that can propagate non-divisible sharding axes

-sdy-user-priority-propagate

الگوریتم انتشار با اولویت کاربر را اجرا می کند.

تکه تکه ها را در تکرارها، از بالاترین اولویت (کمترین عدد، معمولاً p0) تا کمترین اولویت (بالاترین عدد) منتشر می کند. به عبارت دیگر، در تکرار i-ام، فقط تقسیم‌بندی ابعاد با اولویت <=i منتشر می‌شود.

این استراتژی انتشار، استراتژی انتشار اولویت را گسترش می دهد، به این معنی که در هر تکرار با اولویت کاربر، یک انتشار با اولویت کامل اعمال می شود (به OpPriorityPropagationPass مراجعه کنید).

گزینه ها:

  • همه گزینه ها از OpPriorityPropagationPass