-sdy-aggressive-propagate
Запускает алгоритм агрессивного распространения шардинга.
Распространяйте шардинги с помощью агрессивной стратегии распространения факторов. Базовая стратегия распространяет шардинги только без конфликтов, тогда как агрессивная стратегия разрешает конфликты. Более высокая агрессивность может уменьшить объем памяти за счет потенциального взаимодействия.
Параметры:
- Все параметры из
BasicPropagationPass
-
-propagation-strategy
: какую стратегию распространения факторов использовать ###-sdy-basic-propagate
Запускает базовый алгоритм распространения сегментирования.
Базовый алгоритм распространения — это самая низкая стратегия распространения в иерархии, которая не выполняет никакого разрешения конфликтов и вместо этого распространяет оси, совместимые между всеми операндами и результатами.
Параметры:
-
-keep-sharding-rules
: сохранять ли существующие и созданные правила сегментирования операций -
-module-dump-directory
: куда сохранять любые переписанные модули для отладки. -
-conservative-propagation
: запрещать ли разделенные оси и неделимые оси сегментирования во время распространения ###-sdy-op-priority-propagate
Запускает алгоритм распространения с приоритетом операции.
Распространяет шардинги в итерациях на основе набора операционных эвристик. Каждая эвристика определяет, следует ли распространяться в прямом, обратном или обоих направлениях для данной операции.
Это начинается с приоритета операции 0 и увеличивается до тех пор, пока все эвристики операций не будут исчерпаны и программа не достигнет фиксированной точки.
Для приоритета p все эвристики операций рассматриваются от 0 <= i < p. Для каждой операции выбирается наиболее выразительное направление: BOTH > BACKWARD == FORWARD > NONE
. Если во время этой итерации сначала отображается FORWARD
/ BACKWARD
, а затем BACKWARD
/ FORWARD
, направление будет BOTH
.
Эта стратегия распространения расширяет агрессивную стратегию распространения, что означает, что на каждой итерации с приоритетом операции применяется полное агрессивное распространение (см. AggressivePropagationPass
).
Параметры:
- Все параметры из
AggressivePropagationPass
-
-run-op-priority-propagation
: запускать (или пропускать) распространение op-priority ###-sdy-populate-op-sharding-rules
Заполняет все зарегистрированные операции OpShardingRuleAttr
.
Заполняет все зарегистрированные операции OpShardingRuleAttr
, который используется для отладки/тестирования зарегистрированных правил сегментирования. Распространение уже делает это точно в срок, но этот проход делает все сразу.
Параметры
-conservative-propagation : whether to disllow rules that can propagate non-divisible sharding axes
-sdy-user-priority-propagate
Запускает алгоритм распространения приоритета пользователя.
Распространяет шардинги итерациями, начиная с самого высокого приоритета (самый низкий номер, обычно p0) до самого низкого приоритета (самый высокий номер). Другими словами, на i-й итерации распространяются только сегменты измерения с приоритетом <=i.
Эта стратегия распространения расширяет стратегию распространения приоритета операции, что означает, что на каждой итерации приоритета пользователя применяется полное распространение приоритета операции (см. OpPriorityPropagationPass
).
Параметры:
- Все параметры из
OpPriorityPropagationPass