CollectiveOpInterface ( Sdy_CollectiveOpInterface
)
সমস্ত যৌথ অপারেশনের জন্য ইন্টারফেস। OutSharding অ্যাট্রিবিউটের জন্য সাধারণ get/set encapsulates.
সীমাবদ্ধতা:
- অপারেন্ডে অবশ্যই একটি শার্ডিং থাকতে হবে বা
allowMissingInputSharding()
সত্য রিটার্ন করবে। -
out_sharding
সংশ্লিষ্ট প্রকারের জন্য বৈধ। - যদি
allowDifferentMeshes()
মিথ্যা রিটার্ন করে তাহলে অপারেন্ড এবং ফলাফল শার্ডিং একই জাল থাকতে হবে। - অপারেন্ড এবং ফলাফল শার্ডিংয়ের জন্য একই র্যাঙ্ক।
পদ্ধতি:
getOutSharding
::mlir::sdy::TensorShardingAttr getOutSharding();
যৌথ অপের আউটপুট টেনসর শার্ডিং প্রদান করে।
setOutShardingAttr
void setOutShardingAttr(::mlir::sdy::TensorShardingAttr sharding);
যৌথ অপের আউটপুট টেনসর শার্ডিং সেট করে।
getTensor
::mlir::TypedValue<::mlir::TensorType> getTensor();
যৌথ অপের টেনসর অপারেন্ড পান।
getType
::mlir::Type getType();
সমষ্টিগত অপ ফলাফলের ধরন পান।
allowDifferentMeshes
bool allowDifferentMeshes();
সমষ্টিগত অপ ইনপুট এবং আউটপুট শার্ডিংকে বিভিন্ন মেশ থাকতে দেয় কিনা তা নির্দেশিত৷
allowMissingInputSharding
bool allowMissingInputSharding();
সমষ্টিগত অপ ইনপুটকে কোন শার্ডিং না করার অনুমতি দেয় কিনা তা নির্দেশিত, অর্থাৎ, সম্পূর্ণরূপে প্রতিলিপি করা।
ShardableDataFlowOpInterface ( Sdy_ShardableDataFlowOpInterface
)
একটি অপ ইন্টারফেস যা শার্ডিকে এই ইন্টারফেসটি প্রসারিত করে এমন অপসের ডেটা ফ্লো প্রান্তের মাধ্যমে শার্ডিংগুলি প্রচার করতে দেয়।
কিছু অপ X-এর একটি ডেটা ফ্লো প্রান্ত উৎসগুলির একটি সেটের মধ্যে একটি সেতু সংজ্ঞায়িত করে (প্রত্যেকটি হয় X-এর অপারেন্ড বা X-এর ব্লক টার্মিনেটরের একটি অপারেন্ড) এবং লক্ষ্যগুলির একটি সেট (প্রত্যেকটি হয় X-এর ফলাফল বা X-এর একটি ব্লক যুক্তি), যাতে সমস্ত উত্স এবং লক্ষ্যগুলি একইভাবে শার্ড করা উচিত। একটি অপের একাধিক ডেটা প্রবাহ প্রান্ত থাকতে পারে যা একে অপরের সাথে অর্থোগোনাল।
একজন মালিক হল শার্ডির প্রচারের মাধ্যমে ব্যবহৃত ডেটা ফ্লো প্রান্তের ব্যবহারকারীর নির্দিষ্ট লক্ষ্য। ব্যবহারকারী এটি নির্বিচারে চয়ন করতে পারেন তবে এটি স্থির হওয়া দরকার।
যেমন:
y_1, ..., y_n = custom_op (x_1, ..., x_n)
((body_arg_1,..., body_arg_n) {
...
return return_value_1, ..., return_value_n
})
এই কাস্টম_অপের ডেটা ফ্লো প্রান্তের জন্য দুটি প্রকার রয়েছে, n প্রান্তগুলি প্রতিটি return_value_i
(উৎস) এবং y_i
(লক্ষ্যগুলি) এবং n প্রান্তগুলি x_i
(উত্স) এবং body_arg_i
(লক্ষ্যগুলি) এর মধ্যে। এই ক্ষেত্রে প্রান্ত মালিকদের লক্ষ্য হিসাবে একই.
এখানে একাধিক লক্ষ্য সহ একটি অপের উদাহরণ রয়েছে:
y_0, ..., y_n = while (x_0, ..., x_n)
((pred_arg_0,... , pred_arg_n) { ... })
((body_arg_0,..., body_arg_n) {
...
return return_value_0, ..., return_value_n
})
যখন op-এর n ডেটা ফ্লো প্রান্ত রয়েছে, i-th ডেটা প্রবাহ প্রান্তগুলি উত্স x_i
, return_value_i
এবং লক্ষ্য y_i
, pred_arg_i
, body_arg_i
মধ্যে রয়েছে।
পদ্ধতি:
getBlockArgumentEdgeOwnerShardings
mlir::SmallVector<mlir::sdy::TensorShardingAttr> getBlockArgumentEdgeOwnerShardings();
সমস্ত ব্লক আর্গুমেন্ট ডেটা ফ্লো এজ মালিকদের শার্ডিং প্রদান করে।
setBlockArgumentEdgeOwnerShardings
void setBlockArgumentEdgeOwnerShardings(mlir::ArrayRef<mlir::sdy::TensorShardingAttr> shardings);
সমস্ত ব্লক আর্গুমেন্ট এজ মালিকদের shardings
সেট করে।
getOpResultEdgeOwnerShardings
mlir::SmallVector<mlir::sdy::TensorShardingAttr> getOpResultEdgeOwnerShardings();
সমস্ত অপ ফলাফল ডেটা ফ্লো প্রান্ত মালিকদের শার্ডিং প্রদান করে।
setOpResultEdgeOwnerShardings
void setOpResultEdgeOwnerShardings(mlir::ArrayRef<mlir::sdy::TensorShardingAttr> shardings);
সমস্ত অপ ফলাফল প্রান্ত মালিকদের shardings
সেট করে.
transformTargetSharding
mlir::sdy::TensorShardingAttr transformTargetSharding(mlir::Value target, mlir::sdy::TensorShardingAttr sharding, mlir::sdy::DataFlowShardingTransformType transformType);
transformType
উপর নির্ভর করে লক্ষ্যের sharding
রূপান্তরিত করে
আরও তথ্যের জন্য DataFlowShardingTransformType
দেখুন।
getBlockArgumentEdgeOwners
mlir::ArrayRef<mlir::BlockArgument> getBlockArgumentEdgeOwners();
সমস্ত ব্লক আর্গুমেন্ট প্রান্ত মালিকদের পায়.
getOpResultEdgeOwners
mlir::ResultRange getOpResultEdgeOwners();
সমস্ত অপ ফলাফল প্রান্ত মালিকদের পায়.
getEdgeSources
mlir::SmallVector<mlir::OpOperand*> getEdgeSources(mlir::Value owner);
প্রান্তের owner
দেওয়া ডেটা ফ্লো প্রান্তের উৎসগুলি পায়৷
getEdgeOwnerFromTarget
mlir::Value getEdgeOwnerFromTarget(mlir::Value target);
একটি target
দেওয়া একটি ডেটা ফ্লো প্রান্তের মালিক target
পায় যা মালিক হতে পারে বা নাও হতে পারে৷
getEdgeOwnerFromSource
mlir::Value getEdgeOwnerFromSource(mlir::OpOperand&source);
একটি source
দেওয়া ডেটা প্রবাহ প্রান্তের মালিক লক্ষ্য পায়।
getNonEdgeOwnerTargets
mlir::SmallVector<mlir::Value> getNonEdgeOwnerTargets(mlir::Value owner);
প্রান্তের owner
দেওয়া ডেটা ফ্লো প্রান্তের অ-মালিক লক্ষ্যগুলি পায়৷
ShardingRuleOpInterface ( Sdy_ShardingRuleOpInterface
)
একটি অপ ইন্টারফেস যা অপকে তার নিজস্ব শার্ডিং নিয়ম সংজ্ঞায়িত করতে দেয়। একটি শার্ডিং নিয়ম নির্দিষ্ট করে যে কিভাবে অপারেশনের বিভিন্ন বৈশিষ্ট্য অনুযায়ী বিভাজন করা যেতে পারে - যেকোনো বৈশিষ্ট্য, অপারেন্ডের আকৃতি, ফলাফলের আকৃতি ইত্যাদি। আরও বিস্তারিত জানার জন্য OpShardingRuleAttr
দেখুন।
পদ্ধতি:
getShardingRule
mlir::sdy::OpShardingRuleAttr getShardingRule();
অপের শার্ডিং নিয়ম ফেরত দেয়।
, CollectiveOpInterface ( Sdy_CollectiveOpInterface
)
সমস্ত যৌথ অপারেশনের জন্য ইন্টারফেস। OutSharding অ্যাট্রিবিউটের জন্য সাধারণ get/set encapsulates.
সীমাবদ্ধতা:
- অপারেন্ডে অবশ্যই একটি শার্ডিং থাকতে হবে বা
allowMissingInputSharding()
সত্য রিটার্ন করবে। -
out_sharding
সংশ্লিষ্ট প্রকারের জন্য বৈধ। - যদি
allowDifferentMeshes()
মিথ্যা রিটার্ন করে তাহলে অপারেন্ড এবং ফলাফল শার্ডিং একই জাল থাকতে হবে। - অপারেন্ড এবং ফলাফল শার্ডিংয়ের জন্য একই র্যাঙ্ক।
পদ্ধতি:
getOutSharding
::mlir::sdy::TensorShardingAttr getOutSharding();
যৌথ অপের আউটপুট টেনসর শার্ডিং প্রদান করে।
setOutShardingAttr
void setOutShardingAttr(::mlir::sdy::TensorShardingAttr sharding);
যৌথ অপের আউটপুট টেনসর শার্ডিং সেট করে।
getTensor
::mlir::TypedValue<::mlir::TensorType> getTensor();
যৌথ অপের টেনসর অপারেন্ড পান।
getType
::mlir::Type getType();
সমষ্টিগত অপ ফলাফলের ধরন পান।
allowDifferentMeshes
bool allowDifferentMeshes();
সমষ্টিগত অপ ইনপুট এবং আউটপুট শার্ডিংকে বিভিন্ন মেশ থাকতে দেয় কিনা তা নির্দেশিত৷
allowMissingInputSharding
bool allowMissingInputSharding();
সমষ্টিগত অপ ইনপুটকে কোন শার্ডিং না করার অনুমতি দেয় কিনা তা নির্দেশিত, অর্থাৎ, সম্পূর্ণরূপে প্রতিলিপি করা।
ShardableDataFlowOpInterface ( Sdy_ShardableDataFlowOpInterface
)
একটি অপ ইন্টারফেস যা শার্ডিকে এই ইন্টারফেসটি প্রসারিত করে এমন অপসের ডেটা ফ্লো প্রান্তের মাধ্যমে শার্ডিংগুলি প্রচার করতে দেয়।
কিছু অপ X-এর একটি ডেটা ফ্লো প্রান্ত উৎসগুলির একটি সেটের মধ্যে একটি সেতু সংজ্ঞায়িত করে (প্রত্যেকটি হয় X-এর অপারেন্ড বা X-এর ব্লক টার্মিনেটরের একটি অপারেন্ড) এবং লক্ষ্যগুলির একটি সেট (প্রত্যেকটি হয় X-এর ফলাফল বা X-এর একটি ব্লক যুক্তি), যাতে সমস্ত উত্স এবং লক্ষ্যগুলি একইভাবে শার্ড করা উচিত। একটি অপের একাধিক ডেটা প্রবাহ প্রান্ত থাকতে পারে যা একে অপরের সাথে অর্থোগোনাল।
একজন মালিক হল শার্ডির প্রচারের মাধ্যমে ব্যবহৃত ডেটা ফ্লো প্রান্তের ব্যবহারকারীর নির্দিষ্ট লক্ষ্য। ব্যবহারকারী এটি নির্বিচারে চয়ন করতে পারেন তবে এটি স্থির হওয়া দরকার।
যেমন:
y_1, ..., y_n = custom_op (x_1, ..., x_n)
((body_arg_1,..., body_arg_n) {
...
return return_value_1, ..., return_value_n
})
এই কাস্টম_অপের ডেটা ফ্লো প্রান্তের জন্য দুটি প্রকার রয়েছে, n প্রান্তগুলি প্রতিটি return_value_i
(উৎস) এবং y_i
(লক্ষ্যগুলি) এবং n প্রান্তগুলি x_i
(উত্স) এবং body_arg_i
(লক্ষ্যগুলি) এর মধ্যে। এই ক্ষেত্রে প্রান্ত মালিকদের লক্ষ্য হিসাবে একই.
এখানে একাধিক লক্ষ্য সহ একটি অপের উদাহরণ রয়েছে:
y_0, ..., y_n = while (x_0, ..., x_n)
((pred_arg_0,... , pred_arg_n) { ... })
((body_arg_0,..., body_arg_n) {
...
return return_value_0, ..., return_value_n
})
যখন op-এর n ডেটা ফ্লো প্রান্ত রয়েছে, i-th ডেটা প্রবাহ প্রান্তগুলি উত্স x_i
, return_value_i
এবং লক্ষ্য y_i
, pred_arg_i
, body_arg_i
মধ্যে রয়েছে।
পদ্ধতি:
getBlockArgumentEdgeOwnerShardings
mlir::SmallVector<mlir::sdy::TensorShardingAttr> getBlockArgumentEdgeOwnerShardings();
সমস্ত ব্লক আর্গুমেন্ট ডেটা ফ্লো এজ মালিকদের শার্ডিং প্রদান করে।
setBlockArgumentEdgeOwnerShardings
void setBlockArgumentEdgeOwnerShardings(mlir::ArrayRef<mlir::sdy::TensorShardingAttr> shardings);
সমস্ত ব্লক আর্গুমেন্ট এজ মালিকদের shardings
সেট করে।
getOpResultEdgeOwnerShardings
mlir::SmallVector<mlir::sdy::TensorShardingAttr> getOpResultEdgeOwnerShardings();
সমস্ত অপ ফলাফল ডেটা ফ্লো প্রান্ত মালিকদের শার্ডিং প্রদান করে।
setOpResultEdgeOwnerShardings
void setOpResultEdgeOwnerShardings(mlir::ArrayRef<mlir::sdy::TensorShardingAttr> shardings);
সমস্ত অপ ফলাফল প্রান্ত মালিকদের shardings
সেট করে.
transformTargetSharding
mlir::sdy::TensorShardingAttr transformTargetSharding(mlir::Value target, mlir::sdy::TensorShardingAttr sharding, mlir::sdy::DataFlowShardingTransformType transformType);
transformType
উপর নির্ভর করে লক্ষ্যের sharding
রূপান্তরিত করে
আরও তথ্যের জন্য DataFlowShardingTransformType
দেখুন।
getBlockArgumentEdgeOwners
mlir::ArrayRef<mlir::BlockArgument> getBlockArgumentEdgeOwners();
সমস্ত ব্লক আর্গুমেন্ট প্রান্ত মালিকদের পায়.
getOpResultEdgeOwners
mlir::ResultRange getOpResultEdgeOwners();
সমস্ত অপ ফলাফল প্রান্ত মালিকদের পায়.
getEdgeSources
mlir::SmallVector<mlir::OpOperand*> getEdgeSources(mlir::Value owner);
প্রান্তের owner
দেওয়া ডেটা ফ্লো প্রান্তের উৎসগুলি পায়৷
getEdgeOwnerFromTarget
mlir::Value getEdgeOwnerFromTarget(mlir::Value target);
একটি target
দেওয়া একটি ডেটা ফ্লো প্রান্তের মালিক target
পায় যা মালিক হতে পারে বা নাও হতে পারে৷
getEdgeOwnerFromSource
mlir::Value getEdgeOwnerFromSource(mlir::OpOperand&source);
একটি source
দেওয়া ডেটা প্রবাহ প্রান্তের মালিক লক্ষ্য পায়।
getNonEdgeOwnerTargets
mlir::SmallVector<mlir::Value> getNonEdgeOwnerTargets(mlir::Value owner);
প্রান্তের owner
দেওয়া ডেটা ফ্লো প্রান্তের অ-মালিক লক্ষ্যগুলি পায়৷
ShardingRuleOpInterface ( Sdy_ShardingRuleOpInterface
)
একটি অপ ইন্টারফেস যা অপকে তার নিজস্ব শার্ডিং নিয়ম সংজ্ঞায়িত করতে দেয়। একটি শার্ডিং নিয়ম নির্দিষ্ট করে যে কিভাবে অপারেশনের বিভিন্ন বৈশিষ্ট্য অনুযায়ী বিভাজন করা যেতে পারে - যেকোনো বৈশিষ্ট্য, অপারেন্ডের আকৃতি, ফলাফলের আকৃতি ইত্যাদি। আরও বিস্তারিত জানার জন্য OpShardingRuleAttr
দেখুন।
পদ্ধতি:
getShardingRule
mlir::sdy::OpShardingRuleAttr getShardingRule();
অপের শার্ডিং নিয়ম ফেরত দেয়।
, CollectiveOpInterface ( Sdy_CollectiveOpInterface
)
সমস্ত যৌথ অপারেশনের জন্য ইন্টারফেস। OutSharding অ্যাট্রিবিউটের জন্য সাধারণ get/set encapsulates.
সীমাবদ্ধতা:
- অপারেন্ডে অবশ্যই একটি শার্ডিং থাকতে হবে বা
allowMissingInputSharding()
সত্য রিটার্ন করবে। -
out_sharding
সংশ্লিষ্ট প্রকারের জন্য বৈধ। - যদি
allowDifferentMeshes()
মিথ্যা রিটার্ন করে তাহলে অপারেন্ড এবং ফলাফল শার্ডিং একই জাল থাকতে হবে। - অপারেন্ড এবং ফলাফল শার্ডিংয়ের জন্য একই র্যাঙ্ক।
পদ্ধতি:
getOutSharding
::mlir::sdy::TensorShardingAttr getOutSharding();
যৌথ অপের আউটপুট টেনসর শার্ডিং প্রদান করে।
setOutShardingAttr
void setOutShardingAttr(::mlir::sdy::TensorShardingAttr sharding);
যৌথ অপের আউটপুট টেনসর শার্ডিং সেট করে।
getTensor
::mlir::TypedValue<::mlir::TensorType> getTensor();
যৌথ অপের টেনসর অপারেন্ড পান।
getType
::mlir::Type getType();
সমষ্টিগত অপ ফলাফলের ধরন পান।
allowDifferentMeshes
bool allowDifferentMeshes();
সমষ্টিগত অপ ইনপুট এবং আউটপুট শার্ডিংকে বিভিন্ন মেশ থাকতে দেয় কিনা তা নির্দেশিত৷
allowMissingInputSharding
bool allowMissingInputSharding();
সমষ্টিগত অপ ইনপুটকে কোন শার্ডিং না করার অনুমতি দেয় কিনা তা নির্দেশিত, অর্থাৎ, সম্পূর্ণরূপে প্রতিলিপি করা।
ShardableDataFlowOpInterface ( Sdy_ShardableDataFlowOpInterface
)
একটি অপ ইন্টারফেস যা শার্ডিকে এই ইন্টারফেসটি প্রসারিত করে এমন অপসের ডেটা ফ্লো প্রান্তের মাধ্যমে শার্ডিংগুলি প্রচার করতে দেয়।
কিছু অপ X-এর একটি ডেটা ফ্লো প্রান্ত উৎসগুলির একটি সেটের মধ্যে একটি সেতু সংজ্ঞায়িত করে (প্রত্যেকটি হয় X-এর অপারেন্ড বা X-এর ব্লক টার্মিনেটরের একটি অপারেন্ড) এবং লক্ষ্যগুলির একটি সেট (প্রত্যেকটি হয় X-এর ফলাফল বা X-এর একটি ব্লক যুক্তি), যাতে সমস্ত উত্স এবং লক্ষ্যগুলি একইভাবে শার্ড করা উচিত। একটি অপের একাধিক ডেটা প্রবাহ প্রান্ত থাকতে পারে যা একে অপরের সাথে অর্থোগোনাল।
একজন মালিক হল শার্ডির প্রচারের মাধ্যমে ব্যবহৃত ডেটা ফ্লো প্রান্তের ব্যবহারকারীর নির্দিষ্ট লক্ষ্য। ব্যবহারকারী এটি নির্বিচারে চয়ন করতে পারেন তবে এটি স্থির হওয়া দরকার।
যেমন:
y_1, ..., y_n = custom_op (x_1, ..., x_n)
((body_arg_1,..., body_arg_n) {
...
return return_value_1, ..., return_value_n
})
এই কাস্টম_অপের ডেটা ফ্লো প্রান্তের জন্য দুটি প্রকার রয়েছে, n প্রান্তগুলি প্রতিটি return_value_i
(উৎস) এবং y_i
(লক্ষ্যগুলি) এবং n প্রান্তগুলি x_i
(উত্স) এবং body_arg_i
(লক্ষ্যগুলি) এর মধ্যে। এই ক্ষেত্রে প্রান্ত মালিকদের লক্ষ্য হিসাবে একই.
এখানে একাধিক লক্ষ্য সহ একটি অপের উদাহরণ রয়েছে:
y_0, ..., y_n = while (x_0, ..., x_n)
((pred_arg_0,... , pred_arg_n) { ... })
((body_arg_0,..., body_arg_n) {
...
return return_value_0, ..., return_value_n
})
যখন op-এর n ডেটা ফ্লো প্রান্ত রয়েছে, i-th ডেটা প্রবাহ প্রান্তগুলি উত্স x_i
, return_value_i
এবং লক্ষ্য y_i
, pred_arg_i
, body_arg_i
মধ্যে রয়েছে।
পদ্ধতি:
getBlockArgumentEdgeOwnerShardings
mlir::SmallVector<mlir::sdy::TensorShardingAttr> getBlockArgumentEdgeOwnerShardings();
সমস্ত ব্লক আর্গুমেন্ট ডেটা ফ্লো এজ মালিকদের শার্ডিং প্রদান করে।
setBlockArgumentEdgeOwnerShardings
void setBlockArgumentEdgeOwnerShardings(mlir::ArrayRef<mlir::sdy::TensorShardingAttr> shardings);
সমস্ত ব্লক আর্গুমেন্ট এজ মালিকদের shardings
সেট করে।
getOpResultEdgeOwnerShardings
mlir::SmallVector<mlir::sdy::TensorShardingAttr> getOpResultEdgeOwnerShardings();
সমস্ত অপ ফলাফল ডেটা ফ্লো প্রান্ত মালিকদের শার্ডিং প্রদান করে।
setOpResultEdgeOwnerShardings
void setOpResultEdgeOwnerShardings(mlir::ArrayRef<mlir::sdy::TensorShardingAttr> shardings);
সমস্ত অপ ফলাফল প্রান্ত মালিকদের shardings
সেট করে.
transformTargetSharding
mlir::sdy::TensorShardingAttr transformTargetSharding(mlir::Value target, mlir::sdy::TensorShardingAttr sharding, mlir::sdy::DataFlowShardingTransformType transformType);
transformType
উপর নির্ভর করে লক্ষ্যের sharding
রূপান্তরিত করে
আরও তথ্যের জন্য DataFlowShardingTransformType
দেখুন।
getBlockArgumentEdgeOwners
mlir::ArrayRef<mlir::BlockArgument> getBlockArgumentEdgeOwners();
সমস্ত ব্লক আর্গুমেন্ট প্রান্ত মালিকদের পায়.
getOpResultEdgeOwners
mlir::ResultRange getOpResultEdgeOwners();
সমস্ত অপ ফলাফল প্রান্ত মালিকদের পায়.
getEdgeSources
mlir::SmallVector<mlir::OpOperand*> getEdgeSources(mlir::Value owner);
প্রান্তের owner
দেওয়া ডেটা ফ্লো প্রান্তের উৎসগুলি পায়৷
getEdgeOwnerFromTarget
mlir::Value getEdgeOwnerFromTarget(mlir::Value target);
একটি target
দেওয়া একটি ডেটা ফ্লো প্রান্তের মালিক target
পায় যা মালিক হতে পারে বা নাও হতে পারে৷
getEdgeOwnerFromSource
mlir::Value getEdgeOwnerFromSource(mlir::OpOperand&source);
একটি source
দেওয়া ডেটা প্রবাহ প্রান্তের মালিক লক্ষ্য পায়।
getNonEdgeOwnerTargets
mlir::SmallVector<mlir::Value> getNonEdgeOwnerTargets(mlir::Value owner);
প্রান্তের owner
দেওয়া ডেটা ফ্লো প্রান্তের অ-মালিক লক্ষ্যগুলি পায়৷
ShardingRuleOpInterface ( Sdy_ShardingRuleOpInterface
)
একটি অপ ইন্টারফেস যা অপকে তার নিজস্ব শার্ডিং নিয়ম সংজ্ঞায়িত করতে দেয়। একটি শার্ডিং নিয়ম নির্দিষ্ট করে যে কিভাবে অপারেশনের বিভিন্ন বৈশিষ্ট্য অনুযায়ী বিভাজন করা যেতে পারে - যেকোনো বৈশিষ্ট্য, অপারেন্ডের আকৃতি, ফলাফলের আকৃতি ইত্যাদি। আরও বিস্তারিত জানার জন্য OpShardingRuleAttr
দেখুন।
পদ্ধতি:
getShardingRule
mlir::sdy::OpShardingRuleAttr getShardingRule();
অপের শার্ডিং নিয়ম ফেরত দেয়।