StableHLO spesifikasyonu kontrol listesi

Bu dokümanda, bu spesifikasyonda yapılan değişiklikleri incelemeye yönelik yönergeleri özetleyeceğiz. Şu anda bu değişiklikler, genelde birden çok kaynakta birden çok öğenin kontrol edilmesini içermektedir. Bu nedenle, bu belgede, incelemeleri basitleştirmek için bunların tümü özetlenmektedir:

  1. status.md dosyasındaki "Spesifikasyon" sütununda "evet" ifadesinin bulunduğundan emin olun.
  2. Bölüm başlığının ODS'deki operasyon anımsatıcısıyla eşleşip eşleşmediğini kontrol edin.
  3. "Semantics" bölümünün XLA'nın İşlem Semantiği ile eşleşip eşleşmediğini kontrol edin.
  4. "Girişler" ve "Çıktılar" bölümlerinin:
    1. ODS ile aynı öğeleri listeleyin.
    2. HloTeachion::CreateFromProto ile aynı öğeleri listeleyin.
    3. Tam olarak ODS gibi sıralanır.
    4. Herhangi bir uyuşmazlık varsa ilgili biletler olup olmadığını kontrol edin.
  5. "Kısıtlamalar" bölümünde şunları kontrol edin:
    1. XLA'nın shape_inference.cc dosyasıyla eşleşir.
    2. XLA'nın hlo_verifier.cc dosyasıyla eşleşir.
    3. ODS ile eşleşiyor.
    4. StablehloOps.cpp ile eşleşir.
    5. Herhangi bir uyuşmazlık varsa ilgili biletler olup olmadığını kontrol edin. Spesifikasyondaki tüm bu biletleri mümkün olduğunca ayrıntılı konumlara bağlayın (ör. bir bilet uygulanmamış bir kısıtlamayla ilgiliyse bileti doğrudan bu kısıtlamada bağlayın).
    6. ODS ve StablehloOps.cpp'nin karşılık gelen bölümleri spesifikasyonla eşleşiyorsa status.md dosyasındaki "Doğrulama" ve "Tür Çıkarımı" sütunlarında "evet" ifadesinin bulunduğundan emin olun.
  6. "Örnekler" bölümünde şunları kontrol edin:
    1. Yalnızca bir örnek var. (Gelecekte StableHLO çevirmen test paketinden daha fazla örneğin bağlantısı vereceğiz).
    2. Kod örneklerinde stablehlo-opt çalıştırarak geçerli MLIR söz dizimi kullanır.
    3. stablehlo-opt -mlir-print-op-generic çalıştırılarak elde edilebilecek genel MLIR söz dizimi kullanılır (güzel yazıcı değişiklikleriyle ilgili spesifikasyonu değiştirmek zorunda kalmamak için spesifikasyonda genel söz dizimine uyarız).
  7. Operasyonun ODS'sindeki description şunları kontrol edin:
    1. Spesifikasyonun ilk cümlesini içerir.
    2. Ardından spesifikasyonun ilgili bölümüne bağlantı verilir.
    3. Ardından spesifikasyon ile aynı örneği kullanır ancak stablehlo-opt komutunu çalıştırarak elde edilebilecek olan güzel söz dizimi aracılığıyla kullanılır.
  8. Doğrulama ve tür çıkarımı kısıtlamalarının uygulanmasıyla ilgili dosyaların aşağıda belirtilen kurallara uyduğundan emin olun:
    1. StablehloOps.td için hazırlanan 1 numaralı kuralı uygulayın.
    2. TypeInference.cpp ve StablehloOps.cpp ile ilgili 2. kuralı uygulayın.
    3. ops_stablehlo.mlir için 5. yönergeyi uygulayın.
    4. infer_stablehlo.mlir için 6. yönergeyi uygulayın.