-sdy-aggressive-propagate

הפעלת האלגוריתם האגרסיבי להפצת חלוקה (sharding).

להפיץ את חלוקות המשנה באמצעות שיטת הפצה אגרסיבית של גורמים. האסטרטגיה הבסיסית מפיצה רק חלוקות ללא התנגשויות, ואילו האסטרטגיה האגרסיבית פותרת התנגשויות. אגרסיביות גבוהה יותר יכולה לצמצם את טביעת הרגל הפחמנית בעלות של תקשורת פוטנציאלית.

אפשרויות:

  • כל האפשרויות מ-BasicPropagationPass
  • -propagation-strategy : אילו שיטות להפצת גורמים יש להשתמש בהן ### -sdy-basic-propagate

הפעלת האלגוריתם הבסיסי להפצת חלוקה (sharding).

אלגוריתם ההעברה הבסיסי הוא האסטרטגיה הנמוכה ביותר של העברה בהיררכיה, שלא מבצעת פתרון של התנגשויות, ובמקום זאת מעבירה צירים שתואמים לכל המשתנים והתוצאות.

אפשרויות:

  • -keep-sharding-rules : האם לשמור את כללי הפיצול הקיימים והנוצרים של פעולות (op)
  • -module-dump-directory : היכן למחוק את המודולים ששונו לצורך ניפוי באגים
  • -conservative-propagation : האם לאסור על צירים מפוצלים וגרזי פיצול שאינם ניתנים לחלוקה במהלך ההפצה ### -sdy-op-priority-propagate

הרצת האלגוריתם להעברת עדיפות של פעולות

המערכת מפיצה את חלוקות המשנה (shardings) בחזרות, על סמך קבוצה של שיטות ניתוח נתונים (heuristics) לפעולות. כל היוריסטיקה קובעת אם לעבור קדימה, אחורה או את שניהם בשביל פעולה נתונה.

התהליך מתחיל מעדיפות 0 ומעלה עד שכל היוריסטיקה של התפעול אזלו והתוכנית מגיעה לנקודה קבועה.

לעדיפות 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, שמשמשים לניפוי באגים או לבדיקה של כללי הפיצול הרשומים. תהליך ההעברה כבר מבצע את הפעולה הזו בזמן אמת, אבל במעבר הזה הכול מתבצע בבת אחת.

אפשרויות

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

-sdy-user-priority-propagate

הפעלת אלגוריתם ההפצה בעדיפות המשתמש.

המערכת מפיצה את החלוקות לחלקים (shards) בחזרות, החל מהעדיפות הגבוהה ביותר (המספר הנמוך ביותר, בדרך כלל p0) ועד לעדיפות הנמוכה ביותר (המספר הגבוה ביותר). במילים אחרות, בחזרה ה-i, מתבצעת העברה רק של חלוקות מאפיינים עם עדיפות <=i.

אסטרטגיית ההפצה הזו מרחיבה את אסטרטגיית ההפצה בעדיפות תפעול, כך שבכל איטרציה בעדיפות משתמש מופעלת הפצה מלאה של עדיפות התפעול (ראו OpPriorityPropagationPass).

אפשרויות:

  • כל האפשרויות מ-OpPriorityPropagationPass