-sdy-aggressive-propagate

Запускает агрессивный алгоритм распространения шардинга.

Распространяйте шардинги с помощью агрессивной стратегии распространения факторов. Базовая стратегия распространяет шардинги только без конфликтов, тогда как агрессивная стратегия разрешает конфликты. Более высокая агрессивность может уменьшить объем памяти за счет потенциального обмена данными.

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о Edge-источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.
  • -propagation-strategy : какую стратегию распространения факторов использовать.

-sdy-basic-propagate

Запускает базовый алгоритм распространения сегментирования.

Базовый алгоритм распространения — это самая низкая стратегия распространения в иерархии, которая не выполняет никакого разрешения конфликтов и вместо этого распространяет оси, совместимые между всеми операндами и результатами.

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о граничном источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.

-sdy-op-priority-propagate

Запускает алгоритм распространения с приоритетом операции.

Распространяет шардинги в итерациях на основе набора операционных эвристик. Каждая эвристика определяет, следует ли распространяться в прямом, обратном или обоих направлениях для данной операции.

Это начинается с приоритета операции 0 и увеличивается до тех пор, пока все эвристики операций не будут исчерпаны и программа не достигнет фиксированной точки.

Для приоритета p все эвристики операций рассматриваются от 0 <= i < p. Для каждой операции выбирается наиболее выразительное направление: BOTH > BACKWARD == FORWARD > NONE . Если во время этой итерации сначала отображается FORWARD / BACKWARD , а затем BACKWARD / FORWARD , направление будет BOTH .

Эта стратегия распространения расширяет агрессивную стратегию распространения, что означает, что на каждой итерации с приоритетом операции применяется полное агрессивное распространение (см. AggressivePropagationPass ).

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о граничном источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.
  • -propagation-strategy : какую стратегию распространения факторов использовать.
  • -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

Запускает алгоритм распространения приоритета пользователя.

Распространяет шардинги итерациями, начиная с самого высокого приоритета (самый низкий номер, обычно p0) до самого низкого приоритета (самый высокий номер). Другими словами, на i-й итерации распространяются только сегменты измерений с приоритетом <=i.

Эта стратегия распространения расширяет стратегию распространения приоритета операции, что означает, что на каждой итерации приоритета пользователя применяется полное распространение приоритета операции (см. OpPriorityPropagationPass ).

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о граничном источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.
  • -propagation-strategy : какую стратегию распространения факторов использовать.
  • -run-op-priority-propagation : запускать (или пропускать) распространение приоритета операции.
,

-sdy-aggressive-propagate

Запускает агрессивный алгоритм распространения шардинга.

Распространяйте шардинги с помощью агрессивной стратегии распространения факторов. Базовая стратегия распространяет шардинги только без конфликтов, тогда как агрессивная стратегия разрешает конфликты. Более высокая агрессивность может уменьшить объем памяти за счет потенциального обмена данными.

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о граничном источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.
  • -propagation-strategy : какую стратегию распространения факторов использовать.

-sdy-basic-propagate

Запускает базовый алгоритм распространения сегментирования.

Базовый алгоритм распространения — это самая низкая стратегия распространения в иерархии, которая не выполняет никакого разрешения конфликтов и вместо этого распространяет оси, совместимые между всеми операндами и результатами.

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о граничном источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.

-sdy-op-priority-propagate

Запускает алгоритм распространения с приоритетом операции.

Распространяет шардинги в итерациях на основе набора операционных эвристик. Каждая эвристика определяет, следует ли распространяться в прямом, обратном или обоих направлениях для данной операции.

Это начинается с приоритета операции 0 и увеличивается до тех пор, пока все эвристики операций не будут исчерпаны и программа не достигнет фиксированной точки.

Для приоритета p все эвристики операций рассматриваются от 0 <= i < p. Для каждой операции выбирается наиболее выразительное направление: BOTH > BACKWARD == FORWARD > NONE . Если во время этой итерации сначала отображается FORWARD / BACKWARD , а затем BACKWARD / FORWARD , направление будет BOTH .

Эта стратегия распространения расширяет агрессивную стратегию распространения, что означает, что на каждой итерации с приоритетом операции применяется полное агрессивное распространение (см. AggressivePropagationPass ).

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о граничном источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.
  • -propagation-strategy : какую стратегию распространения факторов использовать.
  • -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

Запускает алгоритм распространения приоритета пользователя.

Распространяет шардинги итерациями, начиная с самого высокого приоритета (самый низкий номер, обычно p0) до самого низкого приоритета (самый высокий номер). Другими словами, на i-й итерации распространяются только сегменты измерений с приоритетом <=i.

Эта стратегия распространения расширяет стратегию распространения приоритета операции, что означает, что на каждой итерации приоритета пользователя применяется полное распространение приоритета операции (см. OpPriorityPropagationPass ).

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о граничном источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.
  • -propagation-strategy : какую стратегию распространения факторов использовать.
  • -run-op-priority-propagation : запускать (или пропускать) распространение приоритета операции.
,

-sdy-aggressive-propagate

Запускает агрессивный алгоритм распространения шардинга.

Распространяйте шардинги с помощью агрессивной стратегии распространения факторов. Базовая стратегия распространяет шардинги только без конфликтов, тогда как агрессивная стратегия разрешает конфликты. Более высокая агрессивность может уменьшить объем памяти за счет потенциального обмена данными.

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о граничном источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.
  • -propagation-strategy : какую стратегию распространения факторов использовать.

-sdy-basic-propagate

Запускает базовый алгоритм распространения сегментирования.

Базовый алгоритм распространения — это самая низкая стратегия распространения в иерархии, которая не выполняет никакого разрешения конфликтов и вместо этого распространяет оси, совместимые между всеми операндами и результатами.

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о граничном источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.

-sdy-op-priority-propagate

Запускает алгоритм распространения с приоритетом операции.

Распространяет шардинги в итерациях на основе набора операционных эвристик. Каждая эвристика определяет, следует ли распространяться в прямом, обратном или обоих направлениях для данной операции.

Это начинается с приоритета операции 0 и увеличивается до тех пор, пока все эвристики операций не будут исчерпаны и программа не достигнет фиксированной точки.

Для приоритета p все эвристики операций рассматриваются от 0 <= i < p. Для каждой операции выбирается наиболее выразительное направление: BOTH > BACKWARD == FORWARD > NONE . Если во время этой итерации сначала отображается FORWARD / BACKWARD , а затем BACKWARD / FORWARD , направление будет BOTH .

Эта стратегия распространения расширяет агрессивную стратегию распространения, что означает, что на каждой итерации с приоритетом операции применяется полное агрессивное распространение (см. AggressivePropagationPass ).

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о граничном источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.
  • -propagation-strategy : какую стратегию распространения факторов использовать.
  • -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

Запускает алгоритм распространения приоритета пользователя.

Распространяет шардинги итерациями, начиная с самого высокого приоритета (самый низкий номер, обычно p0) до самого низкого приоритета (самый высокий номер). Другими словами, на i-й итерации распространяются только сегменты измерений с приоритетом <=i.

Эта стратегия распространения расширяет стратегию распространения приоритета операции, что означает, что на каждой итерации приоритета пользователя применяется полное распространение приоритета операции (см. OpPriorityPropagationPass ).

Параметры:

  • -keep-sharding-rules : сохранять ли существующие и созданные правила сегментирования операций.
  • -module-dump-directory : куда сохранять любые переписанные модули для отладки.
  • -conservative-propagation : запрещать ли разделенные оси и неделимые оси сегментирования во время распространения.
  • -debug-sharding-origins : сохранять ли информацию об источнике шардинга в модуле MLIR. Это будет сегментирование входных и выходных данных функции, ограничения сегментирования и ручные вычисления перед распространением.
  • -debug-edge-source-sharding : сохранять ли информацию о граничном источнике шардинга в модуле MLIR. Это то, что операнд/результат ввел сегментирование результата некоторой операции.
  • -propagation-strategy : какую стратегию распространения факторов использовать.
  • -run-op-priority-propagation : запускать (или пропускать) распространение приоритета операции.