-sdy-aggressive-propagate

Agresif bölümlendirme yayma algoritmasını çalıştırır.

Agresif bir faktör yayma stratejisiyle parçalama işlemlerini yayınlayın. Temel strateji yalnızca çakışmasız parçaları dağıtırken agresif strateji çakışmaları çözer. Daha yüksek agresiflik, olası iletişim pahasına bellek kullanımını azaltabilir.

Seçenekler:

  • -keep-sharding-rules: Mevcut ve oluşturulan op bölme kurallarını kullanmaya devam edilip edilmeyeceği.
  • -module-dump-directory: Hata ayıklama için yeniden yazılan modüllerin döküldüğü yer.
  • -conservative-propagation: Yayma sırasında bölünmüş eksenlere ve bölünemeyen bölme eksenlerine izin verilip verilmeyeceği.
  • -debug-sharding-origins: MLIR modülüne bir bölme işleminin kaynağıyla ilgili bilgilerin kaydedilip kaydedilmeyeceği. Bunlar, işlev girişlerindeki, çıkışlardaki, bölme kısıtlamalarındaki ve dağıtımdan önceki manuel hesaplamalardaki bölmelerdir.
  • -debug-edge-source-sharding: MLIR modülünde bir bölme işleminin uç kaynağıyla ilgili bilgilerin kaydedilip kaydedilmeyeceği. Bu operatör/sonuç, bazı işlem sonuçlarında parçalanmayı başlattı.
  • -propagation-strategy: Hangi faktör yayma stratejisinin kullanılacağı.

-sdy-basic-propagate

Temel bölümleme yayma algoritmasını çalıştırır.

Temel yayma algoritması, hiyerarşideki en düşük yayma stratejisidir. Çakışma çözümü yapmaz, bunun yerine tüm işlenenler ve sonuçlar arasında uyumlu olan eksenleri yayar.

Seçenekler:

  • -keep-sharding-rules: Mevcut ve oluşturulan op bölme kurallarını kullanmaya devam edilip edilmeyeceği.
  • -module-dump-directory: Hata ayıklama için yeniden yazılan modüllerin döküldüğü yer.
  • -conservative-propagation: Yayma sırasında bölünmüş eksenlere ve bölünemeyen bölme eksenlerine izin verilip verilmeyeceği.
  • -debug-sharding-origins: MLIR modülüne bir bölme işleminin kaynağıyla ilgili bilgilerin kaydedilip kaydedilmeyeceği. Bunlar, işlev girişlerindeki, çıkışlardaki, bölme kısıtlamalarındaki ve dağıtımdan önceki manuel hesaplamalardaki bölmelerdir.
  • -debug-edge-source-sharding: MLIR modülünde bir bölme işleminin uç kaynağıyla ilgili bilgilerin kaydedilip kaydedilmeyeceği. Bu operatör/sonuç, bazı işlem sonuçlarında parçalanmayı başlattı.

-sdy-op-priority-propagate

İşlem önceliği yayma algoritmasını çalıştırır.

Bir dizi işlem bulmacasına göre, iterasyonlarda bölme işlemlerini dağıtır. Her heuristik, belirli bir işlem için dağıtımın ileri, geri veya her iki yönde yapılıp yapılmayacağını belirler.

Bu değer, 0 op-priority değerinden başlar ve tüm op sezgileri tükenip program sabit bir noktaya ulaşana kadar artar.

p önceliği için tüm işlem sezgileri 0 <= i < p olarak değerlendirilir. BOTH > BACKWARD == FORWARD > NONE ile her işlem için en etkileyici yön seçilir. Bu iterasyon sırasında önce FORWARD/BACKWARD, ardından BACKWARD/FORWARD görülürse yön BOTH olur.

Bu dağıtım stratejisi, agresif dağıtım stratejisini genişletir. Bu, her işlem önceliği iterasyonunda tam agresif dağıtımın uygulandığı anlamına gelir (AggressivePropagationPass bölümüne bakın).

Seçenekler:

  • -keep-sharding-rules: Mevcut ve oluşturulan op bölme kurallarını kullanmaya devam edilip edilmeyeceği.
  • -module-dump-directory: Hata ayıklama için yeniden yazılan modüllerin döküldüğü yer.
  • -conservative-propagation: Yayma sırasında bölünmüş eksenlere ve bölünemeyen bölme eksenlerine izin verilip verilmeyeceği.
  • -debug-sharding-origins: MLIR modülüne bir bölme işleminin kaynağıyla ilgili bilgilerin kaydedilip kaydedilmeyeceği. Bunlar, işlev girişlerindeki, çıkışlardaki, bölme kısıtlamalarındaki ve dağıtımdan önceki manuel hesaplamalardaki bölmelerdir.
  • -debug-edge-source-sharding: MLIR modülünde bir bölme işleminin uç kaynağıyla ilgili bilgilerin kaydedilip kaydedilmeyeceği. Bu operatör/sonuç, bazı işlem sonuçlarında parçalanmayı başlattı.
  • -propagation-strategy: Hangi faktör yayma stratejisinin kullanılacağı.
  • -run-op-priority-propagation: İşlem önceliğiyle dağıtımın çalıştırılıp çalıştırılmayacağı (veya atlanıp atlanmayacağı).

-sdy-populate-op-sharding-rules

Tüm kayıtlı işlemleri OpShardingRuleAttr ile doldurur.

Tüm kayıtlı işlemleri OpShardingRuleAttr ile doldurur. Bu işlem, kayıtlı bölme kurallarında hata ayıklama/test etme için kullanılır. Yayma işlemi zaten bunu tam zamanında yapar ancak bu geçişte tüm işlemler aynı anda yapılır.

Seçenekler

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

-sdy-user-priority-propagate

Kullanıcı önceliği yayma algoritmasını çalıştırır.

Bölme işlemlerini, en yüksek öncelikten (en düşük sayı, genellikle p0) en düşük önceliğe (en yüksek sayı) doğru iterasyonlarda dağıtır. Diğer bir deyişle, i. iterasyonda yalnızca önceliği <=i olan boyut bölme işlemleri dağıtılır.

Bu dağıtım stratejisi, işlem önceliği dağıtım stratejisini genişletir. Bu, her kullanıcı önceliği iterasyonunda tam bir işlem önceliği dağıtımı uygulanacağı anlamına gelir (OpPriorityPropagationPass bölümüne bakın).

Seçenekler:

  • -keep-sharding-rules: Mevcut ve oluşturulan op bölme kurallarını kullanmaya devam edilip edilmeyeceği.
  • -module-dump-directory: Hata ayıklama için yeniden yazılan modüllerin döküldüğü yer.
  • -conservative-propagation: Yayma sırasında bölünmüş eksenlere ve bölünemeyen bölme eksenlerine izin verilip verilmeyeceği.
  • -debug-sharding-origins: MLIR modülüne bir bölme işleminin kaynağıyla ilgili bilgilerin kaydedilip kaydedilmeyeceği. Bunlar, işlev girişlerindeki, çıkışlardaki, bölme kısıtlamalarındaki ve dağıtımdan önceki manuel hesaplamalardaki bölmelerdir.
  • -debug-edge-source-sharding: MLIR modülünde bir bölme işleminin uç kaynağıyla ilgili bilgilerin kaydedilip kaydedilmeyeceği. Bu operatör/sonuç, bazı işlem sonuçlarında parçalanmayı başlattı.
  • -propagation-strategy: Hangi faktör yayma stratejisinin kullanılacağı.
  • -run-op-priority-propagation: İşlem önceliği dağıtımının çalıştırılıp çalıştırılmayacağı (veya atlanıp atlanmayacağı).