-sdy-aggressive-propagate
Führt den aggressiven Algorithmus zur Sharding-Ausbreitung aus.
Verwenden Sie eine aggressive Faktorweitergabestrategie, um Shardings zu übertragen. Bei der Basisstrategie werden Fragmentierungen nur ohne Konflikte weitergegeben, während bei der aggressiven Strategie Konflikte gelöst werden. Eine höhere Aggressivität kann den Speicherbedarf auf Kosten der potenziellen Kommunikation reduzieren.
Optionen:
- Alle Optionen ab
BasicPropagationPass
-propagation-strategy
: Welche Faktorpropagierungsstrategie ist zu verwenden? ###-sdy-basic-propagate
Führt den grundlegenden Algorithmus zur Sharding-Replikation aus.
Der grundlegende Propagationsalgorithmus ist die niedrigste Propagationsstrategie in der Hierarchie. Er führt keine Konfliktlösung durch, sondern überträgt Achsen, die mit allen Operanden und Ergebnissen kompatibel sind.
Optionen:
-keep-sharding-rules
: Gibt an, ob vorhandene und erstellte Regeln für die Op-Sharding beibehalten werden sollen.-module-dump-directory
: Speicherort, an dem neu geschriebene Module zum Debuggen abgelegt werden sollen-conservative-propagation
: Gibt an, ob bei der Replikation keine geteilten Achsen und nicht teilbaren Sharding-Achsen zulässig sind. ###-sdy-op-priority-propagate
Führt den Algorithmus für die Weitergabe der Vorgangspriorität aus.
Überträgt Shardings in Iterationen basierend auf einer Reihe von Heuristiken für Operationen. Jede Heuristik bestimmt, ob für einen bestimmten Vorgang vorwärts, rückwärts oder beide Richtungen weitergegeben werden.
Dies beginnt bei der Priorität 0 und erhöht sich, bis alle Opheuristiken ausgeschöpft sind und das Programm einen festen Punkt erreicht hat.
Für eine Priorität p werden alle Heuristiken für die Ausführung berücksichtigt, für die 0 <= i < p gilt. Für jeden Vorgang wird mit BOTH > BACKWARD == FORWARD > NONE
die ausdrucksstärkste Richtung ausgewählt. Wenn bei dieser Iteration zuerst FORWARD
/BACKWARD
und dann BACKWARD
/FORWARD
erkannt wird, ist die Richtung BOTH
.
Diese Verbreitungsstrategie erweitert die aggressive Weitergabestrategie. Das bedeutet, dass bei jeder Iteration mit der Prioritätsstufe eine vollständige aggressive Weitergabe angewendet wird (siehe AggressivePropagationPass
).
Optionen:
- Alle Optionen ab
AggressivePropagationPass
-run-op-priority-propagation
: Gibt an, ob die Weitergabe von Vorgangsprioritäten ausgeführt (oder übersprungen) werden soll. ###-sdy-populate-op-sharding-rules
Alle registrierten Vorgänge werden mit einem OpShardingRuleAttr
ausgefüllt.
Alle registrierten Vorgänge werden mit einem OpShardingRuleAttr
ausgefüllt, das zum Debuggen und Testen der registrierten Sharding-Regeln verwendet wird. Bei der Weiterleitung wird dies bereits Just-in-Time durchgeführt, aber mit diesem Ausweis geschieht dies alles auf einmal.
Optionen
-conservative-propagation : whether to disllow rules that can propagate non-divisible sharding axes
-sdy-user-priority-propagate
Führt den Algorithmus zur Nutzerpriorisierung aus.
Es werden Shardings in Iterationen weitergegeben, beginnend mit der höchsten Priorität (niedrigste Zahl, normalerweise p0) bis zur niedrigsten Priorität (höchste Zahl). Mit anderen Worten: Bei der i-ten Iteration werden nur Dimensions-Shardings mit einer Priorität von <=i weitergegeben.
Diese Weiterleitungsstrategie erweitert die Weiterleitungsstrategie für die Betriebspriorität. Das bedeutet, dass bei jeder Iteration mit Nutzerpriorität eine vollständige Weiterleitung mit Betriebspriorität angewendet wird (siehe OpPriorityPropagationPass
).
Optionen:
- Alle Optionen ab
OpPriorityPropagationPass