• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * Copyright 2019-2023 Huawei Technologies Co., Ltd
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef MINDSPORE_CCSRC_FRONTEND_PARALLEL_OPS_INFO_OPS_UTILS_H_
18 #define MINDSPORE_CCSRC_FRONTEND_PARALLEL_OPS_INFO_OPS_UTILS_H_
19 
20 #include "mindspore/core/utils/log_adapter.h"
21 
22 namespace mindspore {
23 namespace parallel {
24 constexpr size_t MAX_RECURSIVE_DEPTH = 100000;
25 constexpr int64_t MAX_MICRO_BATCH_NUM = 4096;
26 constexpr int64_t MAX_INTERLEAVE_NUM = 128;
27 constexpr size_t PRELU_INPUTS_SIZE = 2;
28 constexpr size_t PRELU_OUTPUTS_SIZE = 1;
29 constexpr size_t PRELU_SECOND_INPUT_SIZE = 1;
30 constexpr int64_t MICRO_INTERLEAVED_SIZE = 2;
31 constexpr int64_t PRELU_CHANNEL_INDEX = 1;
32 constexpr int64_t PRELU_CHANNEL_STRATEGY = 1;
33 constexpr int64_t NO_SPLIT_MAP = -1;
34 constexpr int64_t NO_SPLIT_STRATEGY = 1;
35 constexpr int64_t SPLIT_FLAG = 1;
36 constexpr int64_t NO_SPLIT_FLAG = 0;
37 constexpr int64_t ADASUM_MIN_DIS = 8;
38 constexpr size_t MATMUL_ATTRS_SIZE = 2;
39 constexpr size_t SLICE_BEGIN_INDEX = 1;
40 constexpr size_t SLICE_SIZE_INDEX = 2;
41 constexpr size_t SLICE_INPUTS_SIZE = 3;
42 constexpr size_t SLICE_DIM_INDEX = 1;
43 constexpr size_t SLICE_START_INDEX = 2;
44 constexpr size_t SLICE_END_INDEX = 3;
45 constexpr size_t SLICE_STEP_INDEX = 4;
46 constexpr size_t SLICE_EXT_INPUTS_SIZE = 5;
47 constexpr size_t STRIDED_SLICE_ATTRS_SIZE = 5;
48 constexpr size_t STRIDED_SLICE_INPUTS_SIZE = 9;
49 constexpr size_t STRIDED_SLICE_ARGS_SIZE = 3;
50 constexpr size_t STRIDED_SLICE_BEGIN_INDEX = 1;
51 constexpr size_t STRIDED_SLICE_END_INDEX = 2;
52 constexpr size_t STRIDED_SLICE_STRIDES_INDEX = 3;
53 constexpr size_t STRIDED_SLICE_BEGIN_MASK_INDEX = 4;
54 constexpr size_t STRIDED_SLICE_END_MASK_INDEX = 5;
55 constexpr size_t STRIDED_SLICE_ELLIPSIS_MASK_INDEX = 6;
56 constexpr size_t STRIDED_SLICE_NEW_AXIS_MASK_INDEX = 7;
57 constexpr size_t STRIDED_SLICE_SHRINK_AXIS_MASK_INDEX = 8;
58 constexpr size_t MATMUL_INPUTS_SIZE = 2;
59 constexpr size_t MATMUL_OUTPUTS_SIZE = 1;
60 constexpr size_t LAYERNORM_INPUTS_SIZE = 3;
61 constexpr size_t ONEHOT_INPUTS_SIZE = 4;
62 constexpr size_t UNSORTEDSEGMENTSUM_INPUTS_SIZE = 3;
63 constexpr size_t GATHERV2_INPUTS_SIZE = 3;
64 constexpr size_t DROPOUTDOMASK_INPUTS_SIZE = 3;
65 constexpr size_t CROP_AND_RESIZE_INPUTS_SIZE = 3;
66 constexpr size_t ROI_ALIGN_INPUTS_SIZE = 2;
67 constexpr size_t ACTIVATION_ATTR_SIZE = 1;
68 constexpr size_t SOFTMAX_ATTR_SIZE = 1;
69 constexpr size_t ACTIVATION_INPUTS_SIZE = 1;
70 constexpr size_t ACTIVATION_OUTPUTS_SIZE = 1;
71 constexpr size_t EXPANDDIMS_INPUT_SIZE = 2;
72 constexpr size_t CUMSUM_INPUT_SIZE = 2;
73 constexpr size_t CUM_OP_INPUT_SIZE = 2;
74 constexpr size_t DROPOUT_DO_MASK_CNODE_INPUT_SIZE = 4;
75 constexpr size_t DROPOUT_GEN_MASK_CNODE_INPUT_SIZE = 3;
76 constexpr size_t DROPOUT_GEN_MASK_INDEX = 2;
77 constexpr size_t DROPOUT_DO_MASK_KEEP_PROB_INDEX = 3;
78 constexpr size_t DSD_MATMUL_INPUTS_SIZE = 3;
79 constexpr size_t DSD_MATMUL_OUTPUTS_SIZE = 1;
80 constexpr size_t DSD_MATMUL_STRATEGY_W_SIZE = 7;
81 constexpr size_t DSD_MATMUL_STRATEGY_V_SIZE = 4;
82 constexpr size_t SoftmaxCrossEntropyWithLogitsAttrSize = 1;
83 constexpr size_t SoftmaxCrossEntropyWithLogitsInputsSize = 2;
84 constexpr size_t SoftmaxCrossEntropyWithLogitsOutputsSize = 2;
85 constexpr int64_t ONE_HOT_CNODE_INPUT_SIZE = 6;
86 constexpr size_t UNIQUE_INPUTS_SIZE = 1;
87 constexpr size_t UNIQUE_INPUT_SIZE = 1;
88 constexpr size_t UNIQUE_OUTPUTS_SIZE = 2;
89 constexpr size_t RESHAPE_INPUT_SIZE = 3;
90 constexpr size_t TRANSFER_PERMUTE_ARGS_SIZE = 5;
91 constexpr size_t TRANSFER_PERMUTE_SPLIT_COUNT_INDEX = 0;
92 constexpr size_t TRANSFER_PERMUTE_SPLIT_DIM_INDEX = 1;
93 constexpr size_t TRANSFER_PERMUTE_CONCAT_DIM_INDEX = 2;
94 constexpr size_t TRANSFER_PERMUTE_DEV_DIM_INDEX = 3;
95 constexpr size_t TRANSFER_PERMUTE_DEV_NUM_INDEX = 4;
96 constexpr size_t TRANSFER_CONCAT_ARGS_SIZE = 3;
97 constexpr size_t TRANSFER_CONCAT_TENSOR_DIM_INDEX = 0;
98 constexpr size_t TRANSFER_CONCAT_DEV_DIM_INDEX = 1;
99 constexpr size_t TRANSFER_CONCAT_SPLIT_COUNT_INDEX = 2;
100 constexpr size_t TRANSFER_SPLIT_ARGS_SIZE = 3;
101 constexpr size_t TUPLE_GETITEM_INDEX_POS = 2;
102 constexpr size_t MATMUL_DDS_INPUTS_SIZE = 4;
103 constexpr size_t MATMUL_DDS_OUTPUTS_SIZE = 2;
104 constexpr size_t MATMUL_DDS_STRATEGY_SIZE = 4;
105 constexpr size_t BATCH_NORM_INPUTS_SIZE = 5;
106 constexpr size_t CONV_IN_CHANNEL_INDEX = 1;
107 constexpr double EPS = 1e-6;
108 constexpr double INF = 1e20;
109 constexpr double COST_FACTOR = 2.0;
110 constexpr size_t SIZE_ZERO = 0;
111 constexpr size_t SIZE_ONE = 1;
112 constexpr size_t SIZE_TWO = 2;
113 constexpr size_t SIZE_THREE = 3;
114 constexpr size_t SIZE_FOUR = 4;
115 constexpr size_t SIZE_FIVE = 5;
116 constexpr size_t SIZE_SIX = 6;
117 constexpr size_t SIZE_THIRTY_TWO = 32;
118 constexpr size_t INDEX_ZERO = 0;
119 constexpr size_t INDEX_ONE = 1;
120 constexpr size_t INDEX_TWO = 2;
121 constexpr size_t INDEX_THREE = 3;
122 constexpr size_t INDEX_FOUR = 4;
123 constexpr size_t INDEX_FIVE = 5;
124 constexpr size_t INDEX_SIX = 6;
125 constexpr int64_t INT64_TWO = 2;
126 constexpr int64_t INT64_EIGHT = 8;
127 
128 constexpr char AUTO_PARALLEL_FINISH_PRE_ACTION[] = "auto_parallel_finish_pre_action";
129 constexpr char AUTO_PARALLEL_RUN_ONCE_ONLY[] = "auto_parallel_run_once_only";
130 constexpr char SEMI_AUTO_PARALLEL_RUN_ONCE_ONLY[] = "semi_auto_parallel_run_once_only";
131 constexpr char CHECK_SET_STRATEGY_VALID_ONCE_ONLY[] = "check_set_strategy_valid_once_only";
132 constexpr char REPEATED_NUM_IN_DEV_MATRIX_RIGHT[] = "repeated_num_in_dev_matrix_right_";
133 constexpr char FLASH_SP_RUN_ONCE_ONLY[] = "FLASH_SP_RUN_ONCE_ONLY";
134 constexpr char PP_OPT_SHARD_CONTROL[] = "Pipeline_Opt_Shard_control";
135 constexpr char IN_STRATEGY[] = "in_strategy";
136 constexpr char OUT_STRATEGY[] = "out_strategy";
137 constexpr char LAYOUT[] = "layout";
138 constexpr char DEV_MATRIX[] = "dev_matrix";
139 constexpr char INPUT_TENSOR_MAP[] = "input_tensor_map";
140 constexpr char STAGE_ATTR[] = "stage";
141 constexpr char GEN_STRATEGY[] = "gen_strategy";
142 constexpr char REDUCE_OP_SUM[] = "sum";
143 constexpr char STRATEGY_GEN_MODE[] = "strategy_gen_mode";
144 constexpr char REDUCE_OP_MAX[] = "max";
145 constexpr char REDUCE_OP_MIN[] = "min";
146 constexpr char REDUCE_OP_ANY[] = "sum";
147 constexpr char REDUCE_OP_ALL[] = "prod";
148 constexpr char REDUCE_OP_PROD[] = "prod";
149 constexpr char OP_PATH[] = "mindspore.ops.operations";
150 constexpr char INNER_OP_PATH[] = "mindspore.ops.operations._inner_ops";
151 constexpr char GRAD_OP_PATH[] = "mindspore.ops.operations._grad_ops";
152 constexpr char FUNCTIONAL_OP_PATH[] = "mindspore.ops.functional";
153 constexpr char NN_OPS_PATH[] = "mindspore.ops.operations.nn_ops";
154 constexpr char GET_OP_FUNCTION_PATH[] = "mindspore.parallel._utils";
155 constexpr char GET_OP_FUNCTION[] = "_get_python_op";
156 constexpr char KEEP_DIMS[] = "keep_dims";
157 constexpr char OUTPUT_TYPE[] = "output_type";
158 constexpr char CROSS_BATCH[] = "cross_batch";
159 constexpr char STEP_PARALLEL_BEGIN[] = "step_parallel_begin";
160 constexpr char STEP_PARALLEL_END[] = "step_parallel_end";
161 constexpr char STEP_AUTO_PARALLEL_BEGIN[] = "step_auto_parallel_begin";
162 constexpr char STEP_SHARD_END[] = "step_shard_end";
163 constexpr char REQUIRES_GRAD[] = "requires_grad";
164 constexpr char PARAM_NAME[] = "name";
165 constexpr char RESHAPEINFO[] = "ReshapeInfo";
166 constexpr char GETNEXTINFO[] = "GetNextInfo";
167 constexpr char VIRTUALDATASETINFO[] = "VirtualDatasetInfo";
168 constexpr char FUNC_PARAM[] = "func_param";
169 constexpr char IN_LAYOUT[] = "in_layout";
170 constexpr char OUT_LAYOUT[] = "out_layout";
171 constexpr char DEVICE_MATRIX[] = "device_matrix";
172 constexpr char INTERLEAVED_PARALLEL[] = "interleaved_parallel";
173 
174 constexpr char RELU_TYPE[] = "relu";
175 constexpr char RELU6_TYPE[] = "relu6";
176 constexpr char SIGMOID_TYPE[] = "sigmoid";
177 constexpr char OP[] = "op";
178 constexpr char IDENTITY_INFO[] = "identity_info";
179 constexpr char DIVISOR[] = "divisor";
180 constexpr char NONE[] = "None";
181 constexpr char DEPEND[] = "Depend";
182 constexpr char BATCH_PARALLEL[] = "BatchParallel";
183 constexpr char STAND_ALONE[] = "StandAlone";
184 constexpr char SELF_DEFINE_SHARD_OP[] = "SelfDefineShard";
185 
186 constexpr char ACTIVATION_TYPE[] = "activation_type";
187 constexpr char TARGET[] = "primitive_target";
188 constexpr char CPU[] = "CPU";
189 constexpr char ENABLE_ND_TP[] = "enable_nd_tp";
190 constexpr char TRANSPOSE_A[] = "transpose_a";
191 constexpr char TRANSPOSE_B[] = "transpose_b";
192 constexpr char DIAGONAL[] = "diagonal";
193 constexpr char SHAPE[] = "shape";
194 constexpr char USE_ORIGIN_SHAPE[] = "USE_ORIGIN_SHAPE";
195 constexpr char REDISTRIBUTION_RESHAPE_MODE[] = "REDISTRIBUTION_RESHAPE_MODE";
196 constexpr char BEGIN_MASK[] = "begin_mask";
197 constexpr char END_MASK[] = "end_mask";
198 constexpr char ELLIPSIS_MASK[] = "ellipsis_mask";
199 constexpr char NEW_AXIS_MASK[] = "new_axis_mask";
200 constexpr char SHRINK_AXIS_MASK[] = "shrink_axis_mask";
201 constexpr char BEGIN[] = "begin";
202 constexpr char SIZE[] = "size";
203 constexpr char ALIGN_CORNERS[] = "align_corners";
204 constexpr char END[] = "end";
205 constexpr char GROUP[] = "group";
206 constexpr char RANK_SIZE[] = "rank_size";
207 constexpr char FUSION[] = "fusion";
208 constexpr char COMM_REUSE[] = "comm_reuse";
209 constexpr char DO_MIRROR[] = "do_mirror";
210 constexpr char ADD_ACCU[] = "add_accu";
211 constexpr char RECOMPUTE[] = "recompute";
212 constexpr char RECOMPUTE_COMM_OP[] = "recompute_comm_op";
213 constexpr char NOT_RECOMPUTE[] = "not_recompute";
214 constexpr char NUM_SAMPLED[] = "num_sampled";
215 constexpr char NUM_TRUE[] = "num_true";
216 constexpr char SEED[] = "seed";
217 constexpr char SEED2[] = "seed2";
218 constexpr char SYMBOLS[] = "symbols";
219 constexpr char RANGE_MAX[] = "range_max";
220 constexpr char REMOVE_ACCIDENTAL_HITS[] = "remove_accidental_hits";
221 constexpr char UNIQUE_STRING[] = "unique";
222 constexpr char DIM[] = "dim";
223 constexpr char AXIS[] = "axis";
224 constexpr char BS[] = "bs";
225 constexpr char HEADS[] = "heads";
226 constexpr char AXES[] = "axes";
227 constexpr char START[] = "start";
228 constexpr char LIMIT[] = "limit";
229 constexpr char DELTA[] = "delta";
230 constexpr char OUTPUT_NUM[] = "output_num";
231 constexpr char SPLIT_COUNT[] = "split_count";
232 constexpr char SPLIT_DIM[] = "split_dim";
233 constexpr char SPLIT_OUTPUT_INDEX[] = "SPLIT_OUTPUT_INDEX";
234 constexpr char SPLIT_INSERT_LATER[] = "SPLIT_INSERT_LATER";
235 constexpr char CONCAT_DIM[] = "concat_dim";
236 constexpr char FORWARD[] = "forward";
237 constexpr char BACKWARD[] = "backward";
238 constexpr char REDISTRIBUTION[] = "redistribution";
239 constexpr char SKIP_REDISTRIBUTION[] = "skip_redistribution";
240 constexpr char SELF_DEFINE_SHARD[] = "self_define_shard";
241 constexpr char REPLACE[] = "replace";
242 constexpr char CONNSYMBOL[] = "/";
243 constexpr char INSTANCE_NAME[] = "instance_name";
244 constexpr char SPLIT_SENS[] = "split_sens";
245 constexpr char SEND_RANK_IDS[] = "send_rank_ids";
246 constexpr char RECV_RANK_IDS[] = "recv_rank_ids";
247 constexpr char RECV_SHAPES[] = "recv_shapes";
248 constexpr char SEND_SHAPES[] = "send_shapes";
249 constexpr char RECV_TYPE[] = "recv_type";
250 constexpr char SEND_LENS[] = "send_lens";
251 constexpr char RECV_LENS[] = "recv_lens";
252 constexpr char ORI_IMAGE_SIZE[] = "ori_image_size";
253 constexpr char SPLIT_SIZE[] = "split_size";
254 constexpr char SRC_START_W[] = "src_start_w";
255 constexpr char DST_START_W[] = "dst_start_w";
256 constexpr char SPLIT_TENSOR[] = "split_tensor";
257 constexpr char DEV_MAT[] = "dev_mat";
258 constexpr char TENSOR_MAP[] = "tensor_map";
259 constexpr char SEED0[] = "Seed0";
260 constexpr char SEED1[] = "Seed1";
261 constexpr char KEEP_PROB[] = "keep_prob";
262 constexpr char SRC[] = "src";
263 constexpr char CLONE_INFO[] = "clone_info";
264 constexpr char CLONED[] = "cloned";
265 constexpr char BE_CLONED[] = "be_cloned";
266 constexpr char INDEX[] = "index";
267 constexpr char CLONED_INDEX[] = "cloned_index";
268 constexpr char BE_CLONED_INDEX[] = "be_cloned_index";
269 constexpr char GROUP_RANKS[] = "group_ranks";
270 constexpr char IS_IN_FORWARD[] = "is_in_forward";
271 constexpr char DTYPE[] = "dtype";
272 constexpr char DTYPETOENUM[] = "_dtype_to_enum";
273 constexpr char DEV_NUM[] = "dev_num";
274 constexpr char MEAN_FLAG[] = "mean_flag";
275 constexpr char GRAD_ACCUMULATION_STEP[] = "grad_accumulation_step";
276 constexpr char TYPES[] = "types";
277 constexpr char SHAPES[] = "shapes";
278 constexpr char ACCU_GRADS[] = "accu_grads";
279 constexpr char GETNEXT_NUM[] = "output_num";
280 constexpr char SHARED_NAME[] = "shared_name";
281 constexpr char MIRROR_OP[] = "mirror_op";
282 constexpr char FORWARD_OP[] = "forward_op";
283 constexpr char REDISTRIBUTION_OP[] = "redistribution_op";
284 constexpr char DARA_PARALLEL[] = "data_parallel";
285 constexpr char FORWARD_REDUCE_SCATTER[] = "forward_reduce_scatter";
286 constexpr char FIELD_SIZE[] = "field_size";
287 constexpr char Y[] = "Y";
288 constexpr char OPTIMIZER_SUB_STRING[] = "optimizer";
289 constexpr char DEVICE[] = "Device";
290 constexpr char PARALLEL_OPTIMIZER[] = "parallel_optimizer";
291 constexpr char PARALLEL_OPTIMIZER_ALLGATHER[] = "parallel_optimizer_allgather";
292 constexpr char PARALLEL_OPTIMIZER_ALLGATHER_NOT_COMPUTE[] = "parallel_optimizer_allgather_not_recompute";
293 constexpr char PARALLEL_OPTIMIZER_COMM_OP[] = "parallel_optimizer_comm_op";
294 constexpr char PARALLEL_GLOBALNORM[] = "PARALLEL_GLOBALNORM_IN_STAGES";
295 constexpr char PARALLEL_GLOBALNORM_BETWEEN[] = "PARALLEL_GLOBALNORM_BETWEEN_STAGES";
296 constexpr char PARALLEL_GLOBALNORM_DIV[] = "PARALLEL_GLOBALNORM_DIV";
297 constexpr char PARALLEL_RESULT_BROADCAST[] = "PARALLEL_RESULT_BROADCAST";
298 constexpr char GRAD_SCALE[] = "grad_scale";
299 constexpr char CELLLIST_KEYWORD_PATTERN[] = "-CellList/(\\d+)-";
300 
301 constexpr char OUT_CHANNEL[] = "out_channel";
302 constexpr char KERNEL_SIZE[] = "kernel_size";
303 constexpr char MODE[] = "mode";
304 constexpr char PAD_MODE[] = "pad_mode";
305 constexpr char PAD_LIST[] = "pad_list";
306 constexpr char PAD[] = "pad";
307 constexpr char SAME[] = "same";
308 constexpr char VALID[] = "valid";
309 constexpr char PAD_UPPER[] = "PAD";
310 constexpr char SAME_UPPER[] = "SAME";
311 constexpr char VALID_UPPER[] = "VALID";
312 constexpr char CALCULATED_UPPER[] = "CALCULATED";  // means pad mode for maxpool3d
313 constexpr char DATA_FORMAT[] = "data_format";
314 constexpr char STRIDE[] = "stride";
315 constexpr char STRIDES[] = "strides";
316 constexpr char DILATION[] = "dilation";
317 constexpr char DILATIONS[] = "dilations";
318 constexpr char COUNT_INCLUDE_PAD[] = "count_include_pad";
319 constexpr char DIVISOR_OVERRIDE[] = "divisor_override";
320 constexpr char FORMAT[] = "format";
321 constexpr char NCHW[] = "NCHW";
322 constexpr char NCDHW[] = "NCDHW";
323 constexpr char H_DIMENSION[] = "h_dimension";
324 constexpr char W_DIMENSION[] = "w_dimension";
325 constexpr char CEIL_MODE[] = "ceil_mode";
326 constexpr char IS_TRAINING[] = "is_training";
327 constexpr char EPSILON[] = "epsilon";
328 constexpr char MOMENTUM[] = "momentum";
329 constexpr char DEVICE_NUM[] = "device_num";
330 constexpr char GROUP_SIZE[] = "group_size";
331 constexpr char REPEAT_DIM_DIRECT[] = "repeat_dim_direct";
332 constexpr char RIGHT[] = "right";
333 constexpr char BOOL[] = "Bool";
334 constexpr char POOLED_HEIGHT[] = "pooled_height";
335 constexpr char POOLED_WIDTH[] = "pooled_width";
336 constexpr char SPATIAL_SCALE[] = "spatial_scale";
337 constexpr char SAMPLE_NUM[] = "sample_num";
338 constexpr char ROI_END_MODE[] = "roi_end_mode";
339 constexpr char REDUCTION[] = "reduction";
340 constexpr char MEAN[] = "mean";
341 constexpr char ATTR_NONE[] = "none";
342 constexpr char BATCH_MEAN[] = "batchmean";
343 constexpr char CONSTANT[] = "constant";
344 constexpr char CHANNEL_AXIS[] = "channel_axis";
345 constexpr char EMA[] = "ema";
346 constexpr char EMA_DECAY[] = "ema_decay";
347 constexpr char HEAD_NUM[] = "head_num";
348 constexpr char SCALE_VALUE[] = "scale_value";
349 constexpr char PRE_TOKENS[] = "pre_tokens";
350 constexpr char NEXT_TOKENS[] = "next_tokens";
351 constexpr char INNER_PRECISE[] = "inner_precise";
352 constexpr char INPUT_LAYOUT[] = "input_layout";
353 constexpr char SPARSE_MODE[] = "sparse_mode";
354 constexpr char ENABLE_RING_ATTENTION[] = "enable_ring_attention";
355 constexpr char FLASH_INDEX[] = "FLASH_INDEX";
356 constexpr char KEEP_ALIVE[] = "keep_alive";
357 
358 // Operator
359 constexpr char VIRTUAL_DIV[] = "_VirtualDiv";
360 constexpr char GET_TENSOR_SLICE[] = "_GetTensorSlice";
361 constexpr char SPLIT[] = "Split";
362 constexpr char ALL_TO_ALL[] = "AlltoAll";
363 constexpr char ALL_TO_ALLV[] = "AlltoAllV";
364 constexpr char NEIGHBOREXCHANGE[] = "NeighborExchange";
365 constexpr char NEIGHBOREXCHANGEV2[] = "NeighborExchangeV2";
366 constexpr char PARALLEL_RESIZE_BILINEAR[] = "ParallelResizeBilinear";
367 constexpr char PERMUTE_BY_AXIS[] = "PermuteByAxis";
368 constexpr char CONCAT_BY_AXIS[] = "ConcatByAxis";
369 constexpr char SPLIT_BY_AXIS[] = "SplitByAxis";
370 constexpr char ALL_REDUCE[] = "AllReduce";
371 constexpr char MIRROR_OPERATOR[] = "_MirrorOperator";
372 constexpr char MIRROR_MINI_STEP_OPERATOR[] = "_MirrorMiniStepOperator";
373 constexpr char LOCAL_STEP[] = "local_step";
374 constexpr char STRIDED_SLICE[] = "StridedSlice";
375 constexpr char ALL_GATHER[] = "AllGather";
376 constexpr char VIRTUAL_CONVERTER_END[] = "_VirtualConverterEnd";
377 constexpr char VIRTUAL_CONVERTER_BEGIN[] = "_VirtualConverterBegin";
378 constexpr char MINI_STEP_ALL_GATHER[] = "_MiniStepAllGather";
379 constexpr char MICRO_STEP_ALL_GATHER[] = "_MicroStepAllGather";
380 constexpr char REDUCE_SCATTER[] = "ReduceScatter";
381 constexpr char COLLECTIVE_SCATTER[] = "CollectiveScatter";
382 constexpr char COLLECTIVE_GATHER[] = "CollectiveGather";
383 constexpr char BATCHISENDIRECV[] = "BatchISendIRecv";
384 constexpr char HOST_REDUCE_SCATTER[] = "_HostReduceScatter";
385 constexpr char FAKE_QUANT_PER_LAYER[] = "FakeQuantPerLayer";
386 constexpr char FAKE_QUANT_PER_CHANNEL[] = "FakeQuantPerChannel";
387 constexpr char MIN_MAX_UPDATE_PER_LAYER[] = "MinMaxUpdatePerLayer";
388 constexpr char MIN_MAX_UPDATE_PER_CHANNEL[] = "MinMaxUpdatePerChannel";
389 constexpr char EMBEDDING_LOOKUP[] = "EmbeddingLookup";
390 constexpr char CONCAT[] = "Concat";
391 constexpr char SELECT[] = "Select";
392 constexpr char BETAINC[] = "Betainc";
393 constexpr char SOFTMAX_CROSS_ENTROPY_WITH_LOGITS[] = "SoftmaxCrossEntropyWithLogits";
394 constexpr char SIGMOID_CROSS_ENTROPY_WITH_LOGITS[] = "SigmoidCrossEntropyWithLogits";
395 constexpr char MATMUL[] = "MatMul";
396 constexpr char MATMUL_EXT[] = "MatMulExt";
397 constexpr char BATCH_MATMUL_EXT[] = "BatchMatMulExt";
398 constexpr char GELU[] = "GeLU";
399 constexpr char FAST_GELU[] = "FastGeLU";
400 constexpr char TANH[] = "Tanh";
401 constexpr char RECEIVE[] = "Receive";
402 constexpr char SEND[] = "Send";
403 constexpr char SHAPE_OP[] = "Shape";
404 constexpr char SOFTMAX[] = "Softmax";
405 constexpr char REVERSEV2[] = "ReverseV2";
406 constexpr char LOG_SOFTMAX[] = "LogSoftmax";
407 constexpr char ACTIVATION[] = "Activation";
408 constexpr char PRELU[] = "PReLU";
409 constexpr char FLOORDIV[] = "FloorDiv";
410 constexpr char MAXPOOL[] = "MaxPool";
411 constexpr char AVGPOOL[] = "AvgPool";
412 constexpr char MAXPOOL_3D[] = "MaxPool3D";
413 constexpr char AVGPOOL_3D[] = "AvgPool3D";
414 constexpr char UNIFORMREAL[] = "UniformReal";
415 constexpr char MAXPOOLV2[] = "MaxPoolV2";
416 constexpr char L2_NORMALIZE[] = "L2Normalize";
417 constexpr char TRANSPOSE[] = "Transpose";
418 constexpr char RESHAPE[] = "Reshape";
419 constexpr char ADD[] = "Add";
420 constexpr char ADDN[] = "AddN";
421 constexpr char INCRE_FLASH_ATTENTION[] = "IncreFlashAttention";
422 constexpr char BIAS_ADD[] = "BiasAdd";
423 constexpr char SUB[] = "Sub";
424 constexpr char MUL[] = "Mul";
425 constexpr char DIV[] = "Div";
426 constexpr char SCALAR_CAST[] = "ScalarCast";
427 constexpr char SCALAR_MUL[] = "ScalarMul";
428 constexpr char SCALAR_DIV[] = "ScalarDiv";
429 constexpr char SCALAR_ADD[] = "ScalarAdd";
430 constexpr char SCALAR_SUB[] = "ScalarSub";
431 constexpr char REAL_DIV[] = "RealDiv";
432 constexpr char SCALAR_FLOOR_DIV[] = "ScalarFloorDiv";
433 constexpr char ASSIGN_SUB[] = "AssignSub";
434 constexpr char GREATER[] = "Greater";
435 constexpr char UNIFORM_CANDIDATE_SAMPLER[] = "UniformCandidateSampler";
436 constexpr char VIRTUAL_DATA_SET[] = "_VirtualDataset";
437 constexpr char VIRTUAL_OUTPUT[] = "_VirtualOutput";
438 constexpr char VIRTUAL_DATA_SET_INFO[] = "VirtualDatasetInfo";
439 constexpr char SPARSE_SOFTMAX_CROSS_ENTROPY_WITH_LOGITS[] = "SparseSoftmaxCrossEntropyWithLogits";
440 constexpr char RELU[] = "ReLU";
441 constexpr char SILU[] = "SiLU";
442 constexpr char REPEAT_ELEMENTS[] = "RepeatElements";
443 constexpr char TENSOR_DOT[] = "TensorDot";
444 constexpr char RANGE[] = "Range";
445 constexpr char ONEHOT[] = "OneHot";
446 constexpr char ONEHOTEXT[] = "OneHotExt";
447 constexpr char ONEHOT_INFO[] = "OneHotInfo";
448 constexpr char DROPOUT_DO_MASK[] = "DropoutDoMask";
449 constexpr char DROPOUT_GEN_MASK[] = "DropoutGenMask";
450 constexpr char TILE[] = "Tile";
451 constexpr char REDUCE_MAX[] = "ReduceMax";
452 constexpr char REDUCE_MIN[] = "ReduceMin";
453 constexpr char REDUCE_SUM[] = "ReduceSum";
454 constexpr char REDUCE_MEAN[] = "ReduceMean";
455 constexpr char REDUCE_PROD[] = "ReduceProd";
456 constexpr char REDUCE_ALL[] = "ReduceAll";
457 constexpr char REDUCE_ANY[] = "ReduceAny";
458 constexpr char ARGMAXWITHVALUE[] = "ArgMaxWithValue";
459 constexpr char ARGMINWITHVALUE[] = "ArgMinWithValue";
460 constexpr char ARGMAX[] = "Argmax";
461 constexpr char ARGMIN[] = "Argmin";
462 constexpr char ARGMINV2[] = "ArgminV2";
463 constexpr char CONV2D[] = "Conv2D";
464 constexpr char CONV3D[] = "Conv3D";
465 constexpr char CONV2D_BACK_PROP_INPUT[] = "Conv2DBackpropInput";
466 constexpr char CONV2D_TRANSPOSE[] = "Conv2DTranspose";
467 constexpr char CONV2D_INFO[] = "Conv2DInfo";
468 constexpr char CONV3D_INFO[] = "Conv3DInfo";
469 constexpr char CONV2D_BACK_PROP_INPUT_INFO[] = "Conv2DBackpropInputInfo";
470 constexpr char CONV2D_TRANSPOSE_INFO[] = "Conv2DTransposeInfo";
471 constexpr char FUSE_BATCH_NORM[] = "FusedBatchNorm";
472 constexpr char FUSE_BATCH_NORM_EX[] = "FusedBatchNormEx";
473 constexpr char BATCH_NORM[] = "BatchNorm";
474 constexpr char SYNC_BATCH_NORM[] = "SyncBatchNorm";
475 constexpr char LAYER_NORM[] = "LayerNorm";
476 constexpr char RMS_NORM[] = "RmsNorm";
477 constexpr char POOLING[] = "Pooling";
478 constexpr char CAST[] = "Cast";
479 constexpr char MAX_POOL_WITH_ARGMAX[] = "MaxPoolWithArgmax";
480 constexpr char SIMPLE_MEAN[] = "SimpleMean";
481 constexpr char FLATTEN[] = "Flatten";
482 constexpr char J[] = "J";
483 constexpr char SHARD[] = "Shard";
484 constexpr char Taylor[] = "Taylor";
485 constexpr char TMPIDENTITY_INFO_NAME[] = "identity_info";
486 constexpr char COS[] = "Cos";
487 constexpr char ACOS[] = "ACos";
488 constexpr char EXP[] = "Exp";
489 constexpr char LOG[] = "Log";
490 constexpr char SIGMOID[] = "Sigmoid";
491 constexpr char POW[] = "Pow";
492 constexpr char MAXIMUM[] = "Maximum";
493 constexpr char MINIMUM[] = "Minimum";
494 constexpr char EQUAL[] = "Equal";
495 constexpr char NOT_EQUAL[] = "NotEqual";
496 constexpr char LOGICALNOT[] = "LogicalNot";
497 constexpr char GATHERV2[] = "Gather";
498 constexpr char SPARSE_GATHERV2[] = "SparseGatherV2";
499 constexpr char STRIDEDSLICE[] = "StridedSlice";
500 constexpr char SLICE[] = "Slice";
501 constexpr char SLICE_EXT[] = "SliceExt";
502 constexpr char UNIFORM_REAL[] = "UniformReal";
503 constexpr char STANDARD_NORMAL[] = "StandardNormal";
504 constexpr char BROADCAST[] = "Broadcast";
505 constexpr char BROADCAST_TO[] = "BroadcastTo";
506 constexpr char SQRT[] = "Sqrt";
507 constexpr char ASSIGN[] = "Assign";
508 constexpr char GET_NEXT[] = "GetNext";
509 constexpr char MATMUL_DDS[] = "MatmulDDS";
510 constexpr char SQUEEZE[] = "Squeeze";
511 constexpr char NEG[] = "Neg";
512 constexpr char ABS[] = "Abs";
513 constexpr char ACOSH[] = "Acosh";
514 constexpr char ASIN[] = "Asin";
515 constexpr char ASINH[] = "Asinh";
516 constexpr char ATAN[] = "Atan";
517 constexpr char ATANH[] = "Atanh";
518 constexpr char CHOLESKY[] = "Cholesky";
519 constexpr char CEIL[] = "Ceil";
520 constexpr char COSH[] = "Cosh";
521 constexpr char EXPM1[] = "Expm1";
522 constexpr char LOG1P[] = "Log1p";
523 constexpr char SIN[] = "Sin";
524 constexpr char SINH[] = "Sinh";
525 constexpr char TAN[] = "Tan";
526 constexpr char RSQRT[] = "Rsqrt";
527 constexpr char INV[] = "Inv";
528 constexpr char RECIPROCAL[] = "Reciprocal";
529 constexpr char ROUND[] = "Round";
530 constexpr char FLOOR[] = "Floor";
531 constexpr char SIGN[] = "Sign";
532 constexpr char ERF[] = "Erf";
533 constexpr char ERFC[] = "Erfc";
534 constexpr char ZEROS[] = "Zeros";
535 constexpr char ZEROSLIKE[] = "ZerosLike";
536 constexpr char ONESLIKE[] = "OnesLike";
537 constexpr char BESSELI0E[] = "BesselI0e";
538 constexpr char BESSELI1E[] = "BesselI1e";
539 constexpr char BESSELI0[] = "BesselI0";
540 constexpr char BESSELI1[] = "BesselI1";
541 constexpr char BESSELJ0[] = "BesselJ0";
542 constexpr char BESSELJ1[] = "BesselJ1";
543 constexpr char LGAMMA[] = "Lgamma";
544 constexpr char TRUNC[] = "Trunc";
545 constexpr char FLOORMOD[] = "FloorMod";
546 constexpr char ASSIGN_ADD[] = "AssignAdd";
547 constexpr char ATAN2[] = "Atan2";
548 constexpr char DIVNONAN[] = "DivNoNan";
549 constexpr char LOGICALAND[] = "LogicalAnd";
550 constexpr char LOGICALOR[] = "LogicalOr";
551 constexpr char ELU[] = "Elu";
552 constexpr char RELU6[] = "ReLU6";
553 constexpr char SOFTPLUS[] = "Softplus";
554 constexpr char SOFTSIGN[] = "Softsign";
555 constexpr char GREATEREQUAL[] = "GreaterEqual";
556 constexpr char LESSEQUAL[] = "LessEqual";
557 constexpr char LESS[] = "Less";
558 constexpr char INDEX_SELECT[] = "IndexSelect";
559 constexpr char CLAMP_SCALAR[] = "ClampScalar";
560 constexpr char APPROXIMATEEQUAL[] = "ApproximateEqual";
561 constexpr char MOD[] = "Mod";
562 constexpr char BATCH_MATMUL[] = "BatchMatMul";
563 constexpr char EXPAND_DIMS[] = "ExpandDims";
564 constexpr char SQUARE[] = "Square";
565 constexpr char TOPK[] = "TopK";
566 constexpr char IN_TOPK[] = "InTopK";
567 constexpr char GATHER_ND[] = "GatherNd";
568 constexpr char UNSORTEF_SEGMENT_MIND[] = "UnsortedSegmentMinD";
569 constexpr char UNSORTEF_SEGMENT_PRODD[] = "UnsortedSegmentProdD";
570 constexpr char UNSORTED_SEGMENT_SUM[] = "UnsortedSegmentSum";
571 constexpr char UNSORTED_SEGMENT_MIN[] = "UnsortedSegmentMin";
572 constexpr char UNSORTED_SEGMENT_MAX[] = "UnsortedSegmentMax";
573 constexpr char UNSORTED_SEGMENT_PROD[] = "UnsortedSegmentProd";
574 constexpr char DEPTHWISE_CONV2D_NATIVE[] = "DepthwiseConv2dNative";
575 constexpr char DEPTHWISE_CONV2D[] = "DepthwiseConv2D";
576 constexpr char DROPOUT[] = "Dropout";
577 constexpr char KStridedSlice[] = "StridedSlice";
578 constexpr char UNIQUE[] = "Unique";
579 constexpr char UNIQUE_WITH_PAD[] = "UniqueWithPad";
580 constexpr char UNIQUE_CONSECUTIVE[] = "UniqueConsecutive";
581 constexpr char GATHERND[] = "GatherNd";
582 constexpr char SCATTER_UPDATE[] = "ScatterUpdate";
583 constexpr char SCATTER_ADD[] = "ScatterAdd";
584 constexpr char SCATTER_SUB[] = "ScatterSub";
585 constexpr char SCATTER_MUL[] = "ScatterMul";
586 constexpr char SCATTER_DIV[] = "ScatterDiv";
587 constexpr char SCATTER_MAX[] = "ScatterMax";
588 constexpr char SCATTER_MIN[] = "ScatterMin";
589 constexpr char SCATTER_ND_UPDATE[] = "ScatterNdUpdate";
590 constexpr char SCATTER_ND_ADD[] = "ScatterNdAdd";
591 constexpr char SCATTER_ND_SUB[] = "ScatterNdSub";
592 constexpr char TENSOR_SCATTER_ADD[] = "TensorScatterAdd";
593 constexpr char TENSOR_SCATTER_SUB[] = "TensorScatterSub";
594 constexpr char TENSOR_SCATTER_MAX[] = "TensorScatterMax";
595 constexpr char TENSOR_SCATTER_MIN[] = "TensorScatterMin";
596 constexpr char TENSOR_SCATTER_MUL[] = "TensorScatterMul";
597 constexpr char TENSOR_SCATTER_DIV[] = "TensorScatterDiv";
598 constexpr char GATHERD[] = "GatherD";
599 constexpr char DSD_MATMUL[] = "DSDMatmul";
600 constexpr char RESIZE_BILINEAR_V2[] = "ResizeBilinearV2";
601 constexpr char RESIZE_NEAREST_NEIGHBOR[] = "ResizeNearestNeighbor";
602 constexpr char CUM_SUM[] = "CumSum";
603 constexpr char CUM_MAX[] = "Cummax";
604 constexpr char CUM_MIN[] = "Cummin";
605 constexpr char CUM_PROD[] = "CumProd";
606 constexpr char BOUNDING_BOX_ENCODE[] = "BoundingBoxEncode";
607 constexpr char IOU[] = "IOU";
608 constexpr char RANDOM_CHOICE_WITH_MASK[] = "RandomChoiceWithMask";
609 constexpr char CROP_AND_RESIZE[] = "CropAndResize";
610 constexpr char MASKED_FILL[] = "MaskedFill";
611 constexpr char MAX[] = "Max";
612 constexpr char ROI_ALIGN[] = "ROIAlign";
613 constexpr char SQUARE_SUM_ALL[] = "SquareSumAll";
614 constexpr char IS_FINITE[] = "IsFinite";
615 constexpr char GENERATEEODMASK[] = "GenerateEodMask";
616 constexpr char RINT[] = "Rint";
617 constexpr char HSHRINK[] = "HShrink";
618 constexpr char HSIGMOID[] = "HSigmoid";
619 constexpr char MISH[] = "Mish";
620 constexpr char SELU[] = "SeLU";
621 constexpr char SOFT_SHRINK[] = "SoftShrink";
622 constexpr char XLOGY[] = "Xlogy";
623 constexpr char XDIVY[] = "Xdivy";
624 constexpr char HYPOT[] = "Hypot";
625 constexpr char IGAMMA[] = "Igamma";
626 constexpr char IGAMMAC[] = "Igammac";
627 constexpr char LEFT_SHIFT[] = "LeftShift";
628 constexpr char RIGHT_SHIFT[] = "RightShift";
629 constexpr char NEXT_AFTER[] = "NextAfter";
630 constexpr char ZETA[] = "Zeta";
631 constexpr char GCD[] = "Gcd";
632 constexpr char CHECK_VALID[] = "CheckValid";
633 constexpr char INVERT[] = "Invert";
634 constexpr char POPULATION_COUNT[] = "PopulationCount";
635 constexpr char BITWISE_AND[] = "BitwiseAnd";
636 constexpr char BITWISE_OR[] = "BitwiseOr";
637 constexpr char BITWISE_XOR[] = "BitwiseXor";
638 constexpr char MUL_NO_NAN[] = "MulNoNan";
639 constexpr char TRUNCATE_DIV[] = "TruncateDiv";
640 constexpr char TRUNCATE_MOD[] = "TruncateMod";
641 constexpr char INPLACE_ADD[] = "InplaceAdd";
642 constexpr char INPLACE_SUB[] = "InplaceSub";
643 constexpr char INPLACE_UPDATE[] = "InplaceUpdate";
644 constexpr char INPLACE_UPDATEV2[] = "InplaceUpdateV2";
645 constexpr char CDIST[] = "Cdist";
646 constexpr char L2_LOSS[] = "L2Loss";
647 constexpr char LERP[] = "Lerp";
648 constexpr char SQUARED_DIFFERENCE[] = "SquaredDifference";
649 constexpr char ERFINV[] = "Erfinv";
650 constexpr char SPLITV[] = "SplitV";
651 constexpr char GAMMA[] = "Gamma";
652 constexpr char PAD_V3[] = "PadV3";
653 constexpr char KLDIV_LOSS[] = "KLDivLoss";
654 constexpr char LIN_SPACE[] = "LinSpace";
655 constexpr char LIN_SPACE_EXT[] = "LinSpaceExt";
656 constexpr char SORT[] = "SORT";
657 constexpr char FILLV2[] = "FillV2";
658 constexpr char WKV[] = "WKV";
659 constexpr char FFN[] = "FFN";
660 constexpr char FLASH_ATTENTION_SCORE[] = "FlashAttentionScore";
661 constexpr char FUSED_INFER_ATTENTION_SCORE[] = "FusedInferAttentionScore";
662 constexpr char KV_CACHE_MGR[] = "KVCacheMgr";
663 constexpr char GROUPED_MATMUL[] = "GroupedMatmul";
664 constexpr char TUPLE_GETITEM_OP[] = "TupleGetItem";
665 constexpr char CONVOLUTION[] = "Convolution";
666 
667 // pipeline
668 constexpr size_t PIPELINE_FUSTION_OFFSET = 100;
669 constexpr char MICRO[] = "micro";
670 constexpr char ENABLE_PIPELINE_MEMORY_OPTIMIZE[] = "ENABLE_PIPELINE_MEMORY_OPTIMIZE";
671 constexpr char NO_UPDATE[] = "no_update";
672 constexpr char HAS_ATTACHED[] = "has_attached";
673 constexpr char CHUNK[] = "chunk";
674 constexpr char ORDER[] = "order";
675 constexpr char STAGE[] = "stage";
676 constexpr auto MICRO_INTERLEAVED_TAG = "micro_interleaved_tag";
677 constexpr char DEST_RANK[] = "dest_rank";
678 constexpr char SRC_RANK[] = "src_rank";
679 constexpr char PIPELINE_PARAM[] = "pipeline_param";
680 constexpr char PIPELINE_END[] = "pipeline_end";
681 constexpr char PIPELINE_BEGIN[] = "pipeline_begin";
682 constexpr char SEGMENT[] = "segment";
683 constexpr char SEGMENT_MAX[] = "segment_max";
684 constexpr char BACKWARD_MICRO_END[] = "backward_micro_end";
685 constexpr char FORWARD_END[] = "forward_end";
686 constexpr char SLICE_INDEX[] = "slice_index";
687 constexpr char MAIN_GRAPH[] = "main_graph";
688 constexpr char SR_TAG[] = "sr_tag";
689 constexpr char NEED_GRAD[] = "need_grad";
690 constexpr char GROUP_BACK[] = "group_back";
691 constexpr char MIRROR_MICRO_STEP_OPERATOR[] = "_MirrorMicroStepOperator";
692 constexpr char PARAMETER_MICRO[] = "parameter_micro";
693 constexpr char VIRTUAL_ASSIGN_ADD[] = "_VirtualAssignAdd";
694 constexpr char VIRTUAL_ACCU_GRAD[] = "_VirtualAccuGrad";
695 constexpr char ACCU_GRAD[] = "accu_grad";
696 constexpr char PARAMETER_START[] = "parameter_start";
697 constexpr char PARAMETER_START_SHARE_CELL[] = "parameter_start_share_cell";
698 constexpr char PARAM_INDEX[] = "param_index";
699 constexpr char PARAMETER[] = "parameter";
700 constexpr char FUNC_GRAPH_FLAG_STRIDED_SLICE[] = "strided_slice_flag";
701 constexpr char INTERLEAVED_NUM[] = "interleave_num";
702 constexpr char MICRO_INTERLEAVED_INDEX[] = "micro_interleaved_index";
703 constexpr char MICRO_INTERLEAVED_FORWARD_COMM_ORDER[] = "micro_interleaved_forward_comm_order";
704 constexpr char FINE_GRAINED_INTERLEAVED_TAG[] = "fine_grained_interleaved_tag";
705 constexpr char FINE_GRAINED_INTERLEAVED_BLOCK[] = "fine_grained_interleaved_block";
706 constexpr char SEND_REC_DEPEND[] = "send_receive_depend";
707 constexpr char USER_NODE_STAGE[] = "user_node_stage";
708 constexpr char NODE_STAGE[] = "node_stage";
709 constexpr char SLICE_SHAPE[] = "slice_shape";
710 constexpr char FULL_SHAPE[] = "full_shape";
711 constexpr char SLICE_DTYPE[] = "slice_dtype";
712 constexpr char INPUT_PARAM[] = "input_param";
713 constexpr char ORIGIN_INPUT_IS_PARAM[] = "origin_input_is_param";
714 constexpr char CALL_BACKWARD_END_NEXT[] = "call_backward_end_next";
715 
716 // Parallel don't care
717 constexpr char MAKE_TUPLE[] = "MakeTuple";
718 constexpr char MAKE_TUPLE_OP[] = "make_tuple";
719 constexpr char MAKE_LIST[] = "make_list";
720 constexpr char MAKE_DICT[] = "make_dict";
721 constexpr char MAKE_SLICE[] = "make_slice";
722 constexpr char LIST_GETITEM[] = "list_getitem";
723 constexpr char ARRAY_GETITEM[] = "array_getitem";
724 constexpr char TUPLE_SETITEM[] = "tuple_setitem";
725 constexpr char TUPLE_GETITEM[] = "tuple_getitem";
726 constexpr char LIST_SETITEM[] = "list_setitem";
727 constexpr char ARRAY_SETITEM[] = "array_setitem";
728 constexpr char DICT_GETITEM[] = "dict_getitem";
729 constexpr char LIST_APPEND[] = "list_append";
730 constexpr char LIST_MAP[] = "list_map";
731 constexpr char LIST_REDUCE[] = "list_reduce";
732 constexpr char TUPLE_REVERSED[] = "tuple_reversed";
733 constexpr char TILE_SHAPE[] = "tile_shape";
734 constexpr char REDUCED_SHAPE[] = "reduced_shape";
735 constexpr char TUPLE_DIV[] = "tuple_div";
736 constexpr char TUPLE_TO_ARRAY[] = "tuple_to_array";
737 constexpr char VIRTUALLOSS[] = "VirtualLoss";
738 constexpr char RETURN[] = "Return";
739 constexpr char ENVIRONGET[] = "EnvironGet";
740 constexpr char IDENTITY[] = "identity";
741 constexpr char PARTIAL[] = "partial";
742 constexpr char ENVIRONSET[] = "EnvironSet";
743 constexpr char ENVIRONADD[] = "EnvironAdd";
744 constexpr char STATESETITEM[] = "state_setitem";
745 constexpr char SCALARSUMMARY[] = "ScalarSummary";
746 constexpr char IMAGESUMMARY[] = "ImageSummary";
747 constexpr char TENSORSUMMARY[] = "TensorSummary";
748 constexpr char HISTOGRAMSUMMARY[] = "HistogramSummary";
749 constexpr char TENSORDUMP[] = "TensorDump";
750 constexpr char DEBUG[] = "Debug";
751 constexpr char BROADCASTGRADIENTARGS[] = "BroadcastGradientArgs";
752 constexpr char INVERTPERMUTATION[] = "InvertPermutation";
753 constexpr char DOT[] = "dot";
754 constexpr char IM2COL[] = "im2col";
755 constexpr char COL2IM[] = "col2im";
756 constexpr char IM2COLV1[] = "im2col_v1";
757 constexpr char COL2IMV1[] = "col2im_v1";
758 constexpr char RESOLVE[] = "resolve";
759 constexpr char EMBED[] = "embed";
760 constexpr char CREATINSTANCE[] = "create_instance";
761 constexpr char REF_TO_EMBED[] = "RefToEmbed";
762 constexpr char STOP_GRADIENT[] = "StopGradient";
763 constexpr char UPDATESTATE[] = "UpdateState";
764 constexpr char LOAD[] = "Load";
765 constexpr char OPPOSITE_RANK[] = "opposite_rank";
766 constexpr char TARGET_PARAM[] = "target_param";
767 constexpr char ASCEND_QUANT[] = "Quant";
768 constexpr char ASCEND_QUANTV2[] = "QuantV2";
769 constexpr char ASCEND_DEQUANT[] = "Dequant";
770 constexpr char ANTI_QUANT[] = "AntiQuant";
771 constexpr char MESHGRID[] = "Meshgrid";
772 
773 // Batch parallel black list
774 constexpr char TENSOR_SCATTER_UPDATE[] = "TensorScatterUpdate";
775 constexpr char TENSOR_SCATTER_ELEMENTS[] = "TensorScatterElements";
776 constexpr char STACK[] = "Stack";
777 constexpr char STACK_EXT[] = "StackExt";
778 constexpr char GRID_SAMPLER_2D[] = "GridSampler2D";
779 
LAST_INDEX(size_t s)780 constexpr size_t LAST_INDEX(size_t s) {
781   if (s < 1) {
782     MS_LOG(EXCEPTION) << "Get last index for an empty size.";
783   }
784   return s - 1;
785 }
SECOND_FROM_END(size_t s)786 constexpr size_t SECOND_FROM_END(size_t s) {
787   if (s < 2) {
788     MS_LOG(EXCEPTION) << "Get second index from end for a size less than two.";
789   }
790   return s - 2;
791 }
THIRD_FROM_END(size_t s)792 constexpr size_t THIRD_FROM_END(size_t s) {
793   if (s < 3) {
794     MS_LOG(EXCEPTION) << "Get third index from end for a size less than three.";
795   }
796   return s - 3;
797 }
798 }  // namespace parallel
799 }  // namespace mindspore
800 
801 #endif  // MINDSPORE_CCSRC_FRONTEND_PARALLEL_OPS_INFO_OPS_UTILS_H_
802