-sdy-aggressive-propagate

Menjalankan algoritma penyebaran sharding agresif.

Memperluas sharding dengan strategi penyebaran faktor yang agresif. Strategi dasar hanya menyebarkan sharding tanpa konflik, sedangkan strategi agresif menyelesaikan konflik. Agresivitas yang lebih tinggi dapat mengurangi jejak memori dengan mengorbankan potensi komunikasi.

Opsi:

  • -keep-sharding-rules: apakah akan mempertahankan aturan sharding op yang ada dan dibuat.
  • -module-dump-directory: tempat untuk membuang modul yang ditulis ulang untuk proses debug.
  • -conservative-propagation: apakah akan melarang sumbu pemisahan dan sumbu sharding yang tidak dapat dibagi selama penyebaran.
  • -debug-sharding-origins: apakah akan menyimpan informasi tentang asal sharding pada modul MLIR. Ini akan menjadi sharding pada input, output, batasan sharding, dan komputasi manual fungsi sebelum penyebaran.
  • -debug-edge-source-sharding: apakah akan menyimpan informasi tentang sumber tepi sharding di modul MLIR. Ini adalah operand/hasil yang memperkenalkan sharding pada beberapa hasil op.
  • -propagation-strategy: strategi penyebaran faktor yang akan digunakan.

-sdy-basic-propagate

Menjalankan algoritma penyebaran sharding dasar.

Algoritma propagasi dasar adalah strategi propagasi terendah dalam hierarki, yang tidak melakukan resolusi konflik apa pun, dan sebagai gantinya menyebarkan sumbu yang kompatibel di antara semua operand dan hasil.

Opsi:

  • -keep-sharding-rules: apakah akan mempertahankan aturan sharding op yang ada dan dibuat.
  • -module-dump-directory: tempat untuk membuang modul yang ditulis ulang untuk proses debug.
  • -conservative-propagation: apakah akan melarang sumbu pemisahan dan sumbu sharding yang tidak dapat dibagi selama penyebaran.
  • -debug-sharding-origins: apakah akan menyimpan informasi tentang asal sharding pada modul MLIR. Ini akan menjadi sharding pada input, output, batasan sharding, dan komputasi manual fungsi sebelum penyebaran.
  • -debug-edge-source-sharding: apakah akan menyimpan informasi tentang sumber tepi sharding di modul MLIR. Ini adalah operand/hasil yang memperkenalkan sharding pada beberapa hasil op.

-sdy-op-priority-propagate

Menjalankan algoritma penyebaran prioritas op.

Memperluas sharding dalam iterasi, berdasarkan serangkaian heuristik op. Setiap heuristika menentukan apakah akan menyebarkan ke arah maju, mundur, atau kedua arah untuk operasi tertentu.

Ini dimulai dari prioritas op 0 dan meningkat hingga semua heuristik op telah habis dan program telah mencapai titik tetap.

Untuk prioritas p, semua heuristik op dipertimbangkan dari 0 <= i < p. Arah yang paling ekspresif dipilih untuk setiap op, dengan BOTH > BACKWARD == FORWARD > NONE. Jika selama iterasi ini, FORWARD/BACKWARD terlihat terlebih dahulu, lalu BACKWARD/FORWARD terlihat, arahnya adalah BOTH.

Strategi penyebaran ini memperluas strategi penyebaran agresif, yang berarti bahwa pada setiap iterasi prioritas operasi, penyebaran agresif penuh akan diterapkan (lihat AggressivePropagationPass).

Opsi:

  • -keep-sharding-rules: apakah akan mempertahankan aturan sharding op yang ada dan dibuat.
  • -module-dump-directory: tempat untuk membuang modul yang ditulis ulang untuk proses debug.
  • -conservative-propagation: apakah akan melarang sumbu pemisahan dan sumbu sharding yang tidak dapat dibagi selama penyebaran.
  • -debug-sharding-origins: apakah akan menyimpan informasi tentang asal sharding pada modul MLIR. Ini akan menjadi sharding pada input, output, batasan sharding, dan komputasi manual fungsi sebelum penyebaran.
  • -debug-edge-source-sharding: apakah akan menyimpan informasi tentang sumber tepi sharding di modul MLIR. Ini adalah operand/hasil yang memperkenalkan sharding pada beberapa hasil op.
  • -propagation-strategy: strategi penyebaran faktor yang akan digunakan.
  • -run-op-priority-propagation: apakah akan menjalankan (atau melewati) penyebaran prioritas op.

-sdy-populate-op-sharding-rules

Mengisi semua operasi terdaftar dengan OpShardingRuleAttr.

Mengisi semua operasi terdaftar dengan OpShardingRuleAttr, yang digunakan untuk men-debug/menguji aturan sharding terdaftar. Propagasi sudah melakukannya tepat waktu, tetapi kartu ini melakukannya sekaligus.

Opsi

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

-sdy-user-priority-propagate

Menjalankan algoritma penyebaran prioritas pengguna.

Memperluas sharding dalam iterasi, mulai dari prioritas tertinggi (angka terendah, biasanya p0) hingga prioritas terendah (angka tertinggi). Dengan kata lain, pada iterasi ke-i, hanya sharding dimensi dengan prioritas <=i yang di-propagate.

Strategi propagasi ini memperluas strategi propagasi prioritas op, yang berarti bahwa pada setiap iterasi prioritas pengguna, propagasi prioritas op penuh diterapkan (lihat OpPriorityPropagationPass).

Opsi:

  • -keep-sharding-rules: apakah akan mempertahankan aturan sharding op yang ada dan dibuat.
  • -module-dump-directory: tempat untuk membuang modul yang ditulis ulang untuk proses debug.
  • -conservative-propagation: apakah akan melarang sumbu pemisahan dan sumbu sharding yang tidak dapat dibagi selama penyebaran.
  • -debug-sharding-origins: apakah akan menyimpan informasi tentang asal sharding pada modul MLIR. Ini akan menjadi sharding pada input, output, batasan sharding, dan komputasi manual fungsi sebelum penyebaran.
  • -debug-edge-source-sharding: apakah akan menyimpan informasi tentang sumber tepi sharding di modul MLIR. Ini adalah operand/hasil yang memperkenalkan sharding pada beberapa hasil op.
  • -propagation-strategy: strategi penyebaran faktor yang akan digunakan.
  • -run-op-priority-propagation: apakah akan menjalankan (atau melewati) penyebaran prioritas op.