-sdy-aggressive-propagate
Exécute l'algorithme de propagation de segmentation agressive.
Propagez les fractionnements à l'aide d'une stratégie de propagation de facteurs agressive. La stratégie de base ne propage que les fractionnements sans conflit, tandis que la stratégie agressive résout les conflits. Une agressivité plus élevée peut réduire l'empreinte mémoire au détriment de la communication potentielle.
Options :
- Toutes les options de
BasicPropagationPass
-propagation-strategy
: stratégie de propagation des facteurs à utiliser ###-sdy-basic-propagate
Exécute l'algorithme de propagation de base du fractionnement.
L'algorithme de propagation de base est la stratégie de propagation la plus faible dans la hiérarchie. Il ne résout pas les conflits, mais propage des axes compatibles entre tous les opérandes et les résultats.
Options :
-keep-sharding-rules
: indique si les règles de fractionnement d'opérations existantes et créées doivent être conservées.-module-dump-directory
: emplacement où les modules réécrits doivent être mis en page pour le débogage-conservative-propagation
: indique si les axes fractionnés et les axes de partitionnement non divisibles doivent être interdits lors de la propagation. ###-sdy-op-priority-propagate
Exécute l'algorithme de propagation de la priorité d'opération.
Propage les fractionnements en itérations, en fonction d'un ensemble d'heuristiques d'opération. Chaque heuristique détermine si la propagation doit se faire dans les deux sens, dans un seul sens ou dans les deux sens pour une opération donnée.
Elle commence à la priorité d'opération 0 et augmente jusqu'à ce que toutes les heuristiques d'opération aient été épuisées et que le programme ait atteint un point fixe.
Pour une priorité p, toutes les heuristiques d'opération sont prises en compte de 0 <= i < p. La direction la plus expressive est choisie pour chaque opération, avec BOTH > BACKWARD == FORWARD > NONE
. Si, au cours de cette itération, FORWARD
/BACKWARD
est vu en premier, puis BACKWARD
/FORWARD
, la direction est BOTH
.
Cette stratégie de propagation étend la stratégie de propagation agressive, ce qui signifie qu'à chaque itération de priorité d'opération, une propagation agressive complète est appliquée (voir AggressivePropagationPass
).
Options :
- Toutes les options de
AggressivePropagationPass
-run-op-priority-propagation
: indique si la propagation de la priorité d'exécution doit être exécutée (ou ignorée) ###-sdy-populate-op-sharding-rules
Renseigne toutes les opérations enregistrées avec un OpShardingRuleAttr
.
Renseigne toutes les opérations enregistrées avec un OpShardingRuleAttr
, qui est utilisé pour déboguer/tester les règles de segmentation enregistrées. La propagation effectue déjà cela juste-à-temps, mais cette étape le fait tout à la fois.
Options
-conservative-propagation : whether to disllow rules that can propagate non-divisible sharding axes
-sdy-user-priority-propagate
Exécute l'algorithme de propagation de la priorité utilisateur.
Propage les fractionnements en itérations, en commençant par la priorité la plus élevée (le nombre le plus bas, normalement p0) jusqu'à la priorité la plus faible (le nombre le plus élevé). En d'autres termes, à la i-ième itération, seules les segmentations de dimensions dont la priorité est inférieure à i sont propagées.
Cette stratégie de propagation étend la stratégie de propagation de la priorité d'opération, ce qui signifie qu'à chaque itération de priorité utilisateur, une propagation complète de la priorité d'opération est appliquée (voir OpPriorityPropagationPass
).
Options :
- Toutes les options de
OpPriorityPropagationPass