本文總結了查看規範變更的指南。目前,這些變更通常需要檢查多個來源的多項內容,因此本文件歸納這些項目以簡化審查作業:
- 檢查 status.md 的「規格」欄是否顯示「是」。
- 檢查區段標題是否與 ODS 中該運算的記憶法相符。
- 檢查「語意」部分是否與 XLA 的運算語意相符。
- 檢查「輸入」和「輸出」部分是否顯示:
- 列出與 ODS 相同的項目。
- 列出與 HloInstruction::CreateFromProto 相同的項目。
- 下單方式與 ODS 完全相同。
- 如果出現不相符的問題,請檢查是否有對應的票券。
- 檢查「限制」部分是否設定:
- 比對 XLA 的 shape_inference.cc。
- 與 XLA 的 hlo_verifier.cc 相符。
- 比對 ODS。
- 與 StablehloOps.cpp 相符。
- 如果出現不相符的問題,請檢查是否有對應的票券。請盡可能在規格中連結所有票券,而地點必須盡可能具體。舉例來說,如果票券與尚未實作的限制有關,請直接在該限制中連結支援單。
- 如果 ODS 和 StablehloOps.cpp 的對應部分符合規格,請檢查 status.md 中的「Verification」和「Type Inference」欄是否顯示為「yes」。
- 查看「示例」部分是否出現:
- 只有一個範例。(日後我們會連結至 StableHLO 解譯工具測試套件中的更多範例)。
- 在程式碼範例中執行
stablehlo-opt
,即可使用有效的 MLIR 語法。 - 使用透過執行
stablehlo-opt -mlir-print-op-generic
取得的一般 MLIR 語法 (我們會依循規格中的通用語法,避免變更美化工具變更的規格)。
- 檢查運算 ODS 中的
description
:- 包含規格的第一個句子。
- 然後連結至規格的對應章節。
- 然後,使用和規格相同的範例,但可透過執行
stablehlo-opt
取得的精美語法。
- 確認與實作驗證和類型推論限制相關的檔案,符合下列規範:
- 請遵循 StablehloOps.td 的指南 1。
- 請遵循 TypeInference.cpp 和 StablehloOps.cpp 的指南 #2。
- 請按照 #5 的 ops_stablehlo.mlir 指南操作。
- 請按照 #6 的 infer_stablehlo.mlir 操作。