StableHLO की खास जानकारी से जुड़ी चेकलिस्ट

इस दस्तावेज़ में, हमने शर्तों में हुए बदलावों की समीक्षा करने के दिशा-निर्देशों के बारे में बताया है. फ़िलहाल, इन बदलावों में आम तौर पर, कई सोर्स में मौजूद कई चीज़ों की जांच करना शामिल है. इसलिए, इस दस्तावेज़ में उन सभी की खास जानकारी दी गई है, ताकि समीक्षाओं को आसान बनाया जा सके:

  1. देखें कि status.md के "खास जानकारी" कॉलम में "हां" लिखा हो.
  2. देखें कि सेक्शन का टाइटल, ODS में सेशन के यादगार पल से मेल खाता है या नहीं.
  3. देखें कि "सीमैंटिक" सेक्शन, XLA के ऑपरेशन सेमैंटिक से मेल खाता है या नहीं.
  4. देखें कि क्या "इनपुट" और "आउटपुट" सेक्शन हैं:
    1. ODS वाले आइटम की सूची बनाएं.
    2. HloInstruction::CreateFromProto जैसे आइटम की सूची बनाएं.
    3. ओडीएस की तरह ही ऑर्डर किए जाते हैं.
    4. अगर कुछ मेल नहीं खाते हैं, तो देखें कि संबंधित टिकट मौजूद हैं.
  5. देखें कि "सीमाएं" सेक्शन:
    1. XLA के shape_inference.cc से मेल खाता है.
    2. XLA के hlo_verifier.cc से मेल खाता है.
    3. ODS से मैच करता है.
    4. StablehloOps.cpp से मेल खाता है.
    5. अगर कुछ मेल नहीं खाते हैं, तो देखें कि संबंधित टिकट मौजूद हैं. उन सभी टिकट को स्पेसिफ़िकेशन में, ज़्यादा से ज़्यादा सटीक जगहों पर लिंक करें (उदाहरण के लिए, अगर कोई टिकट किसी कंस्ट्रेंट के बारे में है, जिसे लागू नहीं किया गया है, तो टिकट को उस कंस्ट्रेंट में ही लिंक करें).
    6. अगर ODS और StablehloOps.cpp से जुड़े हिस्से, स्पेसिफ़िकेशन से मेल खाते हैं, तो पक्का करें कि status.md में "पुष्टि करें" और "टाइप अनुमान" कॉलम में, "हां" दिखे.
  6. देखें कि क्या "उदाहरण" सेक्शन:
    1. इसमें सिर्फ़ एक उदाहरण है. (आने वाले समय में, हम StableHLO अनुवाद करने वाले टेस्ट सुइट के और उदाहरण लिंक करेंगे).
    2. कोड उदाहरणों पर stablehlo-opt चलाकर, मान्य MLIR सिंटैक्स का इस्तेमाल करता है.
    3. सामान्य MLIR सिंटैक्स का इस्तेमाल किया जाता है, जिसे stablehlo-opt -mlir-print-op-generic चलाकर हासिल किया जा सकता है. प्रिटीप्रिंटर के बदलावों से जुड़े स्पेसिफ़िकेशन में, बदलाव से बचने के लिए, हम स्पेसिफ़िकेशन में सामान्य सिंटैक्स का इस्तेमाल करते हैं.
  7. देखें कि ऑपरेटर के ODS में description:
    1. इसमें स्पेसिफ़िकेशन का पहला वाक्य शामिल है.
    2. इसके बाद, स्पेसिफ़िकेशन के सही सेक्शन से लिंक किया जाता है.
    3. इसके बाद, उसी उदाहरण का इस्तेमाल करता है जो स्पेसिफ़िकेशन में है. हालांकि, इसके लिए सुंदर सिंटैक्स का इस्तेमाल किया जाता है, जिसे stablehlo-opt चलाकर हासिल किया जा सकता है.
  8. पक्का करें कि पुष्टि करने और टाइप के अनुमान से जुड़ी पाबंदियों से जुड़ी फ़ाइलें, यहां दिए गए दिशा-निर्देशों का पालन करती हों:
    1. StablehloOps.td के लिए दिशा-निर्देश #1 का पालन करें.
    2. TypeInference.cpp और StablehloOps.cpp के लिए दिशा-निर्देश #2 का पालन करें.
    3. ops_stablehlo.mlir के लिए, दिशा-निर्देश #5 का पालन करें.
    4. infer_stablehlo.mlir के लिए #6 दिशा-निर्देश का पालन करें.