'mpmd' উপভাষা

অপারেশন

mpmd.assign (mpmd::AssignOp)

অপারেশন বরাদ্দ করুন

সিনট্যাক্স:

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

একটি স্থানীয় টেনসরকে একটি জালের মধ্যে সম্পূর্ণরূপে প্রতিলিপিকৃত জালের জন্য বরাদ্দ করে৷

এটি একটি অস্থায়ী অপস যা jax ops কমানোর সময় প্রবর্তিত হয়, স্থানীয় প্রকার থেকে জাল প্রকারে যাওয়ার জন্য। এই অপ্সগুলি আমদানির সময় বাদ দেওয়া হবে, যখন ফাঙ্ক অপের ইনপুট এবং ফলাফলগুলি জাল টেনসর হয়ে যাবে৷

ফলাফলের প্রকারের জালের নাম টপোলজিতে একটি জালের সাথে মিলিত হওয়া উচিত এবং এর গ্লোবাল টাইপটি অপারেন্ড প্রকারের সাথে অভিন্ন হওয়া উচিত।

assign op এর উৎপত্তি হল জালের উৎপত্তি, যেমন name_computation, mesh inference, ইত্যাদি।

বৈশিষ্ট্য: 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 যে কোনো ধরনের মান বা জাল টেনসর ধরনের টেনসরের বৈচিত্র্যময়

ফলাফল:

ফলাফল বর্ণনা
"নামহীন" যে কোনো ধরনের মান বা জাল টেনসর ধরনের টেনসরের বৈচিত্র্যময়

mpmd.for (mpmd::ForOp)

অপারেটরের জন্য

একটি নির্দিষ্ট সংখ্যক পুনরাবৃত্তির জন্য একটি বডি ফাংশন কার্যকর করার ফলাফল প্রদান করে, যার সাথে বডিতে উপলব্ধ পুনরাবৃত্তি সূচক রয়েছে৷

একটি ঐচ্ছিক আনরোল ফ্যাক্টর, যা অবশ্যই পুনরাবৃত্তির সংখ্যাকে ভাগ করতে হবে, সেই ফ্যাক্টর দ্বারা অপের বডি আনরোল করার জন্য নির্দিষ্ট করা যেতে পারে, অর্থাৎ আনরোল ফ্যাক্টর N এর জন্য, বডিটি N কপি তৈরি করতে প্রতিলিপি করা হয় এবং পুনরাবৃত্তির সংখ্যা 1/N এর একটি ফ্যাক্টর দ্বারা হ্রাস করা হয়। প্রথমটি ব্যতীত প্রতিটি অনুলিপি ব্লক আর্গুমেন্টের পরিবর্তে পূর্ববর্তী অনুলিপির ফলাফল ব্যবহার করে এবং পুনরাবৃত্তি সূচকটি আনরোল ফ্যাক্টর দ্বারা গুণিত হয় এবং প্রতিটি অনুলিপির পরে বৃদ্ধি পায়।

A 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 প্রোগ্রাম খণ্ড হিসাবে কার্যকর করার উদ্দেশ্যে করা হয়।

খণ্ডটি কেবলমাত্র মেশ টেনসরগুলি গ্রহণ করে এবং ফেরত দেয় যা টুকরোটির মতো একই জালের সাথে নির্ধারিত হয়।

খণ্ডটির জাল নামটি টপোলজিতে একটি জালের সাথে সঙ্গতিপূর্ণ হওয়া উচিত।

এই খণ্ডটিতে উৎপত্তির একটি তালিকা রয়েছে, অর্থাত্‍, তথ্য সহ মেটাডেটা যা এই খণ্ডটি তৈরি করেছে, এবং একটি স্টেজ_আইডি সংজ্ঞায়িত করা হয়েছে যদি এটি একটি ব্যবহারকারীর সংজ্ঞায়িত খণ্ড, অর্থাৎ, এটির উত্সের একটি খালি তালিকা নেই। ঐচ্ছিক in_shardings একটি খণ্ডের ব্লক আর্গুমেন্টের শার্ডিং নির্দিষ্ট করে, যা অপারেন্ডের সাথে মিলে যায়। ঐচ্ছিক out_shardings ফলাফলের 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::IntegerAttr 64-বিট সাইনলেস ইন্টিজার অ্যাট্রিবিউট
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) :
  (mesh_tensor<...>, mesh_tensor<...>) -> mesh_tensor<...>

বৈশিষ্ট্য: HasParent<::mlir::func::FuncOp> , MemRefsNormalizable

ইন্টারফেস: ArgAndResultAttrsOpInterface , CallOpInterface , SymbolUserOpInterface

গুণাবলী:

বৈশিষ্ট্য MLIR প্রকার বর্ণনা
origin ::mlir::ArrayAttr মূল তথ্যের অ্যারে
mesh_name ::mlir::StringAttr স্ট্রিং বৈশিষ্ট্য
callee ::mlir::FlatSymbolRefAttr সমতল প্রতীক রেফারেন্স বৈশিষ্ট্য

অপারেন্ডস:

অপারেন্ড বর্ণনা
tensors জাল টেনসর প্রকারের বৈচিত্র্যময়

ফলাফল:

ফলাফল বর্ণনা
"নামহীন" জাল টেনসর প্রকারের বৈচিত্র্যময়

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 ) এবং তাই MPMD IR স্ট্যাকের বিভিন্ন স্তরে পুনরায় ব্যবহার করা যেতে পারে।

সিনট্যাক্স:

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 ops কমানোর সময় প্রবর্তিত হয়, স্থানীয় প্রকার থেকে জাল প্রকারে যাওয়ার জন্য। এই অপ্সগুলি আমদানির সময় বাদ দেওয়া হবে, যখন ফাঙ্ক অপের ইনপুট এবং ফলাফলগুলি জাল টেনসর হয়ে যাবে৷

অপারেন্ড টাইপের জালের নাম টপোলজিতে একটি জালের সাথে মিলিত হওয়া উচিত এবং এর গ্লোবাল টাইপ ফলাফলের প্রকারের সাথে অভিন্ন হওয়া উচিত।

বৈশিষ্ট্য: 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++ প্রকার বর্ণনা
জাল_নাম ::llvm::StringRef জাল_নাম
উৎপত্তি ::llvm::ArrayRef<OriginAttr> উৎপত্তি

MeshesWithOriginsAttr

তাদের উত্স সহ meshes একটি তালিকা.

সিনট্যাক্স:

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

পরামিতি:

প্যারামিটার C++ প্রকার বর্ণনা
মান ::llvm::ArrayRef<MeshWithOriginsAttr>

নাম দেওয়া হয়েছেMeshAttr

একটি নাম এবং একটি জাল সহ একটি জোড়া।

সিনট্যাক্স:

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

পরামিতি:

প্যারামিটার C++ প্রকার বর্ণনা
নাম ::llvm::StringRef নাম
জাল sdy::MeshAttr জাল

OriginAttr

জাল নিয়োগের উত্স।

সিনট্যাক্স:

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

একটি জাল নিয়োগের উত্স.

origin_label হল উৎপত্তির জন্য একটি মানব-পাঠযোগ্য লেবেল। এটি ডিবাগিং উদ্দেশ্যে ব্যবহার করার উদ্দেশ্যে করা হয়েছে৷

পরামিতি:

প্যারামিটার C++ প্রকার বর্ণনা
মূল_লেবেল ::llvm::StringRef মূল_লেবেল

ReductionAttr

হ্রাস নির্দেশ করে।

সিনট্যাক্স:

#mpmd.reduction<
  ::mlir::mpmd::ReductionType   # reduction_type
>

পরামিতি:

প্যারামিটার C++ প্রকার বর্ণনা
হ্রাস_প্রকার ::mlir::mpmd::ReductionType ReductionType ধরনের একটি enum

টপোলজিএটিআর

নামযুক্ত মেশের টপোলজি।

সিনট্যাক্স:

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

পরামিতি:

প্যারামিটার C++ প্রকার বর্ণনা
জাল ::llvm::ArrayRef<NamedMeshAttr> টপোলজি মেশ

UserOriginAttr

ব্যবহারকারী-নির্দিষ্ট গণনার উত্স।

সিনট্যাক্স:

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

পরামিতি:

প্যারামিটার C++ প্রকার বর্ণনা
ব্যবহারকারীর নাম ::mlir::StringAttr
transposecount int64_t

প্রকারভেদ

মেশটেনসর টাইপ

জাল টেনসর প্রকার

প্রোগ্রামের MPMD টপোলজিতে একটি নির্দিষ্ট SPMD মেশে একটি RankedTensorType বরাদ্দ করে। টাইপ একটি ঐচ্ছিক শার্ডিং ধারণ করে যা নির্দিষ্ট করে যে কিভাবে টেনসরটি SPMD জালের সাথে শার্ড করা হয়। শর্ডিং উপস্থিত না থাকলে টেনসরটি সম্পূর্ণরূপে প্রতিলিপি করা হয়।

পরামিতি:

প্যারামিটার C++ প্রকার বর্ণনা
জাল_নাম ::llvm::StringRef জাল নাম
ranked_tensor_type ::mlir::RankedTensorType র‌্যাঙ্ক করা টেনসরের ধরন
শার্ডিং ::mlir::sdy::TensorShardingAttr
স্মৃতি_প্রকার ::mlir::StringAttr

Enums

রিডাকশন টাইপ

রিডাকশন টাইপ অ্যাট্রিবিউট

মামলা:

প্রতীক মান স্ট্রিং
কোনোটিই নয় 0 কোনটি
kAdd 1 যোগ করুন
kMax 2 সর্বোচ্চ
kMin 3 মিনিট
kMul 4 mul
kOr 5 বা
kAnd 6 এবং

এজনোড টাইপ

এজ নোড টাইপ enum

মামলা:

প্রতীক মান স্ট্রিং
OPERAND 0 অপারেন্ড
ফলাফল 1 ফলাফল

প্রচারের দিকনির্দেশনা

প্রচার দিক enum

মামলা:

প্রতীক মান স্ট্রিং
কোনটিই নয় 0 কোনটিই নয়
ফরওয়ার্ড 1 ফরওয়ার্ড
পিছনে 2 পিছনে
উভয় 3 উভয়