-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