mindspore 2.1.0__cp39-none-any.whl → 2.2.11__cp39-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/__init__.py +4 -1
- mindspore/_akg/akg/build_module.py +5 -6
- mindspore/_akg/akg/composite/build_module.py +139 -22
- mindspore/_akg/akg/composite/split_stitch.py +10 -11
- mindspore/_akg/akg/ms/info_version_adapt.py +67 -1
- mindspore/_akg/akg/tvm/api.py +4 -3
- mindspore/_akg/akg/tvm/autotvm/__init__.py +1 -2
- mindspore/_akg/akg/tvm/autotvm/graph_tuner/base_graph_tuner.py +1 -5
- mindspore/_akg/akg/tvm/autotvm/measure/__init__.py +1 -1
- mindspore/_akg/akg/tvm/autotvm/measure/measure.py +1 -10
- mindspore/_akg/akg/tvm/autotvm/measure/measure_methods.py +1 -372
- mindspore/_akg/akg/tvm/build_module.py +16 -1
- mindspore/_akg/akg/tvm/contrib/graph_runtime.py +0 -53
- mindspore/_akg/akg/tvm/hybrid/parser.py +7 -6
- mindspore/_akg/akg/tvm/ir_builder.py +1 -1
- mindspore/_akg/akg/tvm/module.py +1 -2
- mindspore/_akg/akg/tvm/stmt.py +2 -2
- mindspore/_akg/akg/utils/ascend_profilier/cann_file_parser.py +76 -0
- mindspore/_akg/akg/utils/ascend_profilier/file_manager.py +56 -0
- mindspore/_akg/akg/utils/ascend_profilier/op_summary_bean.py +23 -0
- mindspore/_akg/akg/utils/ascend_profilier/op_summary_headers.py +8 -0
- mindspore/_akg/akg/utils/ascend_profilier/op_summary_parser.py +42 -0
- mindspore/_akg/akg/utils/ascend_profilier/path_manager.py +65 -0
- mindspore/_akg/akg/utils/composite_op_helper.py +16 -12
- mindspore/_akg/akg/utils/dump_ascend_meta.py +22 -3
- mindspore/_akg/akg/utils/kernel_exec.py +98 -274
- mindspore/_akg/akg/utils/result_analysis.py +4 -24
- mindspore/_akg/akg/utils/tbe_codegen_utils.py +219 -0
- mindspore/_akg/akg/utils/util.py +56 -1
- mindspore/_c_dataengine.cpython-39-aarch64-linux-gnu.so +0 -0
- mindspore/_c_expression.cpython-39-aarch64-linux-gnu.so +0 -0
- mindspore/_c_mindrecord.cpython-39-aarch64-linux-gnu.so +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -1
- mindspore/_checkparam.py +23 -29
- mindspore/_extends/graph_kernel/__init__.py +0 -1
- mindspore/_extends/graph_kernel/model/graph_split.py +84 -76
- mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
- mindspore/_extends/graph_kernel/splitter.py +4 -11
- mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +122 -15
- mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +84 -67
- mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
- mindspore/_extends/parallel_compile/akg_compiler/util.py +10 -7
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +2 -2
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +6 -5
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
- mindspore/_extends/parse/__init__.py +13 -15
- mindspore/_extends/parse/namespace.py +7 -33
- mindspore/_extends/parse/parser.py +67 -72
- mindspore/_extends/parse/resources.py +1 -1
- mindspore/_extends/parse/standard_method.py +86 -106
- mindspore/_extends/parse/trope.py +1 -1
- mindspore/_extends/remote/kernel_build_server.py +25 -7
- mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
- mindspore/_install_custom.py +43 -0
- mindspore/_mindspore_offline_debug.cpython-39-aarch64-linux-gnu.so +0 -0
- mindspore/amp.py +47 -11
- mindspore/bin/cache_admin +0 -0
- mindspore/bin/cache_server +0 -0
- mindspore/boost/boost.py +1 -8
- mindspore/boost/boost_cell_wrapper.py +3 -2
- mindspore/boost/grad_accumulation.py +1 -1
- mindspore/boost/group_loss_scale_manager.py +8 -7
- mindspore/common/__init__.py +5 -3
- mindspore/common/_jit_fallback_utils.py +6 -0
- mindspore/common/_register_for_adapter.py +2 -0
- mindspore/common/_register_for_tensor.py +2 -2
- mindspore/common/_stub_tensor.py +13 -0
- mindspore/common/_utils.py +29 -0
- mindspore/common/api.py +174 -259
- mindspore/common/auto_dynamic_shape.py +494 -0
- mindspore/common/dtype.py +18 -11
- mindspore/common/dump.py +6 -4
- mindspore/common/initializer.py +14 -14
- mindspore/common/jit_config.py +33 -15
- mindspore/common/lazy_inline.py +126 -7
- mindspore/common/mindir_util.py +101 -0
- mindspore/common/parameter.py +51 -41
- mindspore/common/seed.py +4 -4
- mindspore/common/sparse_tensor.py +13 -14
- mindspore/common/tensor.py +243 -165
- mindspore/communication/__init__.py +7 -4
- mindspore/communication/_comm_helper.py +83 -4
- mindspore/communication/management.py +152 -84
- mindspore/config/op_info.config +14 -3
- mindspore/config/super_bar_config.json +4 -2
- mindspore/context.py +152 -61
- mindspore/dataset/__init__.py +5 -5
- mindspore/dataset/audio/__init__.py +2 -2
- mindspore/dataset/audio/transforms.py +52 -52
- mindspore/dataset/callback/ds_callback.py +16 -2
- mindspore/dataset/core/config.py +68 -51
- mindspore/dataset/engine/cache_client.py +33 -7
- mindspore/dataset/engine/datasets.py +250 -112
- mindspore/dataset/engine/datasets_audio.py +43 -211
- mindspore/dataset/engine/datasets_standard_format.py +16 -35
- mindspore/dataset/engine/datasets_text.py +43 -67
- mindspore/dataset/engine/datasets_user_defined.py +86 -100
- mindspore/dataset/engine/datasets_vision.py +219 -1029
- mindspore/dataset/engine/iterators.py +11 -4
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +4 -0
- mindspore/dataset/engine/obs/util.py +3 -0
- mindspore/dataset/engine/samplers.py +1 -1
- mindspore/dataset/engine/validators.py +19 -5
- mindspore/dataset/text/__init__.py +3 -3
- mindspore/dataset/text/transforms.py +101 -127
- mindspore/dataset/text/utils.py +205 -138
- mindspore/dataset/transforms/__init__.py +1 -1
- mindspore/dataset/transforms/py_transforms_util.py +40 -12
- mindspore/dataset/transforms/transforms.py +95 -40
- mindspore/dataset/utils/browse_dataset.py +8 -2
- mindspore/dataset/utils/line_reader.py +17 -19
- mindspore/dataset/vision/__init__.py +3 -3
- mindspore/dataset/vision/c_transforms.py +6 -3
- mindspore/dataset/vision/transforms.py +409 -287
- mindspore/dataset/vision/utils.py +13 -14
- mindspore/dataset/vision/validators.py +11 -1
- mindspore/experimental/map_parameter.py +14 -0
- mindspore/{nn/optim_ex → experimental/optim}/__init__.py +30 -29
- mindspore/{nn/optim_ex → experimental/optim}/adam.py +60 -67
- mindspore/{nn/optim_ex → experimental/optim}/adamw.py +181 -203
- mindspore/experimental/optim/lr_scheduler.py +1427 -0
- mindspore/{nn/optim_ex → experimental/optim}/optimizer.py +252 -259
- mindspore/{nn/optim_ex → experimental/optim}/sgd.py +147 -152
- mindspore/gen_ops.py +273 -0
- mindspore/include/OWNERS +0 -1
- mindspore/include/api/data_type.h +2 -1
- mindspore/include/api/graph.h +0 -15
- mindspore/include/api/kernel.h +2 -0
- mindspore/include/api/kernel_api.h +37 -12
- mindspore/include/api/model.h +17 -14
- mindspore/include/api/status.h +8 -3
- mindspore/include/api/types.h +37 -4
- mindspore/include/c_api/ms/abstract.h +67 -0
- mindspore/include/c_api/ms/attribute.h +197 -0
- mindspore/include/c_api/ms/base/handle_types.h +43 -0
- mindspore/include/c_api/ms/base/macros.h +32 -0
- mindspore/include/c_api/ms/base/status.h +33 -0
- mindspore/include/c_api/ms/base/types.h +282 -0
- mindspore/include/c_api/ms/context.h +102 -0
- mindspore/include/c_api/ms/graph.h +160 -0
- mindspore/include/c_api/ms/node.h +606 -0
- mindspore/include/c_api/ms/tensor.h +161 -0
- mindspore/include/c_api/ms/value.h +84 -0
- mindspore/include/dataset/constants.h +6 -5
- mindspore/include/dataset/execute.h +23 -13
- mindspore/include/dataset/text.h +26 -26
- mindspore/include/dataset/transforms.h +13 -13
- mindspore/include/dataset/vision.h +60 -60
- mindspore/include/dataset/vision_ascend.h +5 -6
- mindspore/include/dataset/vision_lite.h +17 -17
- mindspore/include/mindapi/base/type_id.h +1 -0
- mindspore/include/mindapi/base/types.h +1 -0
- mindspore/lib/libdnnl.so.2 +0 -0
- mindspore/lib/libjemalloc.so.2 +0 -0
- mindspore/lib/libmindspore.so +0 -0
- mindspore/lib/libmindspore_backend.so +0 -0
- mindspore/lib/libmindspore_common.so +0 -0
- mindspore/lib/libmindspore_core.so +0 -0
- mindspore/lib/libmindspore_glog.so.0 +0 -0
- mindspore/lib/libmindspore_gpr.so.15 +0 -0
- mindspore/lib/libmindspore_grpc++.so.1 +0 -0
- mindspore/lib/libmindspore_grpc.so.15 +0 -0
- mindspore/lib/libmindspore_shared_lib.so +0 -0
- mindspore/lib/libnnacl.so +0 -0
- mindspore/lib/libopencv_core.so.4.5 +0 -0
- mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
- mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
- mindspore/lib/libps_cache.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310/aic-ascend310-ops-info.json +123 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310p/aic-ascend310p-ops-info.json +123 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +158 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +37 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_proto/libop_proto.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +8998 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
- mindspore/lib/plugin/ascend/libakg.so +0 -0
- mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
- mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
- mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
- mindspore/lib/plugin/cpu/libakg.so +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
- mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
- mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
- mindspore/nn/__init__.py +0 -2
- mindspore/nn/cell.py +313 -74
- mindspore/nn/dynamic_lr.py +21 -21
- mindspore/nn/layer/activation.py +22 -30
- mindspore/nn/layer/basic.py +15 -13
- mindspore/nn/layer/channel_shuffle.py +1 -1
- mindspore/nn/layer/container.py +271 -9
- mindspore/nn/layer/conv.py +323 -204
- mindspore/nn/layer/dense.py +8 -5
- mindspore/nn/layer/embedding.py +33 -27
- mindspore/nn/layer/flash_attention.py +61 -95
- mindspore/nn/layer/image.py +8 -6
- mindspore/nn/layer/math.py +16 -25
- mindspore/nn/layer/normalization.py +107 -66
- mindspore/nn/layer/padding.py +1 -1
- mindspore/nn/layer/pooling.py +131 -109
- mindspore/nn/layer/rnn_cells.py +27 -22
- mindspore/nn/layer/rnns.py +13 -16
- mindspore/nn/layer/thor_layer.py +1 -1
- mindspore/nn/layer/transformer.py +221 -154
- mindspore/nn/learning_rate_schedule.py +9 -1
- mindspore/nn/loss/loss.py +235 -174
- mindspore/nn/optim/ada_grad.py +2 -1
- mindspore/nn/optim/adadelta.py +1 -0
- mindspore/nn/optim/adafactor.py +2 -1
- mindspore/nn/optim/adam.py +7 -4
- mindspore/nn/optim/adamax.py +3 -2
- mindspore/nn/optim/adasum.py +2 -2
- mindspore/nn/optim/asgd.py +2 -3
- mindspore/nn/optim/ftrl.py +6 -5
- mindspore/nn/optim/lamb.py +7 -4
- mindspore/nn/optim/lars.py +1 -1
- mindspore/nn/optim/lazyadam.py +5 -3
- mindspore/nn/optim/momentum.py +2 -1
- mindspore/nn/optim/optimizer.py +53 -4
- mindspore/nn/optim/proximal_ada_grad.py +3 -4
- mindspore/nn/optim/rmsprop.py +4 -3
- mindspore/nn/optim/rprop.py +23 -12
- mindspore/nn/optim/sgd.py +26 -11
- mindspore/nn/optim/thor.py +9 -7
- mindspore/nn/probability/bijector/bijector.py +5 -5
- mindspore/nn/probability/bijector/power_transform.py +27 -27
- mindspore/nn/probability/bijector/softplus.py +3 -3
- mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
- mindspore/nn/probability/distribution/bernoulli.py +5 -5
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +7 -7
- mindspore/nn/probability/distribution/cauchy.py +0 -1
- mindspore/nn/probability/distribution/distribution.py +3 -3
- mindspore/nn/probability/distribution/gamma.py +3 -3
- mindspore/nn/probability/distribution/geometric.py +4 -4
- mindspore/nn/probability/distribution/gumbel.py +4 -4
- mindspore/nn/probability/distribution/log_normal.py +2 -2
- mindspore/nn/probability/distribution/logistic.py +2 -2
- mindspore/nn/probability/distribution/poisson.py +4 -4
- mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
- mindspore/nn/probability/distribution/uniform.py +6 -6
- mindspore/nn/wrap/__init__.py +4 -2
- mindspore/nn/wrap/cell_wrapper.py +87 -34
- mindspore/nn/wrap/grad_reducer.py +8 -5
- mindspore/nn/wrap/loss_scale.py +105 -42
- mindspore/numpy/array_creations.py +1 -2
- mindspore/numpy/array_ops.py +3 -2
- mindspore/numpy/utils_const.py +5 -5
- mindspore/offline_debug/convert_async.py +2 -2
- mindspore/ops/_grad_experimental/__init__.py +0 -5
- mindspore/ops/_grad_experimental/grad_array_ops.py +2 -3
- mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
- mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
- mindspore/ops/_grad_experimental/grad_implementations.py +11 -1
- mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
- mindspore/ops/_grad_experimental/grad_math_ops.py +19 -199
- mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
- mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
- mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
- mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
- mindspore/ops/_op_impl/aicpu/add.py +3 -3
- mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
- mindspore/ops/_op_impl/{_custom_op/flash_attention/constants.py → aicpu/eps.py} +18 -27
- mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
- mindspore/ops/_op_impl/aicpu/linear_sum_assignment.py +21 -2
- mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
- mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
- mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
- mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
- mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
- mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
- mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
- mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
- mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
- mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
- mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
- mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
- mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
- mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
- mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
- mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
- mindspore/ops/_op_impl/tbe/__init__.py +4 -4
- mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
- mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
- mindspore/ops/_primitive_cache.py +1 -1
- mindspore/ops/_tracefunc.py +45 -13
- mindspore/ops/_utils/utils.py +6 -1
- mindspore/ops/_vmap/vmap_array_ops.py +3 -3
- mindspore/ops/_vmap/vmap_base.py +3 -3
- mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
- mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
- mindspore/ops/_vmap/vmap_math_ops.py +5 -2
- mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
- mindspore/ops/arg_dtype_cast.py +54 -0
- mindspore/ops/composite/base.py +37 -10
- mindspore/ops/composite/math_ops.py +5 -4
- mindspore/ops/composite/multitype_ops/_compile_utils.py +275 -73
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
- mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
- mindspore/ops/composite/multitype_ops/getitem_impl.py +42 -4
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
- mindspore/ops/deprecated.py +304 -0
- mindspore/ops/function/__init__.py +4 -1
- mindspore/ops/function/array_func.py +174 -193
- mindspore/ops/function/clip_func.py +81 -13
- mindspore/ops/function/debug_func.py +1 -1
- mindspore/ops/function/grad/grad_func.py +18 -9
- mindspore/ops/function/image_func.py +10 -4
- mindspore/ops/function/linalg_func.py +5 -5
- mindspore/ops/function/math_func.py +575 -386
- mindspore/ops/function/nn_func.py +568 -260
- mindspore/ops/function/random_func.py +88 -57
- mindspore/ops/function/sparse_func.py +1 -1
- mindspore/ops/function/sparse_unary_func.py +14 -12
- mindspore/ops/function/vmap_func.py +6 -5
- mindspore/ops/functional.py +15 -10
- mindspore/ops/op_info_register.py +244 -25
- mindspore/ops/operations/__init__.py +31 -19
- mindspore/ops/operations/_grad_ops.py +71 -7
- mindspore/ops/operations/_inner_ops.py +350 -17
- mindspore/ops/operations/_quant_ops.py +4 -8
- mindspore/ops/operations/_sequence_ops.py +42 -0
- mindspore/ops/operations/array_ops.py +68 -282
- mindspore/ops/operations/comm_ops.py +107 -59
- mindspore/ops/operations/custom_ops.py +94 -70
- mindspore/ops/operations/debug_ops.py +8 -4
- mindspore/ops/operations/image_ops.py +18 -12
- mindspore/ops/operations/inner_ops.py +26 -3
- mindspore/ops/operations/math_ops.py +192 -144
- mindspore/ops/operations/nn_ops.py +857 -489
- mindspore/ops/operations/other_ops.py +0 -22
- mindspore/ops/operations/random_ops.py +53 -111
- mindspore/ops/operations/sparse_ops.py +3 -1
- mindspore/ops/primitive.py +24 -18
- mindspore/parallel/_auto_parallel_context.py +68 -8
- mindspore/parallel/_cost_model_context.py +2 -2
- mindspore/parallel/_offload_context.py +17 -3
- mindspore/parallel/_parallel_serialization.py +12 -5
- mindspore/parallel/_ps_context.py +12 -0
- mindspore/parallel/_tensor.py +18 -13
- mindspore/parallel/_transformer/layers.py +5 -3
- mindspore/parallel/_transformer/loss.py +1 -0
- mindspore/parallel/_transformer/moe.py +2 -2
- mindspore/parallel/_transformer/op_parallel_config.py +12 -1
- mindspore/parallel/_transformer/transformer.py +23 -3
- mindspore/parallel/_utils.py +11 -7
- mindspore/parallel/algo_parameter_config.py +85 -5
- mindspore/parallel/checkpoint_transform.py +19 -12
- mindspore/parallel/shard.py +21 -14
- mindspore/profiler/common/struct_type.py +3 -3
- mindspore/profiler/common/util.py +4 -2
- mindspore/profiler/envprofiling.py +1 -1
- mindspore/profiler/parser/aicpu_data_parser.py +5 -3
- mindspore/profiler/parser/ascend_flops_generator.py +2 -2
- mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
- mindspore/profiler/parser/ascend_hccl_generator.py +249 -12
- mindspore/profiler/parser/ascend_msprof_exporter.py +150 -255
- mindspore/profiler/parser/ascend_msprof_generator.py +204 -17
- mindspore/profiler/parser/ascend_op_generator.py +6 -6
- mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
- mindspore/profiler/parser/ascend_timeline_generator.py +14 -187
- mindspore/profiler/parser/base_timeline_generator.py +10 -8
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +16 -12
- mindspore/profiler/parser/flops_parser.py +15 -11
- mindspore/profiler/parser/framework_parser.py +38 -22
- mindspore/profiler/parser/hccl_parser.py +16 -12
- mindspore/profiler/parser/integrator.py +22 -11
- mindspore/profiler/parser/memory_usage_parser.py +2 -2
- mindspore/profiler/parser/minddata_analyzer.py +12 -14
- mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
- mindspore/profiler/parser/msadvisor_parser.py +8 -4
- mindspore/profiler/parser/op_intermediate_parser.py +5 -2
- mindspore/profiler/parser/optime_parser.py +1 -1
- mindspore/profiler/parser/profiler_info.py +21 -2
- mindspore/profiler/parser/step_trace_parser.py +11 -14
- mindspore/profiler/profiling.py +179 -89
- mindspore/rewrite/api/node.py +102 -19
- mindspore/rewrite/api/node_type.py +5 -1
- mindspore/rewrite/api/pattern_engine.py +1 -1
- mindspore/rewrite/api/scoped_value.py +9 -17
- mindspore/rewrite/api/symbol_tree.py +131 -47
- mindspore/rewrite/ast_helpers/__init__.py +2 -1
- mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
- mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
- mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
- mindspore/rewrite/common/rewrite_elog.py +5 -1
- mindspore/rewrite/namer.py +33 -24
- mindspore/rewrite/namespace.py +14 -5
- mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
- mindspore/rewrite/node/call_function.py +79 -0
- mindspore/rewrite/node/cell_container.py +135 -0
- mindspore/rewrite/node/control_flow.py +88 -0
- mindspore/rewrite/{node.py → node/node.py} +273 -234
- mindspore/rewrite/node/node_manager.py +254 -0
- mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
- mindspore/rewrite/parsers/arguments_parser.py +22 -21
- mindspore/rewrite/parsers/assign_parser.py +216 -221
- mindspore/rewrite/parsers/attribute_parser.py +9 -7
- mindspore/rewrite/parsers/class_def_parser.py +174 -113
- mindspore/rewrite/parsers/constant_parser.py +9 -6
- mindspore/rewrite/parsers/container_parser.py +9 -7
- mindspore/rewrite/parsers/for_parser.py +42 -21
- mindspore/rewrite/parsers/function_def_parser.py +24 -16
- mindspore/rewrite/parsers/if_parser.py +28 -24
- mindspore/rewrite/parsers/module_parser.py +196 -25
- mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
- mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
- mindspore/rewrite/parsers/return_parser.py +6 -6
- mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
- mindspore/rewrite/sparsify/utils.py +1 -1
- mindspore/rewrite/symbol_tree.py +523 -578
- mindspore/rewrite/symbol_tree_builder.py +9 -193
- mindspore/rewrite/symbol_tree_dumper.py +2 -2
- mindspore/run_check/_check_version.py +6 -4
- mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
- mindspore/safeguard/rewrite_obfuscation.py +541 -0
- mindspore/scipy/linalg.py +1 -1
- mindspore/scipy/ops.py +55 -5
- mindspore/scipy/optimize/__init__.py +3 -2
- mindspore/scipy/optimize/linear_sum_assignment.py +38 -33
- mindspore/scipy/optimize/minimize.py +7 -3
- mindspore/train/_utils.py +7 -3
- mindspore/train/amp.py +323 -123
- mindspore/train/anf_ir_pb2.py +14 -2
- mindspore/train/callback/_backup_and_restore.py +2 -12
- mindspore/train/callback/_callback.py +29 -4
- mindspore/train/callback/_checkpoint.py +23 -8
- mindspore/train/callback/_early_stop.py +2 -2
- mindspore/train/callback/_landscape.py +4 -4
- mindspore/train/callback/_loss_monitor.py +2 -2
- mindspore/train/callback/_on_request_exit.py +2 -2
- mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
- mindspore/train/callback/_summary_collector.py +15 -8
- mindspore/train/callback/_time_monitor.py +58 -5
- mindspore/train/data_sink.py +5 -11
- mindspore/train/dataset_helper.py +84 -57
- mindspore/train/loss_scale_manager.py +2 -2
- mindspore/train/metrics/__init__.py +3 -3
- mindspore/train/metrics/cosine_similarity.py +1 -1
- mindspore/train/metrics/hausdorff_distance.py +3 -2
- mindspore/train/metrics/mean_surface_distance.py +3 -2
- mindspore/train/metrics/metric.py +39 -19
- mindspore/train/metrics/roc.py +2 -2
- mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
- mindspore/train/mind_ir_pb2.py +85 -36
- mindspore/train/model.py +187 -47
- mindspore/train/serialization.py +487 -161
- mindspore/train/summary/_summary_adapter.py +1 -1
- mindspore/train/summary/_writer_pool.py +3 -2
- mindspore/train/summary/summary_record.py +37 -17
- mindspore/train/train_thor/convert_utils.py +3 -3
- mindspore/train/train_thor/dataset_helper.py +1 -1
- mindspore/version.py +1 -1
- {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/METADATA +8 -8
- {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/RECORD +477 -528
- {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/entry_points.txt +0 -1
- mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
- mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
- mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
- mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
- mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
- mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
- mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
- mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
- mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
- mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
- mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
- mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
- mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
- mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
- mindspore/_akg/akg/tvm/rpc/base.py +0 -182
- mindspore/_akg/akg/tvm/rpc/client.py +0 -436
- mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
- mindspore/_akg/akg/tvm/rpc/server.py +0 -413
- mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
- mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
- mindspore/_extends/graph_kernel/expander.py +0 -80
- mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
- mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
- mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
- mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
- mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
- mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
- mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
- mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
- mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
- mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
- mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
- mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
- mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
- mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
- mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
- mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
- mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
- mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
- mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
- mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
- mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
- mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
- mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
- mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
- mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
- mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
- mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
- mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
- mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
- mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
- mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
- mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
- mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
- mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
- mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
- mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
- mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
- mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
- mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
- mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
- mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
- mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
- mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
- mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
- mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
- mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
- mindspore/dataset/datapreprocess/__init__.py +0 -20
- mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
- mindspore/include/api/net.h +0 -142
- mindspore/nn/lr_scheduler.py +0 -262
- mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
- mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
- mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
- mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
- mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
- mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +0 -350
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +0 -409
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +0 -578
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +0 -199
- mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +0 -446
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/__init__.py +0 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/sparse_tiling.py +0 -45
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/strategy.py +0 -67
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +0 -62
- mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
- mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
- mindspore/rewrite/node_visitor.py +0 -44
- /mindspore/{ops/_op_impl/_custom_op/flash_attention → _akg/akg/utils/ascend_profilier}/__init__.py +0 -0
- {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/WHEEL +0 -0
- {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/top_level.txt +0 -0
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# Copyright 2023 Huawei Technologies Co., Ltd
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
# ============================================================================
|
|
15
|
-
"""tiling for sparse """
|
|
16
|
-
from mindspore.ops._op_impl._custom_op.flash_attention.tiling_strategy.strategy import TilingPara
|
|
17
|
-
from mindspore.ops._op_impl._custom_op.flash_attention.tiling_strategy.strategy import TilingStrategy
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class SparseTiling(TilingStrategy):
|
|
21
|
-
"""A tiling strategy implementation for sparse shape"""
|
|
22
|
-
|
|
23
|
-
@classmethod
|
|
24
|
-
def strategy_name(cls):
|
|
25
|
-
return "sparse"
|
|
26
|
-
|
|
27
|
-
def tiling(self) -> TilingPara:
|
|
28
|
-
self.Br = min(128, self.Nq)
|
|
29
|
-
self.Bc = min(128, self.N)
|
|
30
|
-
|
|
31
|
-
self.Tr = self.Nq // self.Br
|
|
32
|
-
self.Tc = self.N // self.Bc
|
|
33
|
-
|
|
34
|
-
if self.Nq % self.Br != 0:
|
|
35
|
-
self.last_Br = self.Nq - self.Tr * self.Br
|
|
36
|
-
self.Tr += 1
|
|
37
|
-
else:
|
|
38
|
-
self.last_Br = self.Br
|
|
39
|
-
if self.N % self.Bc != 0:
|
|
40
|
-
self.last_Bc = self.N - self.Tc * self.Bc
|
|
41
|
-
self.Tc += 1
|
|
42
|
-
else:
|
|
43
|
-
self.last_Bc = self.Bc
|
|
44
|
-
|
|
45
|
-
return self.gen_tiling_para()
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Copyright 2023 Huawei Technologies Co., Ltd
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
# ============================================================================
|
|
15
|
-
"""The base class of tiling strategy"""
|
|
16
|
-
from abc import ABCMeta
|
|
17
|
-
from abc import abstractmethod
|
|
18
|
-
from collections import namedtuple
|
|
19
|
-
|
|
20
|
-
TilingPara = namedtuple("TilingPara", "Br last_Br Bc last_Bc Tr Tc")
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class TilingStrategy(metaclass=ABCMeta):
|
|
24
|
-
"""Tiling strategy interface. All implementations should be defined in this module,
|
|
25
|
-
otherwise, the UT will fail.
|
|
26
|
-
"""
|
|
27
|
-
|
|
28
|
-
_strategies = {}
|
|
29
|
-
|
|
30
|
-
def __init__(self, Nq, N, head_dim) -> None:
|
|
31
|
-
super().__init__()
|
|
32
|
-
self.Nq = Nq
|
|
33
|
-
self.N = N
|
|
34
|
-
self.Br = None
|
|
35
|
-
self.last_Br = None
|
|
36
|
-
self.Bc = None
|
|
37
|
-
self.last_Bc = None
|
|
38
|
-
self.Tr = None
|
|
39
|
-
self.Tc = None
|
|
40
|
-
self.d = head_dim
|
|
41
|
-
|
|
42
|
-
def __init_subclass__(cls, **kwargs):
|
|
43
|
-
TilingStrategy._strategies[cls.strategy_name()] = cls
|
|
44
|
-
|
|
45
|
-
@classmethod
|
|
46
|
-
@abstractmethod
|
|
47
|
-
def strategy_name(cls):
|
|
48
|
-
"""strategy name"""
|
|
49
|
-
raise NotImplementedError
|
|
50
|
-
|
|
51
|
-
@classmethod
|
|
52
|
-
def from_strategy_name(cls, stgy_name: str):
|
|
53
|
-
"""from strategy name"""
|
|
54
|
-
stgy_clz = TilingStrategy._strategies.get(stgy_name)
|
|
55
|
-
if stgy_clz is None:
|
|
56
|
-
raise Exception(f"Strategy:{stgy_name} not supported")
|
|
57
|
-
|
|
58
|
-
return stgy_clz
|
|
59
|
-
|
|
60
|
-
@abstractmethod
|
|
61
|
-
def tiling(self) -> TilingPara:
|
|
62
|
-
"""tiling"""
|
|
63
|
-
raise NotImplementedError
|
|
64
|
-
|
|
65
|
-
def gen_tiling_para(self) -> TilingPara:
|
|
66
|
-
"""gen tiling para"""
|
|
67
|
-
return TilingPara(self.Br, self.last_Br, self.Bc, self.last_Bc, self.Tr, self.Tc)
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Copyright 2023 Huawei Technologies Co., Ltd
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
# ============================================================================
|
|
15
|
-
"""wukong tiling"""
|
|
16
|
-
from mindspore.ops._op_impl._custom_op.flash_attention.tiling_strategy.strategy import TilingPara
|
|
17
|
-
from mindspore.ops._op_impl._custom_op.flash_attention.tiling_strategy.strategy import TilingStrategy
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class WukongTiling(TilingStrategy):
|
|
21
|
-
"""A tiling strategy implementation for wukonghuahua model shape"""
|
|
22
|
-
|
|
23
|
-
@classmethod
|
|
24
|
-
def strategy_name(cls):
|
|
25
|
-
return "wukong"
|
|
26
|
-
|
|
27
|
-
def tiling(self) -> TilingPara:
|
|
28
|
-
"""
|
|
29
|
-
反向的空间分布待详细分析
|
|
30
|
-
N = (4096, 1024, 256, 64) 或 77
|
|
31
|
-
Nq = (4096, 1024, 256, 64)
|
|
32
|
-
d = dv = (40, 80, 160, 160)
|
|
33
|
-
"""
|
|
34
|
-
if self.N <= 77: # [77, 64]
|
|
35
|
-
# cross-attention or self-attention of (64, 64, 160)
|
|
36
|
-
self.Bc = self.N
|
|
37
|
-
self.Tc = self.N // self.Bc
|
|
38
|
-
if self.d <= 80: # [40, 80]
|
|
39
|
-
# 内存瓶颈为在ub中对P*V结果[Br, dv]进行cast
|
|
40
|
-
self.Br = min(self.Nq, 64)
|
|
41
|
-
self.Tr = self.Nq // self.Br
|
|
42
|
-
else:
|
|
43
|
-
self.Br = min(self.Nq, 64)
|
|
44
|
-
self.Tr = self.Nq // self.Br
|
|
45
|
-
else:
|
|
46
|
-
# self-attention
|
|
47
|
-
if self.N == 256:
|
|
48
|
-
self.Bc = 64
|
|
49
|
-
self.Tc = 1
|
|
50
|
-
# 内存瓶颈为在ub中对Q*K的结果[Br, Bc]进行cast
|
|
51
|
-
self.Br = 64
|
|
52
|
-
self.Tr = self.Nq // self.Br
|
|
53
|
-
else:
|
|
54
|
-
self.Bc = 64
|
|
55
|
-
self.Tc = self.N // self.Bc
|
|
56
|
-
self.Br = 64
|
|
57
|
-
self.Tr = self.Nq // self.Br
|
|
58
|
-
|
|
59
|
-
self.last_Br = self.Br
|
|
60
|
-
self.last_Bc = self.Bc
|
|
61
|
-
|
|
62
|
-
return self.gen_tiling_para()
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
0.1.1 MindSpore*2.0.0rc1:�8
|
|
3
|
-
�2get_bprop_depthwise_conv2d_native.145:[CNode]146:12get_bprop_depthwise_conv2d_native.145:[CNode]146:1"REF::bprop.147:Default/bprop.147-op123
|
|
4
|
-
J[ValueNode]148[ValueNode]148"Constant*
|
|
5
|
-
value*channel_multiplier�
|
|
6
|
-
�
|
|
7
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
8
|
-
[ValueNode]1482get_bprop_depthwise_conv2d_native.145:[CNode]149:22get_bprop_depthwise_conv2d_native.145:[CNode]149:2"REF::getattr:3:Default/getattr-op124
|
|
9
|
-
C[ValueNode]150[ValueNode]150"Constant*
|
|
10
|
-
value*kernel_size�
|
|
11
|
-
�
|
|
12
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
13
|
-
[ValueNode]1502get_bprop_depthwise_conv2d_native.145:[CNode]151:42get_bprop_depthwise_conv2d_native.145:[CNode]151:4"REF::getattr:3:Default/getattr-op125
|
|
14
|
-
@[ValueNode]152[ValueNode]152"Constant*
|
|
15
|
-
value*pad_mode�
|
|
16
|
-
�
|
|
17
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
18
|
-
[ValueNode]1522get_bprop_depthwise_conv2d_native.145:[CNode]153:52get_bprop_depthwise_conv2d_native.145:[CNode]153:5"REF::getattr:3:Default/getattr-op126
|
|
19
|
-
;[ValueNode]154[ValueNode]154"Constant*
|
|
20
|
-
value*pad�
|
|
21
|
-
�
|
|
22
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
23
|
-
[ValueNode]1542get_bprop_depthwise_conv2d_native.145:[CNode]155:62get_bprop_depthwise_conv2d_native.145:[CNode]155:6"REF::getattr:3:Default/getattr-op127
|
|
24
|
-
@[ValueNode]156[ValueNode]156"Constant*
|
|
25
|
-
value*pad_list�
|
|
26
|
-
�
|
|
27
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
28
|
-
[ValueNode]1562get_bprop_depthwise_conv2d_native.145:[CNode]157:72get_bprop_depthwise_conv2d_native.145:[CNode]157:7"REF::getattr:3:Default/getattr-op128
|
|
29
|
-
<[ValueNode]158[ValueNode]158"Constant*
|
|
30
|
-
value*mode�
|
|
31
|
-
�
|
|
32
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
33
|
-
[ValueNode]1582get_bprop_depthwise_conv2d_native.145:[CNode]159:82get_bprop_depthwise_conv2d_native.145:[CNode]159:8"REF::getattr:3:Default/getattr-op129
|
|
34
|
-
>[ValueNode]160[ValueNode]160"Constant*
|
|
35
|
-
value*stride�
|
|
36
|
-
�
|
|
37
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
38
|
-
[ValueNode]1602get_bprop_depthwise_conv2d_native.145:[CNode]161:92get_bprop_depthwise_conv2d_native.145:[CNode]161:9"REF::getattr:3:Default/getattr-op130
|
|
39
|
-
@[ValueNode]162[ValueNode]162"Constant*
|
|
40
|
-
value*dilation�
|
|
41
|
-
�
|
|
42
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
43
|
-
[ValueNode]1623get_bprop_depthwise_conv2d_native.145:[CNode]163:103get_bprop_depthwise_conv2d_native.145:[CNode]163:10"REF::getattr:3:Default/getattr-op131
|
|
44
|
-
=[ValueNode]164[ValueNode]164"Constant*
|
|
45
|
-
value*group�
|
|
46
|
-
�
|
|
47
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
48
|
-
[ValueNode]1643get_bprop_depthwise_conv2d_native.145:[CNode]165:113get_bprop_depthwise_conv2d_native.145:[CNode]165:11"REF::getattr:3:Default/getattr-op132
|
|
49
|
-
�
|
|
50
|
-
2get_bprop_depthwise_conv2d_native.145:[CNode]149:2
|
|
51
|
-
2get_bprop_depthwise_conv2d_native.145:[CNode]151:4
|
|
52
|
-
2get_bprop_depthwise_conv2d_native.145:[CNode]153:5
|
|
53
|
-
2get_bprop_depthwise_conv2d_native.145:[CNode]155:6
|
|
54
|
-
2get_bprop_depthwise_conv2d_native.145:[CNode]157:7
|
|
55
|
-
2get_bprop_depthwise_conv2d_native.145:[CNode]159:8
|
|
56
|
-
2get_bprop_depthwise_conv2d_native.145:[CNode]161:9
|
|
57
|
-
3get_bprop_depthwise_conv2d_native.145:[CNode]163:10
|
|
58
|
-
3get_bprop_depthwise_conv2d_native.145:[CNode]165:113get_bprop_depthwise_conv2d_native.145:input_grad:123get_bprop_depthwise_conv2d_native.145:input_grad:12"UREF::ClassType::mindspore.ops.operations._grad_ops.DepthwiseConv2dNativeBackpropInput:kDefault/MindIRClassType:class 'mindspore.ops.operations._grad_ops.DepthwiseConv2dNativeBackpropInput'-op133
|
|
59
|
-
�2get_bprop_depthwise_conv2d_native.145:get_shape:132get_bprop_depthwise_conv2d_native.145:get_shape:13"8REF::ClassType::mindspore.ops.operations.array_ops.Shape:NDefault/MindIRClassType:class 'mindspore.ops.operations.array_ops.Shape'-op134
|
|
60
|
-
J[ValueNode]167[ValueNode]167"Constant*
|
|
61
|
-
value*channel_multiplier�
|
|
62
|
-
�
|
|
63
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
64
|
-
[ValueNode]1673get_bprop_depthwise_conv2d_native.145:[CNode]168:163get_bprop_depthwise_conv2d_native.145:[CNode]168:16"REF::getattr:3:Default/getattr-op137
|
|
65
|
-
C[ValueNode]169[ValueNode]169"Constant*
|
|
66
|
-
value*kernel_size�
|
|
67
|
-
�
|
|
68
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
69
|
-
[ValueNode]1693get_bprop_depthwise_conv2d_native.145:[CNode]170:173get_bprop_depthwise_conv2d_native.145:[CNode]170:17"REF::getattr:3:Default/getattr-op138
|
|
70
|
-
@[ValueNode]171[ValueNode]171"Constant*
|
|
71
|
-
value*pad_mode�
|
|
72
|
-
�
|
|
73
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
74
|
-
[ValueNode]1713get_bprop_depthwise_conv2d_native.145:[CNode]172:183get_bprop_depthwise_conv2d_native.145:[CNode]172:18"REF::getattr:3:Default/getattr-op139
|
|
75
|
-
;[ValueNode]173[ValueNode]173"Constant*
|
|
76
|
-
value*pad�
|
|
77
|
-
�
|
|
78
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
79
|
-
[ValueNode]1733get_bprop_depthwise_conv2d_native.145:[CNode]174:193get_bprop_depthwise_conv2d_native.145:[CNode]174:19"REF::getattr:3:Default/getattr-op140
|
|
80
|
-
@[ValueNode]175[ValueNode]175"Constant*
|
|
81
|
-
value*pad_list�
|
|
82
|
-
�
|
|
83
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
84
|
-
[ValueNode]1753get_bprop_depthwise_conv2d_native.145:[CNode]176:203get_bprop_depthwise_conv2d_native.145:[CNode]176:20"REF::getattr:3:Default/getattr-op141
|
|
85
|
-
<[ValueNode]177[ValueNode]177"Constant*
|
|
86
|
-
value*mode�
|
|
87
|
-
�
|
|
88
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
89
|
-
[ValueNode]1773get_bprop_depthwise_conv2d_native.145:[CNode]178:213get_bprop_depthwise_conv2d_native.145:[CNode]178:21"REF::getattr:3:Default/getattr-op142
|
|
90
|
-
>[ValueNode]179[ValueNode]179"Constant*
|
|
91
|
-
value*stride�
|
|
92
|
-
�
|
|
93
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
94
|
-
[ValueNode]1793get_bprop_depthwise_conv2d_native.145:[CNode]180:223get_bprop_depthwise_conv2d_native.145:[CNode]180:22"REF::getattr:3:Default/getattr-op143
|
|
95
|
-
@[ValueNode]181[ValueNode]181"Constant*
|
|
96
|
-
value*dilation�
|
|
97
|
-
�
|
|
98
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
99
|
-
[ValueNode]1813get_bprop_depthwise_conv2d_native.145:[CNode]182:233get_bprop_depthwise_conv2d_native.145:[CNode]182:23"REF::getattr:3:Default/getattr-op144
|
|
100
|
-
=[ValueNode]183[ValueNode]183"Constant*
|
|
101
|
-
value*group�
|
|
102
|
-
�
|
|
103
|
-
*get_bprop_depthwise_conv2d_native.145:self
|
|
104
|
-
[ValueNode]1833get_bprop_depthwise_conv2d_native.145:[CNode]184:243get_bprop_depthwise_conv2d_native.145:[CNode]184:24"REF::getattr:3:Default/getattr-op145
|
|
105
|
-
�
|
|
106
|
-
3get_bprop_depthwise_conv2d_native.145:[CNode]168:16
|
|
107
|
-
3get_bprop_depthwise_conv2d_native.145:[CNode]170:17
|
|
108
|
-
3get_bprop_depthwise_conv2d_native.145:[CNode]172:18
|
|
109
|
-
3get_bprop_depthwise_conv2d_native.145:[CNode]174:19
|
|
110
|
-
3get_bprop_depthwise_conv2d_native.145:[CNode]176:20
|
|
111
|
-
3get_bprop_depthwise_conv2d_native.145:[CNode]178:21
|
|
112
|
-
3get_bprop_depthwise_conv2d_native.145:[CNode]180:22
|
|
113
|
-
3get_bprop_depthwise_conv2d_native.145:[CNode]182:23
|
|
114
|
-
3get_bprop_depthwise_conv2d_native.145:[CNode]184:244get_bprop_depthwise_conv2d_native.145:filter_grad:254get_bprop_depthwise_conv2d_native.145:filter_grad:25"VREF::ClassType::mindspore.ops.operations._grad_ops.DepthwiseConv2dNativeBackpropFilter:lDefault/MindIRClassType:class 'mindspore.ops.operations._grad_ops.DepthwiseConv2dNativeBackpropFilter'-op146%get_bprop_depthwise_conv2d_native.145*,
|
|
115
|
-
*get_bprop_depthwise_conv2d_native.145:self*)
|
|
116
|
-
'get_bprop_depthwise_conv2d_native.145:x*)
|
|
117
|
-
'get_bprop_depthwise_conv2d_native.145:w*+
|
|
118
|
-
)get_bprop_depthwise_conv2d_native.145:out*,
|
|
119
|
-
*get_bprop_depthwise_conv2d_native.145:dout24
|
|
120
|
-
2get_bprop_depthwise_conv2d_native.145:[CNode]146:1:@85175c1c488b3e1ea22f043bda0b2294bae9f00ea3df376e07c2ee6e401d7533J/grad_nn_ops.pyB�
|
|
121
|
-
�
|
|
122
|
-
'get_bprop_depthwise_conv2d_native.145:xbprop.147:[CNode]166:14bprop.147:[CNode]166:14"7REF::get_bprop_depthwise_conv2d_native.145:get_shape:13:135
|
|
123
|
-
�
|
|
124
|
-
bprop.147:[CNode]166:14
|
|
125
|
-
'get_bprop_depthwise_conv2d_native.145:w
|
|
126
|
-
*get_bprop_depthwise_conv2d_native.145:doutbprop.147:dx:15bprop.147:dx:15"8REF::get_bprop_depthwise_conv2d_native.145:input_grad:12:136
|
|
127
|
-
�
|
|
128
|
-
'get_bprop_depthwise_conv2d_native.145:wbprop.147:[CNode]185:26bprop.147:[CNode]185:26"7REF::get_bprop_depthwise_conv2d_native.145:get_shape:13:147
|
|
129
|
-
�
|
|
130
|
-
'get_bprop_depthwise_conv2d_native.145:x
|
|
131
|
-
bprop.147:[CNode]185:26
|
|
132
|
-
*get_bprop_depthwise_conv2d_native.145:doutbprop.147:dw:27bprop.147:dw:27"9REF::get_bprop_depthwise_conv2d_native.145:filter_grad:25:148
|
|
133
|
-
�
|
|
134
|
-
bprop.147:dx:15
|
|
135
|
-
bprop.147:dw:27bprop.147:[CNode]186:28bprop.147:[CNode]186:28"REF::S-Prim-MakeTuple:29:Default/S-Prim-MakeTuple-op149 bprop.1472
|
|
136
|
-
bprop.147:[CNode]186:28Pb
|
|
137
|
-
getattr:3getattr"b)
|
|
138
|
-
S-Prim-MakeTuple:29S-Prim-MakeTuple"h
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
# Copyright 2021-2022 Huawei Technologies Co., Ltd
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
# ============================================================================
|
|
15
|
-
"""Generate the mindir for bprop"""
|
|
16
|
-
from __future__ import absolute_import
|
|
17
|
-
import os
|
|
18
|
-
import shutil
|
|
19
|
-
import argparse
|
|
20
|
-
import logging
|
|
21
|
-
|
|
22
|
-
import mindspore.ops._grad_experimental as g
|
|
23
|
-
from mindspore._c_expression import _export_bprop_mindir
|
|
24
|
-
from mindspore.ops._grad_experimental.grad_base import bprop_getters, bprops
|
|
25
|
-
|
|
26
|
-
logging.getLogger().setLevel(logging.INFO)
|
|
27
|
-
os.environ['MS_DEV_EXPORT_BPROP_MINDIR'] = '1'
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
def run_generate(bprop_mindir_install_dir, bprop_map, force_update):
|
|
31
|
-
"""Run the generate process of bprop mindir."""
|
|
32
|
-
for op_name in bprop_map.keys():
|
|
33
|
-
if not isinstance(op_name, str):
|
|
34
|
-
continue
|
|
35
|
-
if os.path.isfile(os.path.join(bprop_mindir_install_dir, op_name + "_bprop.mindir")):
|
|
36
|
-
_export_bprop_mindir(op_name, force_update)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
def run_generate_with_op_name(op_name, force_update):
|
|
40
|
-
"""Run the generate process of bprop mindir for single op."""
|
|
41
|
-
_export_bprop_mindir(op_name, force_update)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if __name__ == "__main__":
|
|
45
|
-
parser = argparse.ArgumentParser(description="Bprop mindir generator")
|
|
46
|
-
parser.add_argument('--mindspore_path', type=str, default=None,
|
|
47
|
-
help="The absolute path of the mindspore root directory where the bprop source files has been \
|
|
48
|
-
modified. If not specified, it will find the bprop source files in your mindspore installed \
|
|
49
|
-
path. Default: None.")
|
|
50
|
-
parser.add_argument('--op', type=str, default=None,
|
|
51
|
-
help="The name of the operator whose bprop is to be transformed to mindir file. If not \
|
|
52
|
-
specified, it will generate all the mindir files of bprop which has already been transform \
|
|
53
|
-
to mindir. Default: None.")
|
|
54
|
-
parser.add_argument('--force', type=bool, default=False,
|
|
55
|
-
help="Whether to force to generate mindir file of a bprop function regardless of nothing \
|
|
56
|
-
changed. Default: False.")
|
|
57
|
-
|
|
58
|
-
args_opt = parser.parse_args()
|
|
59
|
-
# mindspore/ops/_grad_experimental/__init__.py
|
|
60
|
-
BPROP_PATH = g.__file__
|
|
61
|
-
bprop_installed_dir = BPROP_PATH[: BPROP_PATH.rindex('/')]
|
|
62
|
-
bprop_mindir_export_dir = os.path.join(bprop_installed_dir, "..", "bprop_mindir")
|
|
63
|
-
|
|
64
|
-
mindspore_path = args_opt.mindspore_path
|
|
65
|
-
bprop_src_dir = None
|
|
66
|
-
bprop_mindir_src_dir = None
|
|
67
|
-
if mindspore_path is not None:
|
|
68
|
-
mindspore_path = mindspore_path.rstrip('/')
|
|
69
|
-
python_ops_dir = os.path.join(mindspore_path, "mindspore", "python", "mindspore", "ops")
|
|
70
|
-
bprop_src_dir = os.path.join(python_ops_dir, "_grad_experimental")
|
|
71
|
-
bprop_mindir_src_dir = os.path.join(python_ops_dir, "bprop_mindir")
|
|
72
|
-
|
|
73
|
-
copy_flag = bprop_src_dir is not None and bprop_src_dir != bprop_installed_dir
|
|
74
|
-
# If the specified bprop source directory is not on the mindspore installed path,
|
|
75
|
-
# copy the bprop source files to the installed path.
|
|
76
|
-
BACKUP_SUFFIX = "_generate_bak"
|
|
77
|
-
if copy_flag:
|
|
78
|
-
shutil.rmtree(bprop_installed_dir + BACKUP_SUFFIX, ignore_errors=True)
|
|
79
|
-
os.rename(bprop_installed_dir, bprop_installed_dir + BACKUP_SUFFIX)
|
|
80
|
-
os.mkdir(bprop_installed_dir)
|
|
81
|
-
ls = os.listdir(bprop_src_dir)
|
|
82
|
-
for line in ls:
|
|
83
|
-
file_path = os.path.join(bprop_src_dir, line)
|
|
84
|
-
if os.path.isfile(file_path):
|
|
85
|
-
shutil.copy(file_path, bprop_installed_dir)
|
|
86
|
-
logging.info("copied: %s", file_path)
|
|
87
|
-
|
|
88
|
-
force = args_opt.force
|
|
89
|
-
op = args_opt.op
|
|
90
|
-
if op is None:
|
|
91
|
-
run_generate(bprop_mindir_export_dir, bprop_getters, force)
|
|
92
|
-
run_generate(bprop_mindir_export_dir, bprops, force)
|
|
93
|
-
else:
|
|
94
|
-
run_generate_with_op_name(op, force)
|
|
95
|
-
|
|
96
|
-
# If the specified bprop source directory is not on the mindspore installed path,
|
|
97
|
-
# copy the generated mindir files to the mindir directory relative to the specified path.
|
|
98
|
-
if copy_flag:
|
|
99
|
-
shutil.rmtree(bprop_installed_dir)
|
|
100
|
-
os.rename(bprop_installed_dir + BACKUP_SUFFIX, bprop_installed_dir)
|
|
101
|
-
ls = os.listdir(bprop_mindir_export_dir)
|
|
102
|
-
for line in ls:
|
|
103
|
-
file_path = os.path.join(bprop_mindir_export_dir, line)
|
|
104
|
-
if file_path.endswith(".mindir") and os.path.isfile(file_path):
|
|
105
|
-
os.chmod(file_path, 0o644)
|
|
106
|
-
shutil.copy(file_path, bprop_mindir_src_dir)
|
|
107
|
-
logging.info("copied: %s", file_path)
|
|
108
|
-
|
|
109
|
-
logging.info("The new bprop mindir files has been generated in the path \"%s\"", bprop_mindir_src_dir)
|
|
110
|
-
else:
|
|
111
|
-
logging.info("The new bprop mindir files has been generated in the path \"%s\", "
|
|
112
|
-
"copy the *.mindir to your mindspore path or PYTHONPATH if necessary.", bprop_mindir_export_dir)
|
|
113
|
-
|
|
114
|
-
del os.environ['MS_DEV_EXPORT_BPROP_MINDIR']
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Copyright 2022 Huawei Technologies Co., Ltd
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
# you may not use this file except in compliance with the License.
|
|
5
|
-
# You may obtain a copy of the License at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
# See the License for the specific language governing permissions and
|
|
13
|
-
# limitations under the License.
|
|
14
|
-
# ============================================================================
|
|
15
|
-
"""Visit nods of SymbolTree."""
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class NodeVisitor:
|
|
19
|
-
"""Iterator class to access SymbolTree nodes"""
|
|
20
|
-
def __init__(self, stree):
|
|
21
|
-
self._stree = stree
|
|
22
|
-
self._nodes = []
|
|
23
|
-
self._index = 0
|
|
24
|
-
|
|
25
|
-
def __iter__(self):
|
|
26
|
-
self._nodes = list(self._stree.get_nodes_dict().values())
|
|
27
|
-
self._index = 0
|
|
28
|
-
return self
|
|
29
|
-
|
|
30
|
-
def __next__(self):
|
|
31
|
-
if self._index < len(self._nodes):
|
|
32
|
-
node = self._nodes[self._index]
|
|
33
|
-
self._index += 1
|
|
34
|
-
return node
|
|
35
|
-
|
|
36
|
-
raise StopIteration
|
|
37
|
-
|
|
38
|
-
def append_node(self, node):
|
|
39
|
-
"""append new node to iterator"""
|
|
40
|
-
self._nodes.append(node)
|
|
41
|
-
|
|
42
|
-
def remove_node(self, node):
|
|
43
|
-
"""remove node of iterator"""
|
|
44
|
-
self._nodes.remove(node)
|
/mindspore/{ops/_op_impl/_custom_op/flash_attention → _akg/akg/utils/ascend_profilier}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|