-sdy-aggressive-propagate
Executa o algoritmo agressivo de propagação de fragmentação.
Propague divisões com uma estratégia agressiva de propagação de fatores. A estratégia básica só propaga particionamentos sem conflitos, enquanto a estratégia agressiva resolve conflitos. Uma maior agressividade pode reduzir o consumo de memória em detrimento da comunicação potencial.
Opções:
- Todas as opções de
BasicPropagationPass
-propagation-strategy
: qual estratégia de propagação de fatores usar ###-sdy-basic-propagate
Executa o algoritmo básico de propagação de fragmentação.
O algoritmo de propagação básico é a estratégia de propagação mais baixa na hierarquia, que não faz nenhuma resolução de conflito e, em vez disso, propaga eixos compatíveis entre todos os operandos e resultados.
Opções:
-keep-sharding-rules
: se as regras de divisão de op existentes e criadas devem ser mantidas-module-dump-directory
: onde despejar todos os módulos reescritos para depuração-conservative-propagation
: se é possível impedir eixos divididos e eixos de divisão não divisíveis durante a propagação ###-sdy-op-priority-propagate
Executa o algoritmo de propagação de prioridade de operação.
Propague partições em iterações com base em um conjunto de heurísticas de operação. Cada heurística determina se uma operação será propagada para frente, para trás ou ambas as direções.
Ela começa na prioridade de operação 0 e aumenta até que todas as heurísticas de operação sejam esgotadas e o programa atinja um ponto fixo.
Para uma prioridade p, todas as heurísticas de operação são consideradas de 0 <= i < p. A direção mais
expressiva é escolhida para cada operação, com
BOTH > BACKWARD == FORWARD > NONE
. Se durante essa iteração,
FORWARD
/BACKWARD
for encontrado primeiro e depois BACKWARD
/FORWARD
, a
direção será BOTH
.
Essa estratégia de propagação estende a estratégia de propagação agressiva, o que significa que, a cada iteração de prioridade de operação, uma propagação agressiva completa é aplicada (consulte AggressivePropagationPass
).
Opções:
- Todas as opções de
AggressivePropagationPass
-run-op-priority-propagation
: se a propagação de prioridade de operação será executada (ou pulada) ###-sdy-populate-op-sharding-rules
Preenche todas as operações registradas com um OpShardingRuleAttr
.
Preenche todas as operações registradas com um OpShardingRuleAttr
, que é usado para
depurar/testar as regras de fragmentação registradas. A propagação já faz
isso no momento certo, mas esse cartão faz tudo de uma vez.
Opções
-conservative-propagation : whether to disllow rules that can propagate non-divisible sharding axes
-sdy-user-priority-propagate
Executa o algoritmo de propagação de prioridade do usuário.
Propague as partições em iterações, começando pela prioridade mais alta (número mais baixo, normalmente p0) até a prioridade mais baixa (número mais alto). Em outras palavras, na iteração i, apenas os particionamentos de dimensão com prioridade <=i são propagados.
Essa estratégia de propagação estende a estratégia de propagação de prioridade de operação,
o que significa que, em cada iteração de prioridade do usuário, uma propagação de prioridade de
operação completa é aplicada (consulte OpPriorityPropagationPass
).
Opções:
- Todas as opções de
OpPriorityPropagationPass