-sdy-aggressive-propagate

Chạy thuật toán truyền tải phân đoạn tích cực.

Truyền tải các phân đoạn bằng chiến lược truyền tải yếu tố tích cực. Chiến lược cơ bản chỉ truyền tải các phân đoạn không có xung đột, trong khi chiến lược tích cực sẽ giải quyết xung đột. Độ tích cực cao hơn có thể làm giảm mức sử dụng bộ nhớ nhưng sẽ làm giảm khả năng giao tiếp tiềm năng.

Tuỳ chọn:

  • -keep-sharding-rules: liệu có giữ lại các quy tắc phân đoạn hoạt động hiện có và đã tạo hay không.
  • -module-dump-directory: vị trí kết xuất mọi mô-đun được viết lại để gỡ lỗi.
  • -conservative-propagation: có cho phép các trục phân tách và trục phân đoạn không thể phân chia trong quá trình truyền hay không.
  • -debug-sharding-origins: có lưu thông tin về nguồn gốc của một phân đoạn trên mô-đun MLIR hay không. Đây sẽ là các phân đoạn trên dữ liệu đầu vào, đầu ra, các quy tắc ràng buộc phân đoạn và các phép tính thủ công của hàm trước khi truyền.
  • -debug-edge-source-sharding: liệu có lưu thông tin về nguồn cạnh của một phân đoạn trên mô-đun MLIR hay không. Đây là những toán hạng/kết quả đã tạo ra một phân đoạn trên một số kết quả toán tử.
  • -propagation-strategy: chiến lược truyền tải yếu tố cần sử dụng.

-sdy-basic-propagate

Chạy thuật toán truyền tải phân đoạn cơ bản.

Thuật toán truyền dẫn cơ bản là chiến lược truyền dẫn cấp thấp nhất trong hệ phân cấp, không giải quyết xung đột nào và thay vào đó sẽ truyền dẫn các trục tương thích giữa tất cả toán hạng và kết quả.

Tuỳ chọn:

  • -keep-sharding-rules: liệu có giữ lại các quy tắc phân đoạn hoạt động hiện có và đã tạo hay không.
  • -module-dump-directory: vị trí kết xuất mọi mô-đun được viết lại để gỡ lỗi.
  • -conservative-propagation: có cho phép các trục phân tách và trục phân đoạn không thể phân chia trong quá trình truyền hay không.
  • -debug-sharding-origins: có lưu thông tin về nguồn gốc của một phân đoạn trên mô-đun MLIR hay không. Đây sẽ là các phân đoạn trên dữ liệu đầu vào, đầu ra, các quy tắc ràng buộc phân đoạn và các phép tính thủ công của hàm trước khi truyền.
  • -debug-edge-source-sharding: liệu có lưu thông tin về nguồn cạnh của một phân đoạn trên mô-đun MLIR hay không. Đây là những toán hạng/kết quả đã tạo ra một phân đoạn trên một số kết quả toán tử.

-sdy-op-priority-propagate

Chạy thuật toán truyền ưu tiên hoạt động.

Truyền tải các phân đoạn trong các vòng lặp, dựa trên một tập hợp các phương pháp phỏng đoán hoạt động. Mỗi phương pháp phỏng đoán xác định xem có truyền theo hướng tiến, lùi hay cả hai hướng cho một toán tử nhất định hay không.

Giá trị này bắt đầu ở mức độ ưu tiên thao tác 0 và tăng lên cho đến khi tất cả các phương pháp phỏng đoán thao tác đã được sử dụng hết và chương trình đã đạt đến một điểm cố định.

Đối với mức độ ưu tiên p, tất cả các phương pháp phỏng đoán về toán tử được xem xét từ 0 <= i < p. Hướng biểu cảm nhất được chọn cho mỗi toán tử, với BOTH > BACKWARD == FORWARD > NONE. Nếu trong lần lặp này, bạn thấy FORWARD/BACKWARD trước rồi thấy BACKWARD/FORWARD, thì hướng sẽ là BOTH.

Chiến lược truyền tải này mở rộng chiến lược truyền tải mạnh mẽ, nghĩa là tại mỗi lần lặp lại theo mức độ ưu tiên của toán tử, hệ thống sẽ áp dụng một quá trình truyền tải mạnh mẽ đầy đủ (xem AggressivePropagationPass).

Tuỳ chọn:

  • -keep-sharding-rules: liệu có giữ lại các quy tắc phân đoạn hoạt động hiện có và đã tạo hay không.
  • -module-dump-directory: vị trí kết xuất mọi mô-đun được viết lại để gỡ lỗi.
  • -conservative-propagation: có cho phép các trục phân tách và trục phân đoạn không thể phân chia trong quá trình truyền hay không.
  • -debug-sharding-origins: có lưu thông tin về nguồn gốc của một phân đoạn trên mô-đun MLIR hay không. Đây sẽ là các phân đoạn trên dữ liệu đầu vào, đầu ra, các quy tắc ràng buộc phân đoạn và các phép tính thủ công của hàm trước khi truyền.
  • -debug-edge-source-sharding: liệu có lưu thông tin về nguồn cạnh của một phân đoạn trên mô-đun MLIR hay không. Đây là những toán hạng/kết quả đã tạo ra một phân đoạn trên một số kết quả toán tử.
  • -propagation-strategy: chiến lược truyền tải yếu tố cần sử dụng.
  • -run-op-priority-propagation: liệu có chạy (hoặc bỏ qua) quá trình truyền mức độ ưu tiên của thao tác hay không.

-sdy-populate-op-sharding-rules

Điền tất cả các thao tác đã đăng ký bằng OpShardingRuleAttr.

Điền tất cả các thao tác đã đăng ký bằng OpShardingRuleAttr, dùng để gỡ lỗi/kiểm thử các quy tắc phân đoạn đã đăng ký. Quá trình truyền tải đã thực hiện việc này đúng lúc, nhưng lượt truyền này thực hiện tất cả cùng một lúc.

Tùy chọn

-conservative-propagation : whether to disllow rules that can propagate non-divisible sharding axes

-sdy-user-priority-propagate

Chạy thuật toán truyền tải theo mức độ ưu tiên của người dùng.

Truyền tải các phân đoạn trong các lần lặp, bắt đầu từ mức độ ưu tiên cao nhất (số thấp nhất, thường là p0) đến mức độ ưu tiên thấp nhất (số cao nhất). Nói cách khác, ở lần lặp thứ i, chỉ những phân đoạn phương diện có mức độ ưu tiên <=i mới được truyền.

Chiến lược truyền tải này mở rộng chiến lược truyền tải theo mức độ ưu tiên của thao tác, nghĩa là tại mỗi lần lặp theo mức độ ưu tiên của người dùng, hệ thống sẽ áp dụng một quá trình truyền tải đầy đủ theo mức độ ưu tiên của thao tác (xem OpPriorityPropagationPass).

Tuỳ chọn:

  • -keep-sharding-rules: liệu có giữ lại các quy tắc phân đoạn hoạt động hiện có và đã tạo hay không.
  • -module-dump-directory: vị trí kết xuất mọi mô-đun được viết lại để gỡ lỗi.
  • -conservative-propagation: có cho phép các trục phân tách và trục phân đoạn không thể phân chia trong quá trình truyền hay không.
  • -debug-sharding-origins: có lưu thông tin về nguồn gốc của một phân đoạn trên mô-đun MLIR hay không. Đây sẽ là các phân đoạn trên dữ liệu đầu vào, đầu ra, các quy tắc ràng buộc phân đoạn và các phép tính thủ công của hàm trước khi truyền.
  • -debug-edge-source-sharding: liệu có lưu thông tin về nguồn cạnh của một phân đoạn trên mô-đun MLIR hay không. Đây là những toán hạng/kết quả đã tạo ra một phân đoạn trên một số kết quả toán tử.
  • -propagation-strategy: chiến lược truyền tải yếu tố cần sử dụng.
  • -run-op-priority-propagation: có chạy (hoặc bỏ qua) việc truyền mức độ ưu tiên của thao tác hay không.