-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. Agregat yang lebih tinggi dapat mengurangi jejak memori dengan mengorbankan potensi komunikasi.

Opsi:

  • Semua opsi dari BasicPropagationPass
  • -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 ### -sdy-op-priority-propagate

Menjalankan algoritma propagasi prioritas operasi.

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:

  • Semua opsi dari AggressivePropagationPass
  • -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:

  • Semua opsi dari OpPriorityPropagationPass