-sdy-aggressive-propagate
적극적인 샤딩 전파 알고리즘을 실행합니다.
공격적인 요소 전파 전략으로 샤딩을 전파합니다. 기본 전략은 충돌이 없는 샤딩만 전파하는 반면 공격적인 전략은 충돌을 해결합니다. 공격성이 높을수록 잠재적인 통신 비용으로 메모리 공간을 줄일 수 있습니다.
옵션:
BasicPropagationPass
의 모든 옵션-propagation-strategy
: 사용할 요인 전파 전략 ###-sdy-basic-propagate
기본 샤딩 전파 알고리즘을 실행합니다.
기본 전파 알고리즘은 계층 구조에서 가장 낮은 수준의 전파 전략으로, 충돌 해결을 수행하지 않고 대신 모든 피연산자와 결과 간에 호환되는 축을 전파합니다.
옵션:
-keep-sharding-rules
: 기존 및 생성된 op 샤딩 규칙을 유지할지 여부-module-dump-directory
: 디버깅을 위해 다시 작성된 모듈을 덤프할 위치-conservative-propagation
: 전파 중에 분할 축과 분할 불가능한 샤딩 축을 허용하지 않을지 여부 ###-sdy-op-priority-propagate
작업 우선순위 전파 알고리즘을 실행합니다.
일련의 작업 휴리스틱에 따라 반복적으로 샤딩을 전파합니다. 각 휴리스틱은 특정 연산에 대해 전방, 후방 또는 양방향으로 전파할지 결정합니다.
이 값은 op-priority 0에서 시작하여 모든 op 휴리스틱이 소진되고 프로그램이 고정점에 도달할 때까지 증가합니다.
우선순위 p의 경우 모든 op 휴리스틱은 0 <= i < p로 간주됩니다. 작업마다 BOTH > BACKWARD == FORWARD > NONE
를 사용하여 가장 표현력이 좋은 방향이 선택됩니다. 이 반복 중에 FORWARD
/BACKWARD
가 먼저 표시되고 BACKWARD
/FORWARD
가 표시되면 방향은 BOTH
입니다.
이 전파 전략은 공격적인 전파 전략을 확장합니다. 즉, 각 op-priority 반복에서 전체 공격적인 전파가 적용됩니다 (AggressivePropagationPass
참고).
옵션:
AggressivePropagationPass
의 모든 옵션-run-op-priority-propagation
: op 우선순위 전파를 실행할지 (또는 건너뛸지) 여부입니다. ###-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 이하인 측정기준 샤딩만 전파됩니다.
이 전파 전략은 op 우선순위 전파 전략을 확장합니다. 즉, 각 사용자 우선순위 반복에서 전체 op 우선순위 전파가 적용됩니다 (OpPriorityPropagationPass
참고).
옵션:
OpPriorityPropagationPass
의 모든 옵션