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)780constexpr 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)786constexpr 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)792constexpr 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