-sdy-aggressive-propagate
Ejecuta el algoritmo de propagación de fragmentación agresivo.
Propaga los particionados con una estrategia de propagación de factores agresiva. La estrategia básica solo propaga particiones sin conflictos, mientras que la estrategia agresiva resuelve los conflictos. Una mayor agresividad puede reducir el uso de memoria a costa de una posible comunicación.
Opciones:
- Todas las opciones a partir de
BasicPropagationPass
-propagation-strategy
: Indica qué estrategia de propagación de factores se debe usar. ###-sdy-basic-propagate
Ejecuta el algoritmo básico de propagación de fragmentación.
El algoritmo de propagación básico es la estrategia de propagación más baja en la jerarquía, que no resuelve ningún conflicto y, en su lugar, propaga ejes que son compatibles entre todos los operandos y resultados.
Opciones:
-keep-sharding-rules
: Indica si se deben conservar las reglas de fragmentación de operaciones existentes y creadas.-module-dump-directory
: Es el lugar donde se volcarán los módulos reescritos para la depuración.-conservative-propagation
: Indica si se deben inhabilitar los ejes de división y los de fragmentación no divisibles durante la propagación ###-sdy-op-priority-propagate
Ejecuta el algoritmo de propagación de prioridad de operación.
Propaga los particionados en iteraciones, según un conjunto de heurísticas de operaciones. Cada heurística determina si se propaga hacia delante, hacia atrás o en ambas direcciones para una operación determinada.
Comienza en la prioridad de operación 0 y aumenta hasta que se agotan todas las heurísticas de operación y el programa alcanza un punto fijo.
Para una prioridad p, todas las heurísticas de op se consideran de 0 ≤ i < p. Se elige la dirección más expresiva para cada operación, con BOTH > BACKWARD == FORWARD > NONE
. Si durante esta iteración, primero se ve FORWARD
/BACKWARD
y, luego, BACKWARD
/FORWARD
, la dirección es BOTH
.
Esta estrategia de propagación extiende la estrategia de propagación agresiva, lo que significa que, en cada iteración de prioridad de operación, se aplica una propagación agresiva completa (consulta AggressivePropagationPass
).
Opciones:
- Todas las opciones a partir de
AggressivePropagationPass
-run-op-priority-propagation
: Indica si se debe ejecutar (u omitir) la propagación de prioridad de operación ###-sdy-populate-op-sharding-rules
Propaga todas las operaciones registradas con un OpShardingRuleAttr
.
Completa todas las operaciones registradas con un OpShardingRuleAttr
, que se usa para depurar o probar las reglas de fragmentación registradas. La propagación ya lo hace justo a tiempo, pero este pase lo hace todo a la vez.
Opciones
-conservative-propagation : whether to disllow rules that can propagate non-divisible sharding axes
-sdy-user-priority-propagate
Ejecuta el algoritmo de propagación de prioridad del usuario.
Propagación de particiones en iteraciones, desde la prioridad más alta (número más bajo, normalmente p0) hasta la prioridad más baja (número más alto). En otras palabras, en la iteración i, solo se propagan los particionados de dimensiones con prioridad <=i.
Esta estrategia de propagación extiende la estrategia de propagación de prioridad de operación, lo que significa que, en cada iteración de prioridad del usuario, se aplica una propagación completa de prioridad de operación (consulta OpPriorityPropagationPass
).
Opciones:
- Todas las opciones a partir de
OpPriorityPropagationPass