'mpmd' Dialect

कार्रवाइयां

mpmd.assign (mpmd::AssignOp)

असाइन ऑपरेशन

सिंटैक्स:

operation ::= `mpmd.assign` attr-dict $tensor `:` functional-type(operands, results)

यह फ़ंक्शन, किसी मेश में पूरी तरह से रेप्लिकेट किए गए लोकल टेंसर को असाइन करता है.

यह एक अस्थायी ऑप है. इसे तब लागू किया जाता है, जब jax ऑप को कम किया जाता है, ताकि लोकल टाइप से मेश टाइप पर स्विच किया जा सके. जब फ़ंक्शनल ऑप के इनपुट और नतीजे मेश टेंसर बन जाते हैं, तब इंपोर्ट के दौरान इन ऑप को हटा दिया जाएगा.

नतीजे के टाइप का मेश नाम, टोपोलॉजी में मौजूद मेश से मेल खाना चाहिए. साथ ही, इसका ग्लोबल टाइप, ऑपरेंड टाइप के जैसा होना चाहिए.

असाइन किए गए ऑप का ऑरिजिन, मेश का ऑरिजिन होता है. जैसे, named_computation, मेश इन्फ़रेंस वगैरह.

विशेषताएं: AlwaysSpeculatableImplTrait, HasParent<::mlir::func::FuncOp, ForOp>

इंटरफ़ेस: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

असर: MemoryEffects::Effect{}

विशेषताएं:

एट्रिब्यूटMLIR टाइपब्यौरा
origin::mlir::StringAttrस्ट्रिंग एट्रिब्यूट

ऑपरेंड:

ओपेरैंड ब्यौरा
tensor किसी भी नॉन-टोकन टाइप की वैल्यू का टेंसर

नतीजे:

नतीजा ब्यौरा
result मेश टेंसर टाइप

mpmd.broadcast (mpmd::BroadcastOp)

ब्रॉडकास्ट ऑपरेशन

सिंटैक्स:

operation ::= `mpmd.broadcast` attr-dict $tensor `:` type($tensor)

इस विकल्प की मदद से, किसी भी मेश में इस्तेमाल किए गए टेंसर को ट्रांसफ़र (या कॉपी) किया जा सकता है. ट्रांसफ़र किए जाने पर, ट्रांसफ़र का ऑरिजिन, ऑपरेंड की मौजूदा जगह होती है.

विशेषताएं: AlwaysSpeculatableImplTrait, SameOperandsAndResultType

इंटरफ़ेस: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

असर: MemoryEffects::Effect{}

ऑपरेंड:

ओपेरैंड ब्यौरा
tensor किसी भी नॉन-टोकन टाइप की वैल्यू का टेंसर

नतीजे:

नतीजा ब्यौरा
result किसी भी नॉन-टोकन टाइप की वैल्यू का टेंसर

mpmd.call (mpmd::CallOp)

एमपीएमडी के हिसाब से कॉल फ़ंक्शन

सिंटैक्स:

operation ::= `mpmd.call` $callee `(` $tensors `)` attr-dict `:` functional-type(operands, results)

फ़ंक्शन कॉल करने की कार्रवाई. यह फ़ंक्शन, लूप के मुख्य हिस्से को फ़ंक्शन के एलान में रैप करने के लिए उपयोगी है, ताकि कोड का साइज़ कम किया जा सके. उदाहरण के लिए.

इंटरफ़ेस: ArgAndResultAttrsOpInterface, CallOpInterface, SymbolUserOpInterface

विशेषताएं:

एट्रिब्यूटMLIR टाइपब्यौरा
callee::mlir::FlatSymbolRefAttrफ़्लैट सिंबल का रेफ़रंस एट्रिब्यूट

ऑपरेंड:

ओपेरैंड ब्यौरा
tensors किसी भी नॉन-टोकन टाइप की वैल्यू या मेश टेंसर टाइप का वैरिएडिक

नतीजे:

नतीजा ब्यौरा
«unnamed» किसी भी नॉन-टोकन टाइप की वैल्यू या मेश टेंसर टाइप का वैरिएडिक

mpmd.for (mpmd::ForOp)

ऑपरेटर के लिए

यह फ़ंक्शन, तय की गई संख्या में दोहराव के लिए बॉडी फ़ंक्शन को लागू करने का नतीजा दिखाता है. साथ ही, बॉडी में दोहराव का इंडेक्स उपलब्ध होता है.

अनरोल फ़ैक्टर एक वैकल्पिक फ़ैक्टर है. यह फ़ैक्टर, पुनरावृति की संख्या को विभाजित करता है. इसका इस्तेमाल, अनरोल फ़ैक्टर के हिसाब से ऑप के मुख्य हिस्से को अनरोल करने के लिए किया जा सकता है. उदाहरण के लिए, अनरोल फ़ैक्टर N के लिए, मुख्य हिस्से को N कॉपी बनाने के लिए दोहराया जाता है. साथ ही, पुनरावृति की संख्या को 1/N के फ़ैक्टर से कम किया जाता है. पहली कॉपी को छोड़कर, हर कॉपी में ब्लॉक आर्ग्युमेंट के बजाय पिछली कॉपी के नतीजों का इस्तेमाल किया जाता है. साथ ही, हर कॉपी के बाद, इटरेशन इंडेक्स को अनरोल फ़ैक्टर से गुणा किया जाता है और उसमें एक की बढ़ोतरी की जाती है.

for ऑपरेटर, किसी भी टाइप को स्वीकार और वापस कर सकता है. हालांकि, इन सभी का TypeID एक जैसा होना चाहिए. उदाहरण के लिए, सभी टेंसर टाइप या सभी MPMD मेश टाइप वगैरह. इससे हमें अलग-अलग लेवल पर ऑपरेटर का इस्तेमाल करने की अनुमति मिलती है. साथ ही, हम ऑपरेटर के लागू करने और ट्रांसफ़ॉर्मेशन को शेयर कर सकते हैं.

ट्रेट: HLO_PairwiseSameOperandAndResultType, RecursiveMemoryEffects, RecursivelySpeculatableImplTrait, SingleBlockImplicitTerminator<ReturnOp>, SingleBlock

इंटरफ़ेस: ConditionallySpeculatable, LoopLikeOpInterface, OpAsmOpInterface, ShardableDataFlowOpInterface

विशेषताएं:

एट्रिब्यूटMLIR टाइपब्यौरा
iterations::mlir::IntegerAttrबिना हस्ताक्षर वाला 32-बिट पूर्णांक एट्रिब्यूट
unroll_factor::mlir::IntegerAttrबिना हस्ताक्षर वाला 32-बिट पूर्णांक एट्रिब्यूट

ऑपरेंड:

ओपेरैंड ब्यौरा
tensors किसी भी नॉन-टोकन टाइप का वैरिएडिक

नतीजे:

नतीजा ब्यौरा
results किसी भी नॉन-टोकन टाइप का वैरिएडिक

mpmd.fragment (mpmd::FragmentOp)

फ़्रैगमेंट ऑपरेशन

यह फ़ंक्शन, किसी कंप्यूटेशन यानी ऑपरेशनों के ब्लॉक को MPMD टोपोलॉजी में मौजूद किसी खास मेश को असाइन करता है. इस मेश को SPMD प्रोग्राम के अलग-अलग फ़्रैगमेंट के तौर पर एक्ज़ीक्यूट किया जाता है.

फ़्रैगमेंट सिर्फ़ उन मेश टेंसर को लेता और दिखाता है जिन्हें फ़्रैगमेंट के तौर पर एक ही मेश असाइन किया गया है.

फ़्रैगमेंट के मेश का नाम, टोपोलॉजी में मौजूद मेश से मेल खाना चाहिए.

फ़्रैगमेंट में ऑरिजिन की सूची शामिल होती है.इसका मतलब है कि इसमें ओरिजनल named_computations के बारे में जानकारी देने वाला मेटाडेटा होता है. साथ ही, इसमें staged_id होता है.इसे iff तब तय किया जाता है, जब यह उपयोगकर्ता के तय किए गए फ़्रैगमेंट के तौर पर होता है. इसका मतलब है कि इसमें ऑरिजिन की सूची खाली नहीं होती. वैकल्पिक in_shardings, फ़्रैगमेंट के ब्लॉक आर्ग्युमेंट की शार्डिंग के बारे में बताता है. ये ब्लॉक आर्ग्युमेंट, ऑपरेंड से मेल खाते हैं. ज़रूरी नहीं है कि out_shardings में नतीजों के शार्डिंग की जानकारी दी जाए.

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

ट्रेट: HasParent<::mlir::func::FuncOp, ForOp>, IsolatedFromAbove, RecursiveMemoryEffects, RecursivelySpeculatableImplTrait, SingleBlockImplicitTerminator<ReturnOp>, SingleBlock

इंटरफ़ेस: ConditionallySpeculatable, ShardableDataFlowOpInterface

विशेषताएं:

एट्रिब्यूटMLIR टाइपब्यौरा
origin::mlir::ArrayAttrशुरुआत की जगह की जानकारी का कलेक्शन
mesh_name::mlir::StringAttrस्ट्रिंग एट्रिब्यूट
stage_id::mlir::IntegerAttr64-बिट का बिना साइन वाला पूर्णांक एट्रिब्यूट
in_shardings::mlir::sdy::TensorShardingPerValueAttrकिसी ऑप के हर ऑपरेंड/नतीजे के हिसाब से टेंसर शार्डिंग
out_shardings::mlir::sdy::TensorShardingPerValueAttrकिसी ऑप के हर ऑपरेंड/नतीजे के हिसाब से टेंसर शार्डिंग

ऑपरेंड:

ओपेरैंड ब्यौरा
inputs मेश टेंसर टाइप या टोकन का वैरिएडिक

नतीजे:

नतीजा ब्यौरा
results मेश टेंसर टाइप या टोकन का वैरिएडिक

mpmd.fragment_call (mpmd::FragmentCallOp)

फ़्रैगमेंट कॉल ऑपरेशन

यह फ़ंक्शन को कॉल करने के बारे में बताता है. इस फ़ंक्शन में, MPMD फ़्रैगमेंट बॉडी होती है. इसका मतलब है कि MPMD टोपोलॉजी में किसी खास मेश को असाइन किया गया कंप्यूटेशन. इसे अलग-अलग SPMD प्रोग्राम फ़्रैगमेंट के तौर पर एक्ज़ीक्यूट किया जाता है.

फ़्रैगमेंट के मेश का नाम, फ़ंक्शन को शामिल करने वाले फ़ंक्शन की टोपोलॉजी में मौजूद मेश से मेल खाना चाहिए. साथ ही, मेश का आकार, कॉल किए गए फ़ंक्शन के मेश के आकार से मेल खाना चाहिए.

ऑरिजिन, उपयोगकर्ता के नाम वाली उन कंप्यूटेशन के बारे में बताता है जिन्होंने इस फ़्रैगमेंट कॉल में योगदान दिया है. उदाहरण के लिए, मर्ज करने के ज़रिए.

कॉल किए गए फ़ंक्शन के इनपुट और नतीजे के टाइप, इस ऑप के ऑपरेंड और नतीजों के संबंधित मेश टेंसर के लोकल टेंसर टाइप होने चाहिए.

उदाहरण:

%2 = mpmd.fragment_call<mesh="m1",> origin=[] @my_fragment(%0, %1) :
  (m<esh>_tensor..., m<esh>_te>nsor...) - m<esh>_tensor...

विशेषताएं: HasParent<::mlir::func::FuncOp>, MemRefsNormalizable

इंटरफ़ेस: ArgAndResultAttrsOpInterface, CallOpInterface, SymbolUserOpInterface

विशेषताएं:

एट्रिब्यूटMLIR टाइपब्यौरा
origin::mlir::ArrayAttrशुरुआत की जगह की जानकारी का कलेक्शन
mesh_name::mlir::StringAttrस्ट्रिंग एट्रिब्यूट
callee::mlir::FlatSymbolRefAttrफ़्लैट सिंबल का रेफ़रंस एट्रिब्यूट

ऑपरेंड:

ओपेरैंड ब्यौरा
tensors मेश टेंसर टाइप का वैरिएडिक

नतीजे:

नतीजा ब्यौरा
«unnamed» मेश टेंसर टाइप का वैरिएडिक

mpmd.named_computation (mpmd::NamedComputationOp)

नाम वाले स्कोप का ऑपरेशन

यह एट्रिब्यूट, कंप्यूटेशन यानी कि ऑपरेशनों के ब्लॉक को ग्रुप करता है. साथ ही, इसे नाम देता है और UserOrigin एट्रिब्यूट के ज़रिए ट्रांसपोज़ की संख्या देता है. इस NamedComputation का इस्तेमाल, MPMD में कंप्यूटेशन को मेश असाइन करने या ऑप्टिमाइज़ेशन के लिए किया जा सकता है.

ट्रांसपोज़ काउंट (डिफ़ॉल्ट=0) से पता चलता है कि नाम वाली कंप्यूटेशन को JAX AD ट्रांसपोज़ ट्रांसफ़ॉर्मेशन की किसी संख्या से बनाया गया है या नहीं.

ऑपरेशन के क्षेत्र में कोई भी फ़्री वैरिएबल नहीं होना चाहिए. साथ ही, क्षेत्र में हर ब्लॉक आर्ग्युमेंट और दिखाई गई वैल्यू का टाइप, ऑपरेशन के इनपुट और रिटर्न टाइप के टाइप जैसा ही होना चाहिए.

ट्रेट: IsolatedFromAbove, RecursiveMemoryEffects, RecursivelySpeculatableImplTrait, SingleBlockImplicitTerminator<ReturnOp>, SingleBlock

इंटरफ़ेस: ConditionallySpeculatable

विशेषताएं:

एट्रिब्यूटMLIR टाइपब्यौरा
origin::mlir::mpmd::UserOriginAttrउपयोगकर्ता के तय किए गए कंप्यूटेशन का ओरिजन.

ऑपरेंड:

ओपेरैंड ब्यौरा
tensors 4/6/8/16/32/64-बिट फ़्लोट या बूल या 2/4/8/16/32/64-बिट पूर्णांक या 32/64-बिट फ़्लोट एलिमेंट या हर-टेंसर पूर्णांक क्वांटीकृत वैल्यू या टोकन के साथ रैंक किए गए टेंसर का वैरिएडिक

नतीजे:

नतीजा ब्यौरा
results 4/6/8/16/32/64-बिट फ़्लोट या बूलियन या 2/4/8/16/32/64-बिट पूर्णांक या 32/64-बिट फ़्लोट एलिमेंट या हर-टेंसर पूर्णांक क्वांटीकृत वैल्यू या टोकन वाले कॉम्प्लेक्स टाइप के रैंक किए गए टेंसर का वैरिएडिक

mpmd.named_tensor (mpmd::NamedTensorOp)

किसी मेश को कोई टेंसर असाइन करना

सिंटैक्स:

operation ::= `mpmd.named_tensor` $tensor `name````=```$name attr-dict `:` type($result)

यह एक आइडेंटिटी ऑप है, जो किसी टेंसर के नतीजे को दिए गए नाम से जोड़ता है. इस NamedTensor का इस्तेमाल, MPMD में किसी टेंसर को मेश असाइन करने के लिए किया जा सकता है.

विशेषताएं: AlwaysSpeculatableImplTrait, SameOperandsAndResultType

इंटरफ़ेस: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

असर: MemoryEffects::Effect{}

विशेषताएं:

एट्रिब्यूटMLIR टाइपब्यौरा
name::mlir::StringAttrस्ट्रिंग एट्रिब्यूट

ऑपरेंड:

ओपेरैंड ब्यौरा
tensor किसी भी नॉन-टोकन टाइप की वैल्यू का टेंसर

नतीजे:

नतीजा ब्यौरा
result किसी भी नॉन-टोकन टाइप की वैल्यू का टेंसर

mpmd.reduce (mpmd::ReduceOp)

क्रॉस-मेश रिड्यूस ऑपरेशन

सिंटैक्स:

operation ::= `mpmd.reduce` `` $reduction attr-dict $tensors `:` functional-type(operands, results)

इस सुविधा की मदद से, अलग-अलग मेश में किसी टेंसर को कम किया जा सकता है. इसके बाद, इसे उस जगह पर ब्रॉडकास्ट किया जा सकता है जहां इसका इस्तेमाल करना है.

विशेषताएं: AlwaysSpeculatableImplTrait, SameOperandsAndResultType

इंटरफ़ेस: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

असर: MemoryEffects::Effect{}

विशेषताएं:

एट्रिब्यूटMLIR टाइपब्यौरा
reduction::mlir::mpmd::ReductionAttrइससे कमी का पता चलता है.

ऑपरेंड:

ओपेरैंड ब्यौरा
tensors किसी भी नॉन-टोकन टाइप की वैल्यू के टेंसर का वैरिएडिक

नतीजे:

नतीजा ब्यौरा
result किसी भी नॉन-टोकन टाइप की वैल्यू का टेंसर

mpmd.return (mpmd::ReturnOp)

mpmd.return ऑपरेशन, mpmd से जुड़े उन क्षेत्रों को खत्म कर देता है जो क्षेत्र के हिसाब से काम करते हैं. यह वैरिएडिक है: यह वैल्यू की एक सूची को आर्ग्युमेंट के तौर पर लेता है.AnyTensor

सिंटैक्स:

operation ::= `mpmd.return` attr-dict $results (`:` type($results)^)?

विशेषताएं: AlwaysSpeculatableImplTrait, Terminator

इंटरफ़ेस: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

असर: MemoryEffects::Effect{}

ऑपरेंड:

ओपेरैंड ब्यौरा
results किसी भी नॉन-टोकन टाइप का वैरिएडिक

mpmd.transfer (mpmd::TransferOp)

ट्रांसफ़र ऑपरेशन

सिंटैक्स:

operation ::= `mpmd.transfer` attr-dict $tensor `:` functional-type(operands, results)

यह फ़ंक्शन, डिस्ट्रिब्यूट किए गए किसी टेंसर को एक मेश से दूसरे मेश में ट्रांसफ़र करता है.

ऑपरेंड और नतीजे के टाइप के मेश के नाम, टोपोलॉजी में मौजूद मेश से मेल खाने चाहिए. साथ ही, उनके ग्लोबल टाइप एक जैसे होने चाहिए.

विशेषताएं: AlwaysSpeculatableImplTrait, HasParent<::mlir::func::FuncOp>

इंटरफ़ेस: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), ShardingRuleOpInterface

असर: MemoryEffects::Effect{}

ऑपरेंड:

ओपेरैंड ब्यौरा
tensor मेश टेंसर टाइप

नतीजे:

नतीजा ब्यौरा
result मेश टेंसर टाइप

mpmd.unassign (mpmd::UnassignOp)

अनअसाइन करने की कार्रवाई

सिंटैक्स:

operation ::= `mpmd.unassign` attr-dict $tensor `:` functional-type(operands, results)

यह फ़ंक्शन, किसी मेश से पूरी तरह से रेप्लिकेट किए गए टेंसर को अनअसाइन करता है.

यह एक अस्थायी ऑप है. इसे तब लागू किया जाता है, जब jax ऑप को कम किया जाता है, ताकि लोकल टाइप से मेश टाइप पर स्विच किया जा सके. जब फ़ंक्शनल ऑप के इनपुट और नतीजे मेश टेंसर बन जाते हैं, तब इंपोर्ट के दौरान इन ऑप को हटा दिया जाएगा.

ऑपरेंड टाइप के मेश का नाम, टोपोलॉजी में मौजूद मेश से मेल खाना चाहिए. साथ ही, इसका ग्लोबल टाइप, नतीजे के टाइप के जैसा होना चाहिए.

विशेषताएं: AlwaysSpeculatableImplTrait, HasParent<::mlir::func::FuncOp, ForOp>, InferTensorType

इंटरफ़ेस: ConditionallySpeculatable, InferShapedTypeOpInterface, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

असर: MemoryEffects::Effect{}

विशेषताएं:

एट्रिब्यूटMLIR टाइपब्यौरा
origin::mlir::StringAttrस्ट्रिंग एट्रिब्यूट

ऑपरेंड:

ओपेरैंड ब्यौरा
tensor मेश टेंसर टाइप

नतीजे:

नतीजा ब्यौरा
result किसी भी नॉन-टोकन टाइप की वैल्यू का टेंसर

विशेषताएं

MeshWithOriginsAttr

इसके मूल सिद्धांतों के साथ तालमेल बिठाना.

सिंटैक्स:

#mpmd.mesh_with_origins<
  ::llvm::StringRef,   # mesh_name
  ::llvm::ArrayRef<OriginAttr>   # origins
>

पैरामीटर:

पैरामीटर C++ टाइप ब्यौरा
mesh_name ::llvm::StringRef mesh_name
ओरिजन ::llvm::ArrayRef<OriginAttr> ओरिजन

MeshesWithOriginsAttr

ऑरिजिन के साथ मेश की सूची.

सिंटैक्स:

#mpmd.meshes_with_origins<
  ::llvm::ArrayRef<MeshWithOriginsAttr>   # value
>

पैरामीटर:

पैरामीटर C++ टाइप ब्यौरा
मान ::llvm::ArrayRef<MeshWithOriginsAttr>

NamedMeshAttr

नाम और मेश वाला एक पेयर.

सिंटैक्स:

#mpmd.named_mesh<
  ::llvm::StringRef,   # name
  sdy::MeshAttr   # mesh
>

पैरामीटर:

पैरामीटर C++ टाइप ब्यौरा
नाम ::llvm::StringRef नाम
मेश sdy::MeshAttr मेश

OriginAttr

मेश असाइनमेंट का ऑरिजिन.

सिंटैक्स:

#mpmd.origin<
  ::llvm::StringRef   # origin_label
>

मेश असाइनमेंट का ऑरिजिन.

origin_label, ऑरिजिन के लिए ऐसा लेबल है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. इसका इस्तेमाल डीबग करने के लिए किया जाता है.

पैरामीटर:

पैरामीटर C++ टाइप ब्यौरा
origin_label ::llvm::StringRef origin_label

ReductionAttr

इससे कमी का पता चलता है.

सिंटैक्स:

#mpmd.reduction<
  `none` | `add` | `max` | `min` | `mul` | `or` | `and`   # reduction_type
>

पैरामीटर:

पैरामीटर C++ टाइप ब्यौरा
reduction_type ::mlir::mpmd::ReductionType ReductionType टाइप की सूची

TopologyAttr

नाम वाली मेश की टोपोलॉजी.

सिंटैक्स:

#mpmd.topology<
  ::llvm::ArrayRef<NamedMeshAttr>   # meshes
>

पैरामीटर:

पैरामीटर C++ टाइप ब्यौरा
मेश ::llvm::ArrayRef<NamedMeshAttr> टोपोलॉजी मेश

UserOriginAttr

उपयोगकर्ता के तय किए गए कंप्यूटेशन का सोर्स.

सिंटैक्स:

#mpmd.user_origin<
  ::mlir::StringAttr,   # userName
  int64_t   # transposeCount
>

पैरामीटर:

पैरामीटर C++ टाइप ब्यौरा
userName ::mlir::StringAttr
transposeCount int64_t

टाइप

MeshTensorType

मेश टेंसर टाइप

यह प्रोग्राम के एमपीएमडी टोपोलॉजी ऑफ़ मेश में, किसी खास एसपीएमडी मेश को RankedTensorType असाइन करता है. टाइप में एक वैकल्पिक शार्डिंग होती है. इससे यह तय होता है कि एसपीएमडी मेश के हिसाब से, टेंसर को कैसे शार्ड किया जाता है. अगर शार्डिंग मौजूद नहीं है, तो टेंसर को पूरी तरह से दोहराया जाता है.

पैरामीटर:

पैरामीटर C++ टाइप ब्यौरा
mesh_name ::llvm::StringRef मेश नेटवर्क का नाम
ranked_tensor_type ::mlir::RankedTensorType रैंक किया गया टेंसर टाइप
शार्डिंग ::mlir::sdy::TensorShardingAttr
memory_kind ::mlir::StringAttr

Enums

ReductionType

किराये में छूट का टाइप एट्रिब्यूट

केस:

चिह्न मान स्ट्रिंग
kNone 0 कोई नहीं
kAdd 1 जोड़ें
kMax 2 अधिकतम
kMin 3 कम से कम
kMul 4 mul
kOr 5 या
kAnd 6 और

EdgeNodeType

Edge node type enum

केस:

चिह्न मान स्ट्रिंग
OPERAND 0 ऑपरेंड
RESULT 1 नतीजा

PropagationDirection

Propagation direction enum

केस:

चिह्न मान स्ट्रिंग
कोई नहीं 0 कोई नहीं
FORWARD 1 FORWARD
BACKWARD 2 BACKWARD
दोनों 3 दोनों

ReductionOp

Reduction op enum

केस:

चिह्न मान स्ट्रिंग
SUM 0 सम करें
MAX 1 अधिकतम
MIN 2 कम से कम