mindspore 2.4.10__cp310-cp310-win_amd64.whl → 2.6.0__cp310-cp310-win_amd64.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/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/__init__.py +13 -6
- mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -0
- mindspore/_checkparam.py +3 -38
- mindspore/_deprecated/__init__.py +17 -0
- mindspore/_deprecated/jit.py +198 -0
- mindspore/_extends/builtin_operations.py +1 -1
- mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
- mindspore/_extends/parse/__init__.py +6 -7
- mindspore/_extends/parse/compile_config.py +83 -0
- mindspore/_extends/parse/deprecated/__init__.py +0 -0
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
- mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
- mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
- mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
- mindspore/_extends/parse/parser.py +47 -198
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +229 -99
- mindspore/_extends/pijit/__init__.py +2 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
- mindspore/_extends/pijit/tensor_func_list.py +27 -0
- mindspore/_extends/utils.py +1 -1
- mindspore/amp.py +11 -5
- mindspore/atlprov.dll +0 -0
- mindspore/avcodec-59.dll +0 -0
- mindspore/avdevice-59.dll +0 -0
- mindspore/avfilter-8.dll +0 -0
- mindspore/avformat-59.dll +0 -0
- mindspore/avutil-57.dll +0 -0
- mindspore/boost/__init__.py +2 -2
- mindspore/boost/base.py +3 -7
- mindspore/boost/boost_cell_wrapper.py +138 -43
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +6 -3
- mindspore/common/_grad_function.py +56 -0
- mindspore/common/_pijit_context.py +14 -5
- mindspore/common/_register_for_tensor.py +1 -2
- mindspore/common/_stub_tensor.py +30 -14
- mindspore/common/_tensor_cpp_method.py +17 -0
- mindspore/common/_tensor_docs.py +4760 -0
- mindspore/common/api.py +480 -372
- mindspore/common/auto_dynamic_shape.py +41 -44
- mindspore/common/dtype.py +39 -36
- mindspore/common/dump.py +9 -6
- mindspore/common/file_system.py +9 -1
- mindspore/common/generator.py +5 -0
- mindspore/common/hook_handle.py +6 -2
- mindspore/common/initializer.py +13 -10
- mindspore/common/jit_begin_end.py +94 -0
- mindspore/common/jit_config.py +6 -1
- mindspore/common/jit_context.py +76 -0
- mindspore/common/jit_trace.py +378 -0
- mindspore/common/lazy_inline.py +9 -3
- mindspore/common/mindir_util.py +10 -2
- mindspore/common/mutable.py +5 -4
- mindspore/common/parameter.py +135 -52
- mindspore/common/seed.py +2 -2
- mindspore/common/sparse_tensor.py +23 -17
- mindspore/common/tensor.py +975 -1981
- mindspore/communication/__init__.py +7 -5
- mindspore/communication/_comm_helper.py +52 -2
- mindspore/communication/comm_func.py +240 -181
- mindspore/communication/management.py +95 -26
- mindspore/context.py +324 -573
- mindspore/dataset/__init__.py +65 -37
- mindspore/dataset/audio/__init__.py +2 -8
- mindspore/dataset/audio/transforms.py +3 -17
- mindspore/dataset/callback/ds_callback.py +2 -1
- mindspore/dataset/core/config.py +87 -6
- mindspore/dataset/engine/cache_admin.py +3 -3
- mindspore/dataset/engine/cache_client.py +6 -5
- mindspore/dataset/engine/datasets.py +292 -267
- mindspore/dataset/engine/datasets_audio.py +22 -8
- mindspore/dataset/engine/datasets_standard_format.py +46 -27
- mindspore/dataset/engine/datasets_text.py +78 -48
- mindspore/dataset/engine/datasets_user_defined.py +183 -117
- mindspore/dataset/engine/datasets_vision.py +120 -44
- mindspore/dataset/engine/iterators.py +283 -63
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
- mindspore/dataset/engine/obs/util.py +8 -0
- mindspore/dataset/engine/queue.py +40 -0
- mindspore/dataset/engine/samplers.py +289 -43
- mindspore/dataset/engine/serializer_deserializer.py +3 -2
- mindspore/dataset/engine/validators.py +53 -11
- mindspore/dataset/text/__init__.py +7 -6
- mindspore/dataset/text/transforms.py +6 -5
- mindspore/dataset/text/utils.py +3 -3
- mindspore/dataset/transforms/__init__.py +0 -9
- mindspore/dataset/transforms/py_transforms_util.py +17 -0
- mindspore/dataset/transforms/transforms.py +31 -14
- mindspore/dataset/utils/browse_dataset.py +1 -1
- mindspore/dataset/vision/__init__.py +2 -9
- mindspore/dataset/vision/transforms.py +202 -158
- mindspore/dataset/vision/utils.py +7 -5
- mindspore/dataset/vision/validators.py +1 -2
- mindspore/device_context/__init__.py +21 -0
- mindspore/device_context/ascend/__init__.py +25 -0
- mindspore/device_context/ascend/device.py +72 -0
- mindspore/device_context/ascend/op_debug.py +153 -0
- mindspore/device_context/ascend/op_precision.py +193 -0
- mindspore/device_context/ascend/op_tuning.py +123 -0
- mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
- mindspore/device_context/cpu/device.py +62 -0
- mindspore/device_context/cpu/op_tuning.py +43 -0
- mindspore/device_context/gpu/__init__.py +21 -0
- mindspore/device_context/gpu/device.py +70 -0
- mindspore/device_context/gpu/op_precision.py +67 -0
- mindspore/device_context/gpu/op_tuning.py +175 -0
- mindspore/device_manager.py +170 -0
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/es/embedding_service.py +35 -27
- mindspore/experimental/llm_boost/__init__.py +1 -0
- mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +209 -0
- mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
- mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
- mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
- mindspore/experimental/llm_boost/register.py +1 -0
- mindspore/experimental/map_parameter.py +4 -4
- mindspore/experimental/optim/adadelta.py +6 -6
- mindspore/experimental/optim/adagrad.py +4 -4
- mindspore/experimental/optim/adam.py +7 -0
- mindspore/experimental/optim/adamax.py +4 -4
- mindspore/experimental/optim/adamw.py +4 -0
- mindspore/experimental/optim/asgd.py +1 -1
- mindspore/experimental/optim/lr_scheduler.py +73 -46
- mindspore/experimental/optim/radam.py +34 -31
- mindspore/experimental/optim/rprop.py +1 -1
- mindspore/experimental/optim/sgd.py +1 -1
- mindspore/hal/contiguous_tensors_handle.py +6 -10
- mindspore/hal/device.py +55 -53
- mindspore/hal/event.py +52 -52
- mindspore/hal/memory.py +179 -120
- mindspore/hal/stream.py +150 -109
- mindspore/include/api/context.h +0 -1
- mindspore/include/dataset/constants.h +7 -4
- mindspore/include/dataset/execute.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +50 -0
- mindspore/mindrecord/__init__.py +21 -8
- mindspore/mindrecord/config.py +17 -316
- mindspore/mindrecord/filereader.py +1 -9
- mindspore/mindrecord/filewriter.py +5 -15
- mindspore/mindrecord/mindpage.py +1 -9
- mindspore/mindspore_backend_common.dll +0 -0
- mindspore/mindspore_backend_manager.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_dump.dll +0 -0
- mindspore/mindspore_frontend.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_memory_pool.dll +0 -0
- mindspore/mindspore_ms_backend.dll +0 -0
- mindspore/mindspore_ops.dll +0 -0
- mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
- mindspore/mindspore_ops_kernel_common.dll +0 -0
- mindspore/mindspore_profiler.dll +0 -0
- mindspore/mindspore_pyboost.dll +0 -0
- mindspore/mindspore_pynative.dll +0 -0
- mindspore/mindspore_res_manager.dll +0 -0
- mindspore/mindspore_runtime_pipeline.dll +0 -0
- mindspore/mint/__init__.py +798 -761
- mindspore/mint/distributed/__init__.py +70 -4
- mindspore/mint/distributed/distributed.py +2679 -44
- mindspore/mint/linalg/__init__.py +8 -0
- mindspore/mint/nn/__init__.py +743 -22
- mindspore/mint/nn/functional.py +716 -23
- mindspore/mint/nn/layer/__init__.py +21 -4
- mindspore/mint/nn/layer/_functions.py +334 -0
- mindspore/mint/nn/layer/activation.py +276 -1
- mindspore/mint/nn/layer/basic.py +123 -0
- mindspore/mint/nn/layer/conv.py +933 -0
- mindspore/mint/nn/layer/normalization.py +223 -28
- mindspore/mint/nn/layer/padding.py +797 -0
- mindspore/mint/nn/layer/pooling.py +235 -0
- mindspore/mint/optim/__init__.py +3 -1
- mindspore/mint/optim/adam.py +223 -0
- mindspore/mint/optim/adamw.py +26 -19
- mindspore/mint/optim/sgd.py +171 -0
- mindspore/mint/special/__init__.py +2 -1
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/multiprocessing/__init__.py +5 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1373 -192
- mindspore/nn/dynamic_lr.py +2 -1
- mindspore/nn/layer/activation.py +29 -27
- mindspore/nn/layer/basic.py +51 -35
- mindspore/nn/layer/channel_shuffle.py +3 -3
- mindspore/nn/layer/container.py +1 -1
- mindspore/nn/layer/conv.py +53 -42
- mindspore/nn/layer/embedding.py +12 -11
- mindspore/nn/layer/normalization.py +56 -49
- mindspore/nn/layer/padding.py +4 -3
- mindspore/nn/layer/pooling.py +120 -42
- mindspore/nn/layer/rnn_cells.py +1 -1
- mindspore/nn/layer/rnns.py +2 -1
- mindspore/nn/layer/timedistributed.py +5 -5
- mindspore/nn/layer/transformer.py +59 -36
- mindspore/nn/learning_rate_schedule.py +8 -4
- mindspore/nn/loss/loss.py +58 -55
- mindspore/nn/optim/ada_grad.py +7 -5
- mindspore/nn/optim/adadelta.py +11 -9
- mindspore/nn/optim/adafactor.py +1 -1
- mindspore/nn/optim/adam.py +19 -15
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +3 -1
- mindspore/nn/optim/ftrl.py +11 -9
- mindspore/nn/optim/lamb.py +1 -1
- mindspore/nn/optim/lars.py +1 -4
- mindspore/nn/optim/lazyadam.py +12 -10
- mindspore/nn/optim/momentum.py +7 -6
- mindspore/nn/optim/optimizer.py +3 -3
- mindspore/nn/optim/proximal_ada_grad.py +12 -10
- mindspore/nn/optim/rmsprop.py +13 -12
- mindspore/nn/optim/rprop.py +11 -9
- mindspore/nn/optim/sgd.py +9 -6
- mindspore/nn/optim/tft_wrapper.py +5 -2
- mindspore/nn/optim/thor.py +2 -1
- mindspore/nn/probability/bijector/bijector.py +17 -11
- mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
- mindspore/nn/probability/bijector/invert.py +2 -2
- mindspore/nn/probability/bijector/scalar_affine.py +3 -3
- mindspore/nn/probability/bijector/softplus.py +3 -2
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +1 -1
- mindspore/nn/probability/distribution/cauchy.py +4 -2
- mindspore/nn/probability/distribution/exponential.py +6 -7
- mindspore/nn/probability/distribution/gamma.py +2 -2
- mindspore/nn/probability/distribution/gumbel.py +2 -2
- mindspore/nn/probability/distribution/half_normal.py +5 -3
- mindspore/nn/probability/distribution/logistic.py +5 -3
- mindspore/nn/probability/distribution/poisson.py +1 -1
- mindspore/nn/probability/distribution/uniform.py +5 -3
- mindspore/nn/reinforcement/_tensors_queue.py +1 -1
- mindspore/nn/reinforcement/tensor_array.py +1 -1
- mindspore/nn/utils/init.py +13 -11
- mindspore/nn/wrap/__init__.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +181 -122
- mindspore/nn/wrap/grad_reducer.py +45 -36
- mindspore/nn/wrap/loss_scale.py +6 -7
- mindspore/numpy/array_creations.py +63 -65
- mindspore/numpy/array_ops.py +149 -144
- mindspore/numpy/logic_ops.py +41 -42
- mindspore/numpy/math_ops.py +361 -359
- mindspore/numpy/utils.py +17 -18
- mindspore/numpy/utils_const.py +5 -6
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +5 -3
- mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
- mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
- mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
- mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
- mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
- mindspore/ops/_op_impl/cpu/__init__.py +1 -0
- mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
- mindspore/ops/_register_for_op.py +0 -11
- mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
- mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -65
- mindspore/ops/_vmap/vmap_array_ops.py +52 -25
- mindspore/ops/_vmap/vmap_base.py +0 -2
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
- mindspore/ops/_vmap/vmap_math_ops.py +15 -16
- mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
- mindspore/ops/auto_generate/__init__.py +4 -3
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +258 -46
- mindspore/ops/auto_generate/gen_extend_func.py +757 -185
- mindspore/ops/auto_generate/gen_ops_def.py +4197 -2243
- mindspore/ops/auto_generate/gen_ops_prim.py +16976 -6055
- mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
- mindspore/ops/composite/__init__.py +2 -1
- mindspore/ops/composite/base.py +20 -25
- mindspore/ops/composite/math_ops.py +6 -16
- mindspore/ops/composite/multitype_ops/__init__.py +5 -2
- mindspore/ops/composite/multitype_ops/_compile_utils.py +228 -30
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
- mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
- mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
- mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
- mindspore/ops/composite/multitype_ops/pow_impl.py +2 -30
- mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
- mindspore/ops/function/__init__.py +40 -2
- mindspore/ops/function/_add_attr_func.py +58 -0
- mindspore/ops/function/array_func.py +2089 -2403
- mindspore/ops/function/clip_func.py +80 -23
- mindspore/ops/function/debug_func.py +57 -57
- mindspore/ops/function/grad/__init__.py +1 -0
- mindspore/ops/function/grad/grad_func.py +104 -71
- mindspore/ops/function/image_func.py +2 -2
- mindspore/ops/function/linalg_func.py +47 -78
- mindspore/ops/function/math_func.py +4351 -3813
- mindspore/ops/function/nn_func.py +1712 -637
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +18 -84
- mindspore/ops/function/random_func.py +452 -387
- mindspore/ops/function/reshard_func.py +4 -70
- mindspore/ops/function/sparse_func.py +3 -3
- mindspore/ops/function/sparse_unary_func.py +6 -6
- mindspore/ops/function/spectral_func.py +25 -58
- mindspore/ops/function/vmap_func.py +26 -18
- mindspore/ops/functional.py +23 -7
- mindspore/ops/functional_overload.py +1548 -0
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +23 -15
- mindspore/ops/operations/_custom_ops_utils.py +235 -0
- mindspore/ops/operations/_embedding_cache_ops.py +4 -4
- mindspore/ops/operations/_grad_ops.py +2 -43
- mindspore/ops/operations/_infer_ops.py +2 -1
- mindspore/ops/operations/_inner_ops.py +43 -84
- mindspore/ops/operations/_ms_kernel.py +4 -10
- mindspore/ops/operations/_rl_inner_ops.py +1 -1
- mindspore/ops/operations/_scalar_ops.py +3 -2
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/_tensor_array.py +1 -1
- mindspore/ops/operations/array_ops.py +81 -324
- mindspore/ops/operations/comm_ops.py +154 -108
- mindspore/ops/operations/custom_ops.py +298 -87
- mindspore/ops/operations/debug_ops.py +157 -59
- mindspore/ops/operations/inner_ops.py +7 -5
- mindspore/ops/operations/linalg_ops.py +1 -57
- mindspore/ops/operations/manually_defined/_inner.py +1 -1
- mindspore/ops/operations/manually_defined/ops_def.py +928 -180
- mindspore/ops/operations/math_ops.py +32 -234
- mindspore/ops/operations/nn_ops.py +212 -531
- mindspore/ops/operations/other_ops.py +62 -9
- mindspore/ops/operations/random_ops.py +13 -7
- mindspore/ops/operations/reshard_ops.py +1 -1
- mindspore/ops/operations/sparse_ops.py +2 -2
- mindspore/ops/primitive.py +66 -53
- mindspore/ops/tensor_method.py +1895 -0
- mindspore/ops_generate/__init__.py +0 -5
- mindspore/ops_generate/aclnn/__init__.py +0 -0
- mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
- mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
- mindspore/ops_generate/api/__init__.py +0 -0
- mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
- mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
- mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
- mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
- mindspore/ops_generate/api/functions_cc_generator.py +237 -0
- mindspore/ops_generate/api/gen_api.py +103 -0
- mindspore/ops_generate/api/op_api_proto.py +235 -0
- mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
- mindspore/ops_generate/common/__init__.py +0 -0
- mindspore/ops_generate/common/base_generator.py +11 -0
- mindspore/ops_generate/common/gen_constants.py +91 -0
- mindspore/ops_generate/common/gen_utils.py +348 -0
- mindspore/ops_generate/common/op_proto.py +473 -0
- mindspore/ops_generate/common/template.py +523 -0
- mindspore/ops_generate/gen_ops.py +22 -1069
- mindspore/ops_generate/op_def/__init__.py +0 -0
- mindspore/ops_generate/op_def/gen_op_def.py +90 -0
- mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
- mindspore/ops_generate/op_def/ops_def_cc_generator.py +296 -0
- mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
- mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
- mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
- mindspore/ops_generate/op_def_py/__init__.py +0 -0
- mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
- mindspore/ops_generate/op_def_py/op_def_py_generator.py +132 -0
- mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
- mindspore/ops_generate/pyboost/__init__.py +0 -0
- mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
- mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
- mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
- mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
- mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
- mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
- mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
- mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
- mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
- mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
- mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
- mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
- mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
- mindspore/ops_generate/resources/__init__.py +0 -0
- mindspore/ops_generate/resources/resource_list.py +30 -0
- mindspore/ops_generate/resources/resource_loader.py +36 -0
- mindspore/ops_generate/resources/resource_manager.py +64 -0
- mindspore/ops_generate/resources/yaml_loader.py +88 -0
- mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
- mindspore/parallel/__init__.py +7 -3
- mindspore/parallel/_auto_parallel_context.py +159 -40
- mindspore/parallel/_cell_wrapper.py +132 -15
- mindspore/parallel/_parallel_serialization.py +107 -5
- mindspore/parallel/_ps_context.py +1 -1
- mindspore/parallel/_recovery_context.py +7 -2
- mindspore/parallel/_tensor.py +142 -18
- mindspore/parallel/_utils.py +199 -23
- mindspore/parallel/algo_parameter_config.py +4 -4
- mindspore/parallel/auto_parallel.py +732 -0
- mindspore/parallel/checkpoint_convert.py +159 -0
- mindspore/parallel/checkpoint_transform.py +700 -35
- mindspore/parallel/cluster/process_entity/_api.py +276 -50
- mindspore/parallel/cluster/process_entity/_utils.py +41 -6
- mindspore/parallel/cluster/run.py +21 -4
- mindspore/parallel/function/__init__.py +24 -0
- mindspore/parallel/function/reshard_func.py +258 -0
- mindspore/parallel/nn/__init__.py +25 -0
- mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
- mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
- mindspore/parallel/parameter_broadcast.py +25 -14
- mindspore/parallel/shard.py +137 -59
- mindspore/parallel/transform_safetensors.py +364 -305
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +22 -5
- mindspore/profiler/analysis/__init__.py +0 -0
- mindspore/profiler/analysis/parser/__init__.py +0 -0
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
- mindspore/profiler/analysis/parser/base_parser.py +158 -0
- mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
- mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
- mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +109 -0
- mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
- mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
- mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
- mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
- mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
- mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
- mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
- mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
- mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
- mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
- mindspore/profiler/analysis/task_manager.py +131 -0
- mindspore/profiler/analysis/time_converter.py +84 -0
- mindspore/profiler/analysis/viewer/__init__.py +0 -0
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
- mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
- mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
- mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
- mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
- mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
- mindspore/profiler/analysis/work_flow.py +73 -0
- mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
- mindspore/profiler/common/command_executor.py +90 -0
- mindspore/profiler/common/constant.py +186 -3
- mindspore/profiler/common/file_manager.py +208 -0
- mindspore/profiler/common/log.py +130 -0
- mindspore/profiler/common/msprof_cmd_tool.py +221 -0
- mindspore/profiler/common/path_manager.py +395 -0
- mindspore/profiler/common/process_bar.py +168 -0
- mindspore/profiler/common/process_pool.py +9 -3
- mindspore/profiler/common/profiler_context.py +500 -0
- mindspore/profiler/common/profiler_info.py +304 -0
- mindspore/profiler/common/profiler_meta_data.py +74 -0
- mindspore/profiler/common/profiler_output_path.py +284 -0
- mindspore/profiler/common/profiler_parameters.py +251 -0
- mindspore/profiler/common/profiler_path_manager.py +179 -0
- mindspore/profiler/common/record_function.py +76 -0
- mindspore/profiler/common/tlv_decoder.py +76 -0
- mindspore/profiler/common/util.py +75 -2
- mindspore/profiler/dynamic_profiler.py +341 -75
- mindspore/profiler/envprofiler.py +163 -0
- mindspore/profiler/experimental_config.py +197 -0
- mindspore/profiler/mstx.py +242 -0
- mindspore/profiler/platform/__init__.py +21 -0
- mindspore/profiler/platform/base_profiler.py +40 -0
- mindspore/profiler/platform/cpu_profiler.py +124 -0
- mindspore/profiler/platform/gpu_profiler.py +74 -0
- mindspore/profiler/platform/npu_profiler.py +335 -0
- mindspore/profiler/profiler.py +1073 -90
- mindspore/profiler/profiler_action_controller.py +187 -0
- mindspore/profiler/profiler_interface.py +118 -0
- mindspore/profiler/schedule.py +243 -0
- mindspore/rewrite/api/node.py +15 -13
- mindspore/rewrite/api/symbol_tree.py +2 -3
- mindspore/run_check/_check_version.py +27 -20
- mindspore/run_check/run_check.py +1 -1
- mindspore/runtime/__init__.py +37 -0
- mindspore/runtime/device.py +27 -0
- mindspore/runtime/event.py +209 -0
- mindspore/runtime/executor.py +177 -0
- mindspore/runtime/memory.py +416 -0
- mindspore/runtime/stream.py +460 -0
- mindspore/runtime/thread_bind_core.py +401 -0
- mindspore/safeguard/rewrite_obfuscation.py +12 -9
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +96 -27
- mindspore/train/amp.py +9 -5
- mindspore/train/callback/__init__.py +2 -2
- mindspore/train/callback/_callback.py +2 -16
- mindspore/train/callback/_checkpoint.py +53 -55
- mindspore/train/callback/_cluster_monitor.py +14 -18
- mindspore/train/callback/_early_stop.py +1 -1
- mindspore/train/callback/_flops_collector.py +103 -68
- mindspore/train/callback/_history.py +8 -5
- mindspore/train/callback/_lambda_callback.py +2 -2
- mindspore/train/callback/_landscape.py +0 -3
- mindspore/train/callback/_loss_monitor.py +2 -1
- mindspore/train/callback/_on_request_exit.py +6 -5
- mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
- mindspore/train/callback/_summary_collector.py +52 -19
- mindspore/train/callback/_time_monitor.py +2 -1
- mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +228 -108
- mindspore/train/data_sink.py +25 -2
- mindspore/train/dataset_helper.py +15 -16
- mindspore/train/loss_scale_manager.py +8 -7
- mindspore/train/metrics/accuracy.py +3 -3
- mindspore/train/metrics/confusion_matrix.py +9 -9
- mindspore/train/metrics/error.py +3 -3
- mindspore/train/metrics/hausdorff_distance.py +4 -4
- mindspore/train/metrics/mean_surface_distance.py +3 -3
- mindspore/train/metrics/metric.py +0 -12
- mindspore/train/metrics/occlusion_sensitivity.py +4 -2
- mindspore/train/metrics/precision.py +11 -10
- mindspore/train/metrics/recall.py +9 -9
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +174 -46
- mindspore/train/model.py +269 -136
- mindspore/train/serialization.py +622 -978
- mindspore/train/summary/_summary_adapter.py +2 -2
- mindspore/train/summary/summary_record.py +2 -3
- mindspore/train/train_thor/model_thor.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +6 -3
- mindspore/utils/dryrun.py +140 -0
- mindspore/utils/hooks.py +81 -0
- mindspore/utils/runtime_execution_order_check.py +552 -0
- mindspore/utils/utils.py +138 -4
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/METADATA +3 -3
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/RECORD +587 -418
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +1 -1
- mindspore/_install_custom.py +0 -43
- mindspore/common/_register_for_adapter.py +0 -74
- mindspore/common/_tensor_overload.py +0 -139
- mindspore/mindspore_np_dtype.dll +0 -0
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
- mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
- mindspore/ops_generate/gen_aclnn_implement.py +0 -263
- mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
- mindspore/ops_generate/gen_pyboost_func.py +0 -1052
- mindspore/ops_generate/gen_utils.py +0 -209
- mindspore/ops_generate/op_proto.py +0 -145
- mindspore/ops_generate/template.py +0 -261
- mindspore/profiler/envprofiling.py +0 -254
- mindspore/profiler/profiling.py +0 -1926
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Copyright 2024 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
|
+
"""Flow event classes for representing event relationships in Chrome trace format."""
|
|
16
|
+
|
|
17
|
+
from mindspore.profiler.common.constant import EventConstant
|
|
18
|
+
from mindspore.profiler.analysis.parser.timeline_event.base_event import FlowEvent
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class FlowStartEvent(FlowEvent):
|
|
22
|
+
"""Flow start event class for marking the beginning of a flow relationship."""
|
|
23
|
+
|
|
24
|
+
@property
|
|
25
|
+
def ph(self) -> str:
|
|
26
|
+
"""Get event phase ('s' for flow start)."""
|
|
27
|
+
return EventConstant.START_FLOW
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class FlowEndEvent(FlowEvent):
|
|
31
|
+
"""Flow end event class for marking the end of a flow relationship."""
|
|
32
|
+
|
|
33
|
+
@property
|
|
34
|
+
def ph(self) -> str:
|
|
35
|
+
"""Get event phase ('f' for flow end)."""
|
|
36
|
+
return EventConstant.END_FLOW
|
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
# Copyright 2024 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
|
+
"""Framework event classes for timeline analysis."""
|
|
16
|
+
from enum import Enum
|
|
17
|
+
from decimal import Decimal
|
|
18
|
+
from typing import Dict, Optional, List
|
|
19
|
+
|
|
20
|
+
from mindspore import log as logger
|
|
21
|
+
from mindspore.profiler.common.constant import EventConstant, FileConstant
|
|
22
|
+
from mindspore.profiler.analysis.time_converter import TimeConverter
|
|
23
|
+
from mindspore.profiler.analysis.parser.timeline_event.base_event import (
|
|
24
|
+
BaseEvent,
|
|
25
|
+
CompleteEvent,
|
|
26
|
+
MetaEvent,
|
|
27
|
+
InstantEvent,
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class ProfilerStage(Enum):
|
|
32
|
+
"""Profiler stage enumeration."""
|
|
33
|
+
DEFAULT = "Default"
|
|
34
|
+
PYTHON = "Python"
|
|
35
|
+
CAPTURE = "Capture"
|
|
36
|
+
RUN_GRAPH = "RunGraph"
|
|
37
|
+
RUN_GRAD = "RunGrad"
|
|
38
|
+
RUN_OP = "RunOp"
|
|
39
|
+
ASNUMPY = "Asnumpy"
|
|
40
|
+
COMPILE_GRAD_GRAPH = "CompileGradGraph"
|
|
41
|
+
WAIT_PIPELINE = "WaitPipeline"
|
|
42
|
+
SYNC_STREAM = "SyncStream"
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class ProfilerModule(Enum):
|
|
46
|
+
"""Profiler module enumeration."""
|
|
47
|
+
DEFAULT = "Default"
|
|
48
|
+
GRAPH_EXECUTOR_PY = "GraphExecutorPy"
|
|
49
|
+
RUNTIME_FRAMEWORK = "RuntimeFramework"
|
|
50
|
+
PYNATIVE_FRAMEWORK = "PynativeFramework"
|
|
51
|
+
KERNEL = "Kernel"
|
|
52
|
+
PYTHON = "Python"
|
|
53
|
+
CAPTURE = "Capture"
|
|
54
|
+
OTHER = "Other"
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class ProfilerEvent(Enum):
|
|
58
|
+
"""Profiler event enumeration."""
|
|
59
|
+
DEFAULT = "Default"
|
|
60
|
+
KERNEL_INFER = "KernelInfer"
|
|
61
|
+
KERNEL_RESIZE = "KernelResize"
|
|
62
|
+
KERNEL_INFER_AND_RESIZE = "KernelInferAndResize"
|
|
63
|
+
KERNEL_LAUNCH = "KernelLaunch"
|
|
64
|
+
KERNEL_LAUNCH_CALLBACK = "KernelLaunckCallback"
|
|
65
|
+
KERNEL_UPDATE = "KernelUpdate"
|
|
66
|
+
KERNEL_PREPARE_DATA = "KernelPrepareData"
|
|
67
|
+
GRAPH_LAUNCH = "GraphLaunch"
|
|
68
|
+
INPUT_PROCESS = "InputProcess"
|
|
69
|
+
OUTPUT_PROCESS = "OutputProcess"
|
|
70
|
+
WAIT_TASK_FINISH = "WaitTaskFinish"
|
|
71
|
+
PRE_LAUNCH = "PreLaunch"
|
|
72
|
+
POST_LAUNCH = "PostLaunch"
|
|
73
|
+
SEND_OUTPUT = "SendOutput"
|
|
74
|
+
MEMORY_ALLOC = "MemoryAlloc"
|
|
75
|
+
MEMORY_FREE = "MemoryFree"
|
|
76
|
+
COPY_DATA = "CopyData"
|
|
77
|
+
STREAM_SYNC = "StreamSync"
|
|
78
|
+
PROCESS_MULTI_STREAM = "ProcessMultiStream"
|
|
79
|
+
WAIT_KERNELS_INFER_FINISH = "WaitKernelsInferFinish"
|
|
80
|
+
WAIT_KERNELS_RESIZE_FINISH = "WaitKernelsResizeFinish"
|
|
81
|
+
WAIT_KERNELS_LAUNCH_FINISH = "WaitKernelsLaunchFinish"
|
|
82
|
+
# Inner event is not counted in the total time.
|
|
83
|
+
KERNEL_INFER_INNER = "KernelInferInner"
|
|
84
|
+
KERNEL_INFER_DATA_SYNC = "KernelInferDataSync"
|
|
85
|
+
KERNEL_RESIZE_INNER = "KernelResizeInner"
|
|
86
|
+
KERNEL_LAUNCH_INNER = "KernelLaunchInner"
|
|
87
|
+
BACKEND_GRAPH_RUN_INNER = "BackendGraphRunInner"
|
|
88
|
+
# PyNative Pipeline
|
|
89
|
+
RUN_OP = "RunOp"
|
|
90
|
+
PYNATIVE_FRONTEND_TASK = "PyNativeFrontendTask"
|
|
91
|
+
PYNATIVE_BACKEND_TASK = "PyNativeBackendTask"
|
|
92
|
+
PYNATIVE_DEVICE_TASK = "PyNativeDeviceTask"
|
|
93
|
+
PYNATIVE_LAUNCH_TASK = "PyNativeLaunchTask"
|
|
94
|
+
PYNATIVE_BPROP_TASK = "PyNativeBpropTask"
|
|
95
|
+
WAIT = "Wait"
|
|
96
|
+
# PyNative inner Event
|
|
97
|
+
PYNATIVE_GIL_ACQUIRE = "PyNativeGilAcquire"
|
|
98
|
+
PYNATIVE_CAST = "PyNativeCast"
|
|
99
|
+
PYNATIVE_INFER = "PyNativeInfer"
|
|
100
|
+
PYNATIVE_OP_COMPILE = "PyNativeOpCompile"
|
|
101
|
+
PYNATIVE_GRAD_EXPANDER = "PyNativeGradExpander"
|
|
102
|
+
PYNATIVE_GRAD_UPDATE_SENS = "PyNativeGradUpdateSens"
|
|
103
|
+
PYNATIVE_GRAD_CLEAR_TOP_CELL = "PyNativeGradClearTopCell"
|
|
104
|
+
PYNATIVE_GRAD_CLEAR_AUTO_GRAD_CELL = "PyNativeGradClearAutoGradCell"
|
|
105
|
+
# PyBoost
|
|
106
|
+
PYBOOST_INFER_OUTPUT = "PyBoostInferOutput"
|
|
107
|
+
PYBOOST_INFER_BY_OP_DEF = "PyBoostInferByOpDef"
|
|
108
|
+
PYBOOST_CREATE_OUTPUT_TENSOR = "PyBoostCreateOutputTensor"
|
|
109
|
+
PYBOOST_DEVICE_TASK = "PyBoostDeviceTask"
|
|
110
|
+
PYBOOST_MALLOC_INPUT = "PyBoostMallocInput"
|
|
111
|
+
PYBOOST_MALLOC_OUTPUT = "PyBoostMallocOutput"
|
|
112
|
+
PYBOOST_LAUNCH_ACLLNN = "PyBoostLaunchAclnn"
|
|
113
|
+
# pybind api
|
|
114
|
+
PYNATIVE_NEW_GRAPH = "PyNativeNewGraph"
|
|
115
|
+
PYNATIVE_END_GRAPH = "PyNativeEndGraph"
|
|
116
|
+
# Python
|
|
117
|
+
PYTHON_OBSERVED = "PythonObserved"
|
|
118
|
+
# Capture Event
|
|
119
|
+
CAPTURE_RUN_GRAPH = "CaptureRunGraph"
|
|
120
|
+
CAPTURE_PROCESS = "CaptureProcess"
|
|
121
|
+
CAPTURE_COMPILE = "CaptureCompile"
|
|
122
|
+
CAPTURE_GUARD = "CaptureGuard"
|
|
123
|
+
# AclNN
|
|
124
|
+
ACLNN_HIT_CACHE_STAGE_1 = "AclnnHitCacheStage1"
|
|
125
|
+
ACLNN_HIT_CACHE_STAGE_2 = "AclnnHitCacheStage2"
|
|
126
|
+
ACLNN_MISS_CACHE_STAGE_1 = "AclnnMissCacheStage1"
|
|
127
|
+
ACLNN_MISS_CACHE_STAGE_2 = "AclnnMissCacheStage2"
|
|
128
|
+
ACLNN_UPDATE_ADDRESS = "AclnnUpdateAddress"
|
|
129
|
+
ACLNN_RUN_OP = "AclnnRunOp"
|
|
130
|
+
# NoGraph grad
|
|
131
|
+
RUN_EXPANDER_FUNC = "RunExpanderFunc"
|
|
132
|
+
EMIT_OP = "EmitOp"
|
|
133
|
+
EXECUTE = "Execute"
|
|
134
|
+
RELEASE_RESOURCE = "ReleaseResource"
|
|
135
|
+
NATIVE_FUNC = "NativeFunc"
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class FwkFixSizeFormat:
|
|
139
|
+
"""Format definition for framework fixed-size data."""
|
|
140
|
+
|
|
141
|
+
OpRangeStruct = "<5Qi3Hb3?"
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
class OpRangeStructField(Enum):
|
|
145
|
+
"""Field indices in operator range structure fixed-size data."""
|
|
146
|
+
|
|
147
|
+
THREAD_ID = 0
|
|
148
|
+
FLOW_ID = 1
|
|
149
|
+
STEP = 2
|
|
150
|
+
START_TIME_NS = 3
|
|
151
|
+
END_TIME_NS = 4
|
|
152
|
+
PROCESS_ID = 5
|
|
153
|
+
MODULE_INDEX = 6
|
|
154
|
+
EVENT_INDEX = 7
|
|
155
|
+
STAGE_INDEX = 8
|
|
156
|
+
LEVEL = 9
|
|
157
|
+
IS_GRAPH_DATA = 10
|
|
158
|
+
IS_STAGE = 11
|
|
159
|
+
IS_STACK = 12
|
|
160
|
+
NAME = 13
|
|
161
|
+
FULL_NAME = 14
|
|
162
|
+
MODULE_GRAPH = 15
|
|
163
|
+
EVENT_GRAPH = 16
|
|
164
|
+
CUSTOM_INFO = 17
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
class FwkProfileDataField:
|
|
168
|
+
"""Framework profile data field."""
|
|
169
|
+
|
|
170
|
+
@staticmethod
|
|
171
|
+
def _get_enum_value(enum_class, index: int, enum_type: str) -> str:
|
|
172
|
+
"""
|
|
173
|
+
Get enum value by index.
|
|
174
|
+
Args:
|
|
175
|
+
enum_class: The enum class to get value from.
|
|
176
|
+
index: The index of the enum value.
|
|
177
|
+
enum_type: The type name of enum for logging.
|
|
178
|
+
Returns:
|
|
179
|
+
The enum value string.
|
|
180
|
+
"""
|
|
181
|
+
try:
|
|
182
|
+
return list(enum_class)[index].value
|
|
183
|
+
except IndexError:
|
|
184
|
+
logger.warning(f"Invalid {enum_type} index: {index}")
|
|
185
|
+
return enum_class.DEFAULT.value
|
|
186
|
+
|
|
187
|
+
@staticmethod
|
|
188
|
+
def get_stage_value(index: int) -> str:
|
|
189
|
+
"""Get stage value."""
|
|
190
|
+
return FwkProfileDataField._get_enum_value(ProfilerStage, index, "stage")
|
|
191
|
+
|
|
192
|
+
@staticmethod
|
|
193
|
+
def get_module_value(index: int) -> str:
|
|
194
|
+
"""Get module value."""
|
|
195
|
+
return FwkProfileDataField._get_enum_value(ProfilerModule, index, "module")
|
|
196
|
+
|
|
197
|
+
@staticmethod
|
|
198
|
+
def get_event_value(index: int) -> str:
|
|
199
|
+
"""Get event value."""
|
|
200
|
+
return FwkProfileDataField._get_enum_value(ProfilerEvent, index, "event")
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
class FwkEventMixin:
|
|
204
|
+
"""Mixin class for common framework event functionality."""
|
|
205
|
+
|
|
206
|
+
def get_name(self) -> str:
|
|
207
|
+
"""Get operator name."""
|
|
208
|
+
op_name = self._origin_data.get(OpRangeStructField.NAME.value, "")
|
|
209
|
+
is_stack = self.fix_size_data[OpRangeStructField.IS_STACK.value]
|
|
210
|
+
if is_stack:
|
|
211
|
+
return op_name
|
|
212
|
+
|
|
213
|
+
is_graph_data = self.fix_size_data[OpRangeStructField.IS_GRAPH_DATA.value]
|
|
214
|
+
is_stage = self.fix_size_data[OpRangeStructField.IS_STAGE.value]
|
|
215
|
+
full_name = self._origin_data.get(OpRangeStructField.FULL_NAME.value, "")
|
|
216
|
+
|
|
217
|
+
name = ""
|
|
218
|
+
if is_graph_data:
|
|
219
|
+
module_graph = self._origin_data.get(OpRangeStructField.MODULE_GRAPH.value, "")
|
|
220
|
+
event_graph = self._origin_data.get(OpRangeStructField.EVENT_GRAPH.value, "")
|
|
221
|
+
name = f"{module_graph}::{event_graph}::{op_name}"
|
|
222
|
+
elif is_stage:
|
|
223
|
+
stage_index = self.fix_size_data[OpRangeStructField.STAGE_INDEX.value]
|
|
224
|
+
name = FwkProfileDataField.get_stage_value(stage_index)
|
|
225
|
+
elif op_name != "flow":
|
|
226
|
+
module_index = self.fix_size_data[OpRangeStructField.MODULE_INDEX.value]
|
|
227
|
+
event_index = self.fix_size_data[OpRangeStructField.EVENT_INDEX.value]
|
|
228
|
+
module_name = FwkProfileDataField.get_module_value(module_index)
|
|
229
|
+
event_name = FwkProfileDataField.get_event_value(event_index)
|
|
230
|
+
name = f"{module_name}::{event_name}::{full_name}"
|
|
231
|
+
else:
|
|
232
|
+
name = full_name
|
|
233
|
+
return name
|
|
234
|
+
|
|
235
|
+
def get_custom_info(self) -> str:
|
|
236
|
+
"""Get custom information."""
|
|
237
|
+
value = self._origin_data.get(OpRangeStructField.CUSTOM_INFO.value, None)
|
|
238
|
+
if value is None:
|
|
239
|
+
return ""
|
|
240
|
+
pairs = [pair.split(":") for pair in value.split(";") if pair]
|
|
241
|
+
info_dict = {k: v for k, v in pairs[0:2] if len(pairs) >= 2}
|
|
242
|
+
return str(info_dict)
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
class FwkCompleteEvent(FwkEventMixin, CompleteEvent):
|
|
246
|
+
"""Framework complete event with duration."""
|
|
247
|
+
|
|
248
|
+
def __init__(self, data: Dict):
|
|
249
|
+
"""Initialize framework complete event."""
|
|
250
|
+
super().__init__(data)
|
|
251
|
+
self.fix_size_data = self._origin_data[FileConstant.FIX_SIZE_DATA]
|
|
252
|
+
self._ts_cache = None
|
|
253
|
+
self._te_cache = None
|
|
254
|
+
self._dur_cache = None
|
|
255
|
+
self._name_cache = None
|
|
256
|
+
self._parent: Optional[BaseEvent] = None
|
|
257
|
+
self._children: List[BaseEvent] = []
|
|
258
|
+
|
|
259
|
+
@property
|
|
260
|
+
def parent(self) -> BaseEvent:
|
|
261
|
+
"""Get parent event."""
|
|
262
|
+
return self._parent
|
|
263
|
+
|
|
264
|
+
@parent.setter
|
|
265
|
+
def parent(self, event: BaseEvent) -> None:
|
|
266
|
+
"""Set parent event."""
|
|
267
|
+
self._parent = event
|
|
268
|
+
|
|
269
|
+
@property
|
|
270
|
+
def children(self) -> List[BaseEvent]:
|
|
271
|
+
"""Get child events."""
|
|
272
|
+
return self._children
|
|
273
|
+
|
|
274
|
+
@property
|
|
275
|
+
def ts_raw(self) -> int:
|
|
276
|
+
"""Get raw start timestamp."""
|
|
277
|
+
return self.fix_size_data[OpRangeStructField.START_TIME_NS.value]
|
|
278
|
+
|
|
279
|
+
@property
|
|
280
|
+
def ts(self) -> Decimal:
|
|
281
|
+
"""Get start time in us."""
|
|
282
|
+
if not self._ts_cache:
|
|
283
|
+
self._ts_cache = TimeConverter.convert_syscnt_to_timestamp_us(
|
|
284
|
+
self.fix_size_data[OpRangeStructField.START_TIME_NS.value]
|
|
285
|
+
)
|
|
286
|
+
return self._ts_cache
|
|
287
|
+
|
|
288
|
+
@property
|
|
289
|
+
def te(self) -> Decimal:
|
|
290
|
+
"""Get end time in us."""
|
|
291
|
+
if not self._te_cache:
|
|
292
|
+
self._te_cache = TimeConverter.convert_syscnt_to_timestamp_us(
|
|
293
|
+
self.fix_size_data[OpRangeStructField.END_TIME_NS.value]
|
|
294
|
+
)
|
|
295
|
+
return self._te_cache
|
|
296
|
+
|
|
297
|
+
@property
|
|
298
|
+
def dur(self) -> Decimal:
|
|
299
|
+
"""Get duration in us."""
|
|
300
|
+
if not self._dur_cache:
|
|
301
|
+
self._dur_cache = self.te - self.ts
|
|
302
|
+
return self._dur_cache
|
|
303
|
+
|
|
304
|
+
@property
|
|
305
|
+
def pid(self) -> int:
|
|
306
|
+
"""Get process ID."""
|
|
307
|
+
return int(EventConstant.MINDSPORE_PID)
|
|
308
|
+
|
|
309
|
+
@property
|
|
310
|
+
def tid(self) -> int:
|
|
311
|
+
"""Get thread ID."""
|
|
312
|
+
return int(self.fix_size_data[OpRangeStructField.THREAD_ID.value])
|
|
313
|
+
|
|
314
|
+
@property
|
|
315
|
+
def id(self) -> int:
|
|
316
|
+
"""Get event ID."""
|
|
317
|
+
return int(self.fix_size_data[OpRangeStructField.FLOW_ID.value])
|
|
318
|
+
|
|
319
|
+
@property
|
|
320
|
+
def name(self) -> str:
|
|
321
|
+
"""Get operator name."""
|
|
322
|
+
if not self._name_cache:
|
|
323
|
+
self._name_cache = self.get_name()
|
|
324
|
+
return self._name_cache
|
|
325
|
+
|
|
326
|
+
@property
|
|
327
|
+
def step(self) -> int:
|
|
328
|
+
"""Get step ID."""
|
|
329
|
+
return int(self.fix_size_data[OpRangeStructField.STEP.value])
|
|
330
|
+
|
|
331
|
+
@property
|
|
332
|
+
def is_stack(self) -> bool:
|
|
333
|
+
"""Get is stack."""
|
|
334
|
+
return bool(self.fix_size_data[OpRangeStructField.IS_STACK.value])
|
|
335
|
+
|
|
336
|
+
@property
|
|
337
|
+
def cat(self) -> str:
|
|
338
|
+
"""Get event category."""
|
|
339
|
+
return EventConstant.STACK_EVENT_CAT if self.is_stack else ""
|
|
340
|
+
|
|
341
|
+
@property
|
|
342
|
+
def level(self) -> int:
|
|
343
|
+
"""Get event level."""
|
|
344
|
+
return int(self.fix_size_data[OpRangeStructField.LEVEL.value])
|
|
345
|
+
|
|
346
|
+
@property
|
|
347
|
+
def custom_info(self) -> str:
|
|
348
|
+
"""Get custom information."""
|
|
349
|
+
return self.get_custom_info()
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
class FwkInstantEvent(FwkEventMixin, InstantEvent):
|
|
353
|
+
"""Framework instant event without duration."""
|
|
354
|
+
|
|
355
|
+
def __init__(self, data: Dict):
|
|
356
|
+
"""Initialize framework instant event."""
|
|
357
|
+
super().__init__(data)
|
|
358
|
+
self.fix_size_data = self._origin_data[FileConstant.FIX_SIZE_DATA]
|
|
359
|
+
self._ts_cache = None
|
|
360
|
+
self._name_cache = None
|
|
361
|
+
|
|
362
|
+
@property
|
|
363
|
+
def ts_raw(self) -> int:
|
|
364
|
+
"""Get raw start timestamp."""
|
|
365
|
+
return self.fix_size_data[OpRangeStructField.START_TIME_NS.value]
|
|
366
|
+
|
|
367
|
+
@property
|
|
368
|
+
def ts(self) -> Decimal:
|
|
369
|
+
"""Get time in us."""
|
|
370
|
+
if not self._ts_cache:
|
|
371
|
+
self._ts_cache = TimeConverter.convert_syscnt_to_timestamp_us(
|
|
372
|
+
self.fix_size_data[OpRangeStructField.START_TIME_NS.value]
|
|
373
|
+
)
|
|
374
|
+
return self._ts_cache
|
|
375
|
+
|
|
376
|
+
@property
|
|
377
|
+
def pid(self) -> int:
|
|
378
|
+
"""Get process ID."""
|
|
379
|
+
return int(EventConstant.MINDSPORE_PID)
|
|
380
|
+
|
|
381
|
+
@property
|
|
382
|
+
def tid(self) -> int:
|
|
383
|
+
"""Get thread ID."""
|
|
384
|
+
return int(self.fix_size_data[OpRangeStructField.THREAD_ID.value])
|
|
385
|
+
|
|
386
|
+
@property
|
|
387
|
+
def name(self) -> str:
|
|
388
|
+
"""Get operator name."""
|
|
389
|
+
if not self._name_cache:
|
|
390
|
+
self._name_cache = self.get_name()
|
|
391
|
+
return self._name_cache
|
|
392
|
+
|
|
393
|
+
@property
|
|
394
|
+
def step(self) -> int:
|
|
395
|
+
"""Get step ID."""
|
|
396
|
+
return int(self.fix_size_data[OpRangeStructField.STEP.value])
|
|
397
|
+
|
|
398
|
+
@property
|
|
399
|
+
def level(self) -> int:
|
|
400
|
+
"""Get event level."""
|
|
401
|
+
return int(self.fix_size_data[OpRangeStructField.LEVEL.value])
|
|
402
|
+
|
|
403
|
+
@property
|
|
404
|
+
def custom_info(self) -> str:
|
|
405
|
+
"""Get custom information."""
|
|
406
|
+
return self.get_custom_info()
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
class FwkMetaEvent(MetaEvent):
|
|
410
|
+
"""Framework metadata event."""
|
|
411
|
+
|
|
412
|
+
@property
|
|
413
|
+
def pid(self) -> int:
|
|
414
|
+
"""Get framework process ID."""
|
|
415
|
+
return int(EventConstant.MINDSPORE_PID)
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Copyright 2024 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
|
+
"""Msprof event classes for MindSpore profiling data."""
|
|
16
|
+
|
|
17
|
+
from typing import Dict, List, Optional
|
|
18
|
+
from mindspore.profiler.analysis.parser.timeline_event.base_event import (
|
|
19
|
+
BaseEvent,
|
|
20
|
+
MetaEvent,
|
|
21
|
+
InstantEvent,
|
|
22
|
+
CompleteEvent,
|
|
23
|
+
CounterEvent
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class MsprofCompleteEvent(CompleteEvent):
|
|
28
|
+
"""Msprof Complete event class for representing complete operations with duration."""
|
|
29
|
+
_MINDSPORE_OP_KEY = "mindspore_op"
|
|
30
|
+
|
|
31
|
+
def __init__(self, data: Dict):
|
|
32
|
+
"""Initialize complete event with data and empty event references."""
|
|
33
|
+
super().__init__(data)
|
|
34
|
+
self._parent: Optional[BaseEvent] = None
|
|
35
|
+
self._children: List[BaseEvent] = []
|
|
36
|
+
self._step_id = None
|
|
37
|
+
|
|
38
|
+
@property
|
|
39
|
+
def parent(self) -> BaseEvent:
|
|
40
|
+
"""Get parent event reference."""
|
|
41
|
+
return self._parent
|
|
42
|
+
|
|
43
|
+
@parent.setter
|
|
44
|
+
def parent(self, event: BaseEvent) -> None:
|
|
45
|
+
"""Set parent event and update mindspore_op argument."""
|
|
46
|
+
self._parent = event
|
|
47
|
+
self.args.update({self._MINDSPORE_OP_KEY: event.name})
|
|
48
|
+
|
|
49
|
+
@property
|
|
50
|
+
def children(self) -> List[BaseEvent]:
|
|
51
|
+
"""Get list of children event references."""
|
|
52
|
+
return self._children
|
|
53
|
+
|
|
54
|
+
@property
|
|
55
|
+
def step_id(self) -> str:
|
|
56
|
+
"""Get parent event reference."""
|
|
57
|
+
return self._step_id
|
|
58
|
+
|
|
59
|
+
@step_id.setter
|
|
60
|
+
def step_id(self, value):
|
|
61
|
+
self._step_id = value
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
class MsprofInstantEvent(InstantEvent):
|
|
65
|
+
"""Msprof Instant event class for representing instantaneous operations."""
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class MsprofMetaEvent(MetaEvent):
|
|
69
|
+
"""Msprof Meta event class for representing metadata information."""
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class MsprofCounterEvent(CounterEvent):
|
|
73
|
+
"""Msprof Counter event class for representing counter-based metrics."""
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Copyright 2024 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
|
+
"""Scope event class for representing scope layer operations in profiling data."""
|
|
16
|
+
|
|
17
|
+
from decimal import Decimal
|
|
18
|
+
|
|
19
|
+
from mindspore.profiler.common.constant import EventConstant
|
|
20
|
+
from mindspore.profiler.analysis.parser.timeline_event.base_event import CompleteEvent, MetaEvent
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ScopeLayerCompleteEvent(CompleteEvent):
|
|
24
|
+
"""Scope layer complete event class for representing scope operations with duration."""
|
|
25
|
+
|
|
26
|
+
def __init__(self, data: dict):
|
|
27
|
+
"""Initialize scope layer event with data and duration."""
|
|
28
|
+
super().__init__(data)
|
|
29
|
+
self._dur = Decimal(data.get('dur', 0))
|
|
30
|
+
|
|
31
|
+
@property
|
|
32
|
+
def dur(self) -> Decimal:
|
|
33
|
+
"""Get scope operation duration."""
|
|
34
|
+
return self._dur
|
|
35
|
+
|
|
36
|
+
@dur.setter
|
|
37
|
+
def dur(self, value: Decimal):
|
|
38
|
+
"""Set scope operation duration."""
|
|
39
|
+
self._dur = value
|
|
40
|
+
|
|
41
|
+
@property
|
|
42
|
+
def pid(self) -> int:
|
|
43
|
+
"""Get scope layer process ID."""
|
|
44
|
+
return int(EventConstant.SCOPE_LAYER_PID)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class ScopeLayerMetaEvent(MetaEvent):
|
|
48
|
+
"""Scope layer meta event class for scope layer metadata."""
|
|
49
|
+
|
|
50
|
+
@property
|
|
51
|
+
def pid(self) -> int:
|
|
52
|
+
"""Get scope layer process ID."""
|
|
53
|
+
return int(EventConstant.SCOPE_LAYER_PID)
|