mindspore 2.4.10__cp310-cp310-win_amd64.whl → 2.6.0rc1__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 +46 -197
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +217 -98
- 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 +435 -371
- 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 +2 -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 +951 -1992
- 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 +314 -566
- 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 +182 -116
- 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 +211 -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 +157 -117
- 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 +796 -759
- 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 +921 -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 +1370 -189
- 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 +22 -17
- 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 +17 -13
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +1 -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 +365 -363
- 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 +27 -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 +236 -46
- mindspore/ops/auto_generate/gen_extend_func.py +764 -124
- mindspore/ops/auto_generate/gen_ops_def.py +4018 -2264
- mindspore/ops/auto_generate/gen_ops_prim.py +15463 -5037
- 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 +4501 -3802
- mindspore/ops/function/nn_func.py +1726 -620
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +18 -84
- mindspore/ops/function/random_func.py +440 -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 +24 -17
- mindspore/ops/functional.py +22 -7
- mindspore/ops/functional_overload.py +1440 -0
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +13 -7
- mindspore/ops/operations/_custom_ops_utils.py +247 -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 +232 -78
- mindspore/ops/operations/debug_ops.py +153 -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 +210 -498
- 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 +1888 -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 +299 -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 +152 -34
- mindspore/parallel/_cell_wrapper.py +130 -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 +698 -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 +259 -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 -58
- mindspore/parallel/transform_safetensors.py +363 -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 +106 -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 +409 -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 +88 -25
- 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} +204 -107
- 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 +184 -113
- 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 +550 -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.0rc1.dist-info}/METADATA +3 -3
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +587 -418
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.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.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,500 @@
|
|
|
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
|
+
"""Profiler Context"""
|
|
16
|
+
import os
|
|
17
|
+
from typing import (
|
|
18
|
+
Dict,
|
|
19
|
+
Any,
|
|
20
|
+
Optional,
|
|
21
|
+
List,
|
|
22
|
+
Set,
|
|
23
|
+
Callable,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
from mindspore.communication.management import GlobalComm
|
|
27
|
+
from mindspore.communication.management import get_local_rank
|
|
28
|
+
from mindspore.communication.management import get_rank
|
|
29
|
+
from mindspore.profiler.common.constant import (
|
|
30
|
+
DeviceTarget,
|
|
31
|
+
ProfilerLevel,
|
|
32
|
+
ProfilerActivity,
|
|
33
|
+
AicoreMetrics,
|
|
34
|
+
ExportType
|
|
35
|
+
)
|
|
36
|
+
from mindspore.profiler.common.profiler_output_path import ProfilerOutputPath
|
|
37
|
+
from mindspore.profiler.common.profiler_parameters import ProfilerParameters
|
|
38
|
+
from mindspore.profiler.common.constant import AnalysisMode
|
|
39
|
+
from mindspore.profiler.common.singleton import Singleton
|
|
40
|
+
from mindspore.profiler.schedule import Schedule
|
|
41
|
+
|
|
42
|
+
from mindspore import context
|
|
43
|
+
from mindspore import log as logger
|
|
44
|
+
from mindspore.profiler.common.profiler_info import ProfilerInfo
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@Singleton
|
|
48
|
+
class ProfilerContext:
|
|
49
|
+
"""
|
|
50
|
+
Profiler context manage all parameters and paths on runtime.
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
def __init__(self):
|
|
54
|
+
self._profiler_params_mgr: ProfilerParameters = None
|
|
55
|
+
self._device_id: Optional[str] = None
|
|
56
|
+
self._rank_id: Optional[str] = None
|
|
57
|
+
self._device_target: Optional[str] = None
|
|
58
|
+
self._dynamic_status: Optional[bool] = None
|
|
59
|
+
self._step_list: Optional[int] = None
|
|
60
|
+
self._mode: str = AnalysisMode.SYNC_MODE.value
|
|
61
|
+
self._pretty: bool = False
|
|
62
|
+
self._profiler_path_mgr: ProfilerOutputPath = None
|
|
63
|
+
self._on_trace_ready_output_path = None
|
|
64
|
+
self._jit_level: Optional[str] = ""
|
|
65
|
+
self._context_mode: Optional[int] = -1
|
|
66
|
+
|
|
67
|
+
self._init_device_target()
|
|
68
|
+
self._init_device_id()
|
|
69
|
+
self._init_rank_id()
|
|
70
|
+
self._init_context_mode()
|
|
71
|
+
|
|
72
|
+
def set_params(self, **kwargs):
|
|
73
|
+
"""
|
|
74
|
+
Set profiler parameters and paths
|
|
75
|
+
"""
|
|
76
|
+
# output_path and on_trace_ready cannot be set at the same time. If both are set,
|
|
77
|
+
# only paths in on_trace_ready take effect
|
|
78
|
+
if self._on_trace_ready_output_path:
|
|
79
|
+
final_path = self._on_trace_ready_output_path
|
|
80
|
+
if "output_path" in kwargs:
|
|
81
|
+
logger.warning(f"Both on_trace_ready path and output_path are provided. "
|
|
82
|
+
f"The on_trace_ready path takes effect. Final path is {final_path}")
|
|
83
|
+
kwargs["output_path"] = final_path
|
|
84
|
+
|
|
85
|
+
self._profiler_params_mgr: ProfilerParameters = ProfilerParameters(**kwargs)
|
|
86
|
+
self._profiler_path_mgr: ProfilerOutputPath = ProfilerOutputPath(
|
|
87
|
+
device_id=int(self._device_id), rank_id=int(self._rank_id)
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
self._profiler_path_mgr.output_path = self._profiler_params_mgr.output_path
|
|
91
|
+
|
|
92
|
+
@property
|
|
93
|
+
def on_trace_ready_output_path(self) -> str:
|
|
94
|
+
"""Get the on trace ready output path."""
|
|
95
|
+
return self._on_trace_ready_output_path
|
|
96
|
+
|
|
97
|
+
@on_trace_ready_output_path.setter
|
|
98
|
+
def on_trace_ready_output_path(self, value: str):
|
|
99
|
+
"""Set the tensorboard profile path to on trace ready output path."""
|
|
100
|
+
self._on_trace_ready_output_path = value
|
|
101
|
+
|
|
102
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
103
|
+
"""
|
|
104
|
+
Convert the profiler context to a dictionary for multiprocessing.
|
|
105
|
+
"""
|
|
106
|
+
return {
|
|
107
|
+
**self._profiler_params_mgr.original_params,
|
|
108
|
+
**self._profiler_path_mgr.to_dict(),
|
|
109
|
+
"device_id": self._device_id,
|
|
110
|
+
"rank_id": self._rank_id,
|
|
111
|
+
"device_target": self._device_target,
|
|
112
|
+
"dynamic_status": self._dynamic_status,
|
|
113
|
+
"step_list": self._step_list,
|
|
114
|
+
"mode": self._mode,
|
|
115
|
+
"jit_level": self._jit_level,
|
|
116
|
+
"context_mode": self._context_mode
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
def load_offline_profiler_params(self, profiler_parameters: Dict[str, Any]) -> None:
|
|
120
|
+
"""
|
|
121
|
+
Update profiler parameters from profiler_info.json
|
|
122
|
+
"""
|
|
123
|
+
if not profiler_parameters:
|
|
124
|
+
raise ValueError("Profiler parameters is empty")
|
|
125
|
+
|
|
126
|
+
for param, (_, _) in self._profiler_params_mgr.PARAMS.items():
|
|
127
|
+
if param in profiler_parameters:
|
|
128
|
+
if param == "profiler_level":
|
|
129
|
+
value = ProfilerLevel(profiler_parameters[param])
|
|
130
|
+
elif param == "aic_metrics":
|
|
131
|
+
value = AicoreMetrics(profiler_parameters[param])
|
|
132
|
+
elif param == "activities":
|
|
133
|
+
value = [ProfilerActivity(activity) for activity in profiler_parameters[param]]
|
|
134
|
+
elif param == "export_type":
|
|
135
|
+
value = [ExportType(export_type) for export_type in profiler_parameters[param]]
|
|
136
|
+
elif param == "schedule":
|
|
137
|
+
continue
|
|
138
|
+
else:
|
|
139
|
+
value = profiler_parameters[param]
|
|
140
|
+
|
|
141
|
+
setattr(self._profiler_params_mgr, param, value)
|
|
142
|
+
setattr(self._profiler_params_mgr, "is_set_schedule", profiler_parameters["is_set_schedule"])
|
|
143
|
+
|
|
144
|
+
@property
|
|
145
|
+
def device_target_set(self) -> Set[str]:
|
|
146
|
+
"""
|
|
147
|
+
Get the device target set for ProfilerInterface initialization.
|
|
148
|
+
|
|
149
|
+
CPU is always included in the list, device_target includes CPU、Ascend、GPU.
|
|
150
|
+
"""
|
|
151
|
+
return set([DeviceTarget.CPU.value, self._device_target])
|
|
152
|
+
|
|
153
|
+
@property
|
|
154
|
+
def npu_profiler_params(self) -> Dict[str, Any]:
|
|
155
|
+
"""
|
|
156
|
+
Get NPU profiler parameters for Ascend profiler cpp backend.
|
|
157
|
+
|
|
158
|
+
Returns:
|
|
159
|
+
Dict[str, Any]: A dictionary of NPU profiler parameters.
|
|
160
|
+
"""
|
|
161
|
+
params = self._profiler_params_mgr.npu_profiler_params
|
|
162
|
+
# update framework_path for profile memory
|
|
163
|
+
params["framework_path"] = self._profiler_path_mgr.framework_path
|
|
164
|
+
params["rank_id"] = int(self._rank_id)
|
|
165
|
+
params["device_id"] = int(self._device_id)
|
|
166
|
+
return params
|
|
167
|
+
|
|
168
|
+
@property
|
|
169
|
+
def original_params(self) -> Dict[str, str]:
|
|
170
|
+
"""Get the original parameters from ProfilerParameters."""
|
|
171
|
+
return self._profiler_params_mgr.original_params
|
|
172
|
+
|
|
173
|
+
@property
|
|
174
|
+
def output_path(self) -> str:
|
|
175
|
+
"""Get the output path from ProfilerOutputPath."""
|
|
176
|
+
return self._profiler_path_mgr.output_path
|
|
177
|
+
|
|
178
|
+
@property
|
|
179
|
+
def ascend_ms_dir(self) -> str:
|
|
180
|
+
"""Get the Ascend MS directory from ProfilerOutputPath."""
|
|
181
|
+
return self._profiler_path_mgr.ascend_ms_dir
|
|
182
|
+
|
|
183
|
+
@ascend_ms_dir.setter
|
|
184
|
+
def ascend_ms_dir(self, value: str):
|
|
185
|
+
"""Set the Ascend MS directory to ProfilerOutputPath."""
|
|
186
|
+
self._profiler_path_mgr.ascend_ms_dir = value
|
|
187
|
+
|
|
188
|
+
@property
|
|
189
|
+
def ascend_profiler_output_path(self) -> str:
|
|
190
|
+
"""Get the Ascend profiler output path from ProfilerOutputPath."""
|
|
191
|
+
return self._profiler_path_mgr.ascend_profiler_output_path
|
|
192
|
+
|
|
193
|
+
@property
|
|
194
|
+
def framework_path(self) -> str:
|
|
195
|
+
"""Get the framework path from ProfilerOutputPath."""
|
|
196
|
+
return self._profiler_path_mgr.framework_path
|
|
197
|
+
|
|
198
|
+
@property
|
|
199
|
+
def msprof_profile_path(self) -> str:
|
|
200
|
+
"""Get the MSProf profile path from ProfilerOutputPath."""
|
|
201
|
+
return self._profiler_path_mgr.msprof_profile_path
|
|
202
|
+
|
|
203
|
+
@msprof_profile_path.setter
|
|
204
|
+
def msprof_profile_path(self, value: str):
|
|
205
|
+
"""Set the MSProf profile path to ProfilerOutputPath."""
|
|
206
|
+
self._profiler_path_mgr.msprof_profile_path = value
|
|
207
|
+
|
|
208
|
+
@property
|
|
209
|
+
def msprof_profile_host_path(self) -> str:
|
|
210
|
+
"""Get the MSProf profile host path from ProfilerOutputPath."""
|
|
211
|
+
return self._profiler_path_mgr.msprof_profile_host_path
|
|
212
|
+
|
|
213
|
+
@property
|
|
214
|
+
def msprof_profile_device_path(self) -> str:
|
|
215
|
+
"""Get the MSProf profile device path from ProfilerOutputPath."""
|
|
216
|
+
return self._profiler_path_mgr.msprof_profile_device_path
|
|
217
|
+
|
|
218
|
+
@property
|
|
219
|
+
def msprof_profile_log_path(self) -> str:
|
|
220
|
+
"""Get the MSProf profile log path from ProfilerOutputPath."""
|
|
221
|
+
return self._profiler_path_mgr.msprof_profile_log_path
|
|
222
|
+
|
|
223
|
+
@property
|
|
224
|
+
def msprof_profile_output_path(self) -> str:
|
|
225
|
+
"""Get the MSProf profile output path from ProfilerOutputPath."""
|
|
226
|
+
return self._profiler_path_mgr.msprof_profile_output_path
|
|
227
|
+
|
|
228
|
+
@property
|
|
229
|
+
def profiler_level(self) -> ProfilerLevel:
|
|
230
|
+
"""Get the profiler level from ProfilerParameters."""
|
|
231
|
+
return self._profiler_params_mgr.profiler_level
|
|
232
|
+
|
|
233
|
+
@property
|
|
234
|
+
def activities(self) -> List[ProfilerActivity]:
|
|
235
|
+
"""Get the activities from ProfilerParameters."""
|
|
236
|
+
return self._profiler_params_mgr.activities
|
|
237
|
+
|
|
238
|
+
@property
|
|
239
|
+
def profile_memory(self) -> bool:
|
|
240
|
+
"""Get the profile memory from ProfilerParameters."""
|
|
241
|
+
return self._profiler_params_mgr.profile_memory
|
|
242
|
+
|
|
243
|
+
@property
|
|
244
|
+
def parallel_strategy(self) -> bool:
|
|
245
|
+
"""Get the parallel strategy from ProfilerParameters."""
|
|
246
|
+
return self._profiler_params_mgr.parallel_strategy
|
|
247
|
+
|
|
248
|
+
@property
|
|
249
|
+
def start_profile(self) -> bool:
|
|
250
|
+
"""Get the start profile from ProfilerParameters."""
|
|
251
|
+
return self._profiler_params_mgr.start_profile
|
|
252
|
+
|
|
253
|
+
@property
|
|
254
|
+
def aicore_metrics(self) -> int:
|
|
255
|
+
"""Get the aicore metrics from ProfilerParameters."""
|
|
256
|
+
return self._profiler_params_mgr.aicore_metrics
|
|
257
|
+
|
|
258
|
+
@property
|
|
259
|
+
def l2_cache(self) -> bool:
|
|
260
|
+
"""Get the l2 cache from ProfilerParameters."""
|
|
261
|
+
return self._profiler_params_mgr.l2_cache
|
|
262
|
+
|
|
263
|
+
@property
|
|
264
|
+
def hbm_ddr(self) -> bool:
|
|
265
|
+
"""Get the hbm ddr from ProfilerParameters."""
|
|
266
|
+
return self._profiler_params_mgr.hbm_ddr
|
|
267
|
+
|
|
268
|
+
@property
|
|
269
|
+
def pcie(self) -> bool:
|
|
270
|
+
"""Get the pcie from ProfilerParameters."""
|
|
271
|
+
return self._profiler_params_mgr.pcie
|
|
272
|
+
|
|
273
|
+
@property
|
|
274
|
+
def sync_enable(self) -> bool:
|
|
275
|
+
"""Get the sync enable from ProfilerParameters."""
|
|
276
|
+
return self._profiler_params_mgr.sync_enable
|
|
277
|
+
|
|
278
|
+
@property
|
|
279
|
+
def data_process(self) -> bool:
|
|
280
|
+
"""Get the data process from ProfilerParameters."""
|
|
281
|
+
return self._profiler_params_mgr.data_process
|
|
282
|
+
|
|
283
|
+
@property
|
|
284
|
+
def with_stack(self) -> bool:
|
|
285
|
+
"""Get the with stack from ProfilerParameters."""
|
|
286
|
+
return self._profiler_params_mgr.with_stack
|
|
287
|
+
|
|
288
|
+
@property
|
|
289
|
+
def mstx(self) -> bool:
|
|
290
|
+
"""Get the mstx from ProfilerParameters."""
|
|
291
|
+
return self._profiler_params_mgr.mstx
|
|
292
|
+
|
|
293
|
+
@property
|
|
294
|
+
def data_simplification(self) -> bool:
|
|
295
|
+
"""Get the data simplification from ProfilerParameters."""
|
|
296
|
+
return self._profiler_params_mgr.data_simplification
|
|
297
|
+
|
|
298
|
+
@data_simplification.setter
|
|
299
|
+
def data_simplification(self, value: bool) -> None:
|
|
300
|
+
"""Set data simplification value."""
|
|
301
|
+
if not isinstance(value, bool):
|
|
302
|
+
logger.warning(f"For profiler, the type of data_simplification should be bool, "
|
|
303
|
+
f"but got {type(value)}, reset to True.")
|
|
304
|
+
value = True
|
|
305
|
+
self._profiler_params_mgr.data_simplification = value
|
|
306
|
+
|
|
307
|
+
@property
|
|
308
|
+
def device_target(self) -> str:
|
|
309
|
+
"""Get device target."""
|
|
310
|
+
return self._device_target
|
|
311
|
+
|
|
312
|
+
@property
|
|
313
|
+
def rank_id(self) -> str:
|
|
314
|
+
"""Get rank id."""
|
|
315
|
+
return self._rank_id
|
|
316
|
+
|
|
317
|
+
@rank_id.setter
|
|
318
|
+
def rank_id(self, value: str) -> None:
|
|
319
|
+
"""Set rank id."""
|
|
320
|
+
if not value:
|
|
321
|
+
raise ValueError("Rank id must be a non-empty string")
|
|
322
|
+
|
|
323
|
+
if not value.isdigit():
|
|
324
|
+
raise ValueError("Rank id must be a number")
|
|
325
|
+
self._rank_id = value
|
|
326
|
+
|
|
327
|
+
@property
|
|
328
|
+
def device_id(self) -> str:
|
|
329
|
+
"""Get device id."""
|
|
330
|
+
return self._device_id
|
|
331
|
+
|
|
332
|
+
@device_id.setter
|
|
333
|
+
def device_id(self, value) -> None:
|
|
334
|
+
"""Set device id."""
|
|
335
|
+
if not value:
|
|
336
|
+
raise ValueError("Device id must be a non-empty string")
|
|
337
|
+
|
|
338
|
+
if not value.isdigit():
|
|
339
|
+
raise ValueError("Device id must be a number")
|
|
340
|
+
self._device_id = value
|
|
341
|
+
|
|
342
|
+
@property
|
|
343
|
+
def dynamic_status(self) -> bool:
|
|
344
|
+
"""Get dynamic status."""
|
|
345
|
+
return self._dynamic_status
|
|
346
|
+
|
|
347
|
+
@property
|
|
348
|
+
def step_list(self) -> Optional[List[int]]:
|
|
349
|
+
"""Get step list."""
|
|
350
|
+
return self._step_list
|
|
351
|
+
|
|
352
|
+
@step_list.setter
|
|
353
|
+
def step_list(self, value: Optional[List[int]]) -> None:
|
|
354
|
+
"""Set step list for profiling."""
|
|
355
|
+
if value is not None and not isinstance(value, list):
|
|
356
|
+
logger.error(f"For profiler, the parameter step_list must be a list, "
|
|
357
|
+
f"but got type {type(value)}, step_list reset to None.")
|
|
358
|
+
return
|
|
359
|
+
if value:
|
|
360
|
+
if not all(isinstance(step_id, int) for step_id in value):
|
|
361
|
+
logger.error(f"For profiler, the elements of the parameter step_list "
|
|
362
|
+
"must be integers, step_list reset to None.")
|
|
363
|
+
return
|
|
364
|
+
value.sort()
|
|
365
|
+
if value[-1] - value[0] != len(value) - 1:
|
|
366
|
+
logger.error(f"For profiler, the elements of the parameter step_list "
|
|
367
|
+
"must be continuous integers, step_list reset to None.")
|
|
368
|
+
return
|
|
369
|
+
self._step_list = value
|
|
370
|
+
|
|
371
|
+
@property
|
|
372
|
+
def pretty(self) -> bool:
|
|
373
|
+
return self._pretty
|
|
374
|
+
|
|
375
|
+
@pretty.setter
|
|
376
|
+
def pretty(self, value: bool) -> None:
|
|
377
|
+
"""Set pretty print value."""
|
|
378
|
+
if not isinstance(value, bool):
|
|
379
|
+
logger.warning(f"For profiler, the parameter pretty must be bool, "
|
|
380
|
+
f"but got {type(value)}, reset to False.")
|
|
381
|
+
value = False
|
|
382
|
+
self._pretty = value
|
|
383
|
+
|
|
384
|
+
@property
|
|
385
|
+
def mode(self) -> str:
|
|
386
|
+
"""Get the analysis mode."""
|
|
387
|
+
return self._mode
|
|
388
|
+
|
|
389
|
+
@mode.setter
|
|
390
|
+
def mode(self, mode: str) -> None:
|
|
391
|
+
"""Set analysis mode value."""
|
|
392
|
+
if not isinstance(mode, str):
|
|
393
|
+
logger.warning(f"For Profiler.analyse(), the parameter mode must be str, "
|
|
394
|
+
f"but got {type(mode)}, reset to {AnalysisMode.SYNC_MODE.value}.")
|
|
395
|
+
self._mode = AnalysisMode.SYNC_MODE.value
|
|
396
|
+
return
|
|
397
|
+
|
|
398
|
+
mode_range = [m.value for m in AnalysisMode]
|
|
399
|
+
if mode not in mode_range:
|
|
400
|
+
logger.warning(f"For Profiler.analyse(), the parameter mode must be one of {mode_range}, "
|
|
401
|
+
f"but got {mode}, reset to {AnalysisMode.SYNC_MODE.value}.")
|
|
402
|
+
self._mode = AnalysisMode.SYNC_MODE.value
|
|
403
|
+
return
|
|
404
|
+
|
|
405
|
+
self._mode = mode
|
|
406
|
+
|
|
407
|
+
@property
|
|
408
|
+
def schedule(self) -> Schedule:
|
|
409
|
+
"""Get the schedule from ProfilerParameters."""
|
|
410
|
+
return self._profiler_params_mgr.schedule
|
|
411
|
+
|
|
412
|
+
@property
|
|
413
|
+
def on_trace_ready(self) -> Optional[Callable[..., Any]]:
|
|
414
|
+
"""Get the on trace ready from ProfilerParameters."""
|
|
415
|
+
return self._profiler_params_mgr.on_trace_ready
|
|
416
|
+
|
|
417
|
+
@property
|
|
418
|
+
def is_set_schedule(self) -> bool:
|
|
419
|
+
"""Get the is set schedule from ProfilerParameters."""
|
|
420
|
+
return self._profiler_params_mgr.is_set_schedule
|
|
421
|
+
|
|
422
|
+
@property
|
|
423
|
+
def context_mode(self) -> int:
|
|
424
|
+
return self._context_mode
|
|
425
|
+
|
|
426
|
+
@context_mode.setter
|
|
427
|
+
def context_mode(self, value: int) -> None:
|
|
428
|
+
"""Set context mode value."""
|
|
429
|
+
if not isinstance(value, int):
|
|
430
|
+
logger.warning(f"For profiler, the parameter context_mode must be int, "
|
|
431
|
+
f"but got {type(value)}, reset to -1.")
|
|
432
|
+
value = -1
|
|
433
|
+
self._context_mode = value
|
|
434
|
+
|
|
435
|
+
@property
|
|
436
|
+
def jit_level(self) -> str:
|
|
437
|
+
return self._jit_level
|
|
438
|
+
|
|
439
|
+
@jit_level.setter
|
|
440
|
+
def jit_level(self, value: str) -> None:
|
|
441
|
+
"""Set jit level value."""
|
|
442
|
+
if not isinstance(value, str):
|
|
443
|
+
logger.warning(f"For profiler, the parameter jit_level must be str, "
|
|
444
|
+
f"but got {type(value)}, reset to ''.")
|
|
445
|
+
value = ""
|
|
446
|
+
self._jit_level = value
|
|
447
|
+
|
|
448
|
+
def _init_device_target(self) -> None:
|
|
449
|
+
"""
|
|
450
|
+
Initialize the device target.
|
|
451
|
+
|
|
452
|
+
Raises:
|
|
453
|
+
RuntimeError: If the device target is not supported.
|
|
454
|
+
"""
|
|
455
|
+
self._device_target = context.get_context("device_target")
|
|
456
|
+
|
|
457
|
+
if self._device_target and self._device_target not in (
|
|
458
|
+
member.value for member in DeviceTarget
|
|
459
|
+
):
|
|
460
|
+
msg = "Profiling: unsupported backend: %s" % self._device_target
|
|
461
|
+
raise RuntimeError(msg)
|
|
462
|
+
|
|
463
|
+
def _init_device_id(self) -> None:
|
|
464
|
+
"""
|
|
465
|
+
Initialize the device ID.
|
|
466
|
+
"""
|
|
467
|
+
self._device_id = str(context.get_context("device_id"))
|
|
468
|
+
|
|
469
|
+
if not self._device_id or not self._device_id.isdigit():
|
|
470
|
+
if GlobalComm.INITED and self._device_target == DeviceTarget.NPU.value:
|
|
471
|
+
self._device_id = str(get_local_rank())
|
|
472
|
+
else:
|
|
473
|
+
self._device_id = os.getenv("DEVICE_ID")
|
|
474
|
+
|
|
475
|
+
if not self._device_id or not self._device_id.isdigit():
|
|
476
|
+
self._device_id = "0"
|
|
477
|
+
logger.warning("Fail to get DEVICE_ID, use 0 instead.")
|
|
478
|
+
|
|
479
|
+
def _init_rank_id(self) -> None:
|
|
480
|
+
"""
|
|
481
|
+
Initialize the rank ID.
|
|
482
|
+
"""
|
|
483
|
+
if GlobalComm.INITED and self._device_target == DeviceTarget.NPU.value:
|
|
484
|
+
self._rank_id = str(get_rank())
|
|
485
|
+
else:
|
|
486
|
+
self._rank_id = os.getenv("RANK_ID")
|
|
487
|
+
|
|
488
|
+
if not self._rank_id or not self._rank_id.isdigit():
|
|
489
|
+
self._rank_id = "0"
|
|
490
|
+
|
|
491
|
+
def _init_context_mode(self):
|
|
492
|
+
"""
|
|
493
|
+
Initialize the jit level.
|
|
494
|
+
"""
|
|
495
|
+
if context.get_context("mode") == context.GRAPH_MODE:
|
|
496
|
+
jit_config = context.get_jit_config()
|
|
497
|
+
self._jit_level = jit_config.get("jit_level", "")
|
|
498
|
+
ProfilerInfo().jit_level = self._jit_level
|
|
499
|
+
ProfilerInfo().context_mode = context.get_context("mode")
|
|
500
|
+
self._context_mode = context.get_context("mode")
|