mindspore 2.6.0__cp311-cp311-win_amd64.whl → 2.7.0__cp311-cp311-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 +2 -2
- mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
- mindspore/_checkparam.py +42 -11
- mindspore/_extends/builtin_operations.py +3 -3
- mindspore/{_deprecated → _extends/optimize}/__init__.py +9 -3
- mindspore/_extends/optimize/cell_utils.py +96 -0
- mindspore/_extends/parallel_compile/akg_compiler/custom.py +1109 -0
- mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
- mindspore/_extends/parse/__init__.py +3 -3
- mindspore/_extends/parse/compile_config.py +44 -22
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +1 -2
- mindspore/_extends/parse/parser.py +64 -83
- mindspore/_extends/parse/resources.py +39 -0
- mindspore/_extends/parse/standard_method.py +47 -14
- mindspore/_extends/parse/trope.py +8 -1
- mindspore/_extends/pijit/__init__.py +1 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +2 -5
- mindspore/amp.py +4 -22
- 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/adasum.py +1 -1
- mindspore/boost/boost_cell_wrapper.py +4 -4
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +43 -12
- mindspore/common/_grad_function.py +2 -1
- mindspore/common/_pijit_context.py +28 -7
- mindspore/common/_stub_tensor.py +1 -209
- mindspore/common/_tensor_cpp_method.py +1 -1
- mindspore/common/_tensor_docs.py +177 -52
- mindspore/common/_utils.py +9 -1
- mindspore/common/api.py +338 -208
- mindspore/common/dtype.py +108 -57
- mindspore/common/dump.py +11 -16
- mindspore/common/dynamic_shape/__init__.py +0 -0
- mindspore/common/{auto_dynamic_shape.py → dynamic_shape/auto_dynamic_shape.py} +17 -23
- mindspore/common/dynamic_shape/enable_dynamic.py +197 -0
- mindspore/common/file_system.py +59 -9
- mindspore/common/generator.py +2 -3
- mindspore/common/hook_handle.py +33 -5
- mindspore/common/jit_config.py +1 -1
- mindspore/common/jit_trace.py +84 -105
- mindspore/common/np_dtype.py +3 -3
- mindspore/common/parameter.py +27 -29
- mindspore/common/recompute.py +5 -7
- mindspore/common/sparse_tensor.py +0 -3
- mindspore/common/symbol.py +0 -1
- mindspore/common/tensor.py +84 -133
- mindspore/communication/_comm_helper.py +46 -4
- mindspore/communication/management.py +79 -7
- mindspore/context.py +47 -38
- mindspore/dataset/__init__.py +1 -1
- mindspore/dataset/audio/transforms.py +1 -1
- mindspore/dataset/core/config.py +38 -4
- mindspore/dataset/engine/datasets.py +350 -322
- mindspore/dataset/engine/datasets_user_defined.py +69 -23
- mindspore/dataset/engine/iterators.py +2 -2
- mindspore/dataset/engine/obs/config_loader.py +2 -2
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +8 -0
- mindspore/dataset/transforms/c_transforms.py +2 -2
- mindspore/dataset/transforms/py_transforms.py +7 -3
- mindspore/dataset/transforms/transforms.py +10 -6
- mindspore/dataset/vision/__init__.py +1 -1
- mindspore/dataset/vision/py_transforms.py +8 -8
- mindspore/dataset/vision/transforms.py +17 -5
- mindspore/dataset/vision/utils.py +632 -21
- mindspore/dataset/vision/validators.py +1 -0
- mindspore/device_context/ascend/device.py +1 -1
- mindspore/device_context/ascend/op_tuning.py +35 -1
- mindspore/device_context/gpu/__init__.py +2 -2
- mindspore/device_context/gpu/device.py +1 -1
- mindspore/device_context/gpu/op_precision.py +4 -2
- mindspore/device_context/gpu/op_tuning.py +6 -3
- mindspore/device_manager.py +16 -9
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +5 -4
- mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
- mindspore/experimental/optim/adadelta.py +13 -20
- mindspore/experimental/optim/adagrad.py +15 -22
- mindspore/experimental/optim/adam.py +17 -24
- mindspore/experimental/optim/adamax.py +14 -22
- mindspore/experimental/optim/adamw.py +28 -34
- mindspore/experimental/optim/asgd.py +15 -25
- mindspore/experimental/optim/lr_scheduler.py +27 -45
- mindspore/experimental/optim/nadam.py +14 -24
- mindspore/experimental/optim/optimizer.py +13 -23
- mindspore/experimental/optim/radam.py +18 -24
- mindspore/experimental/optim/rmsprop.py +14 -25
- mindspore/experimental/optim/rprop.py +15 -26
- mindspore/experimental/optim/sgd.py +9 -19
- mindspore/hal/__init__.py +4 -4
- mindspore/hal/contiguous_tensors_handle.py +2 -2
- mindspore/hal/memory.py +1 -0
- mindspore/include/api/cell.h +65 -5
- mindspore/include/api/cfg.h +24 -7
- mindspore/include/api/context.h +1 -0
- mindspore/include/api/delegate.h +10 -2
- mindspore/include/api/dual_abi_helper.h +100 -19
- mindspore/include/api/graph.h +14 -1
- mindspore/include/api/kernel.h +16 -3
- mindspore/include/api/kernel_api.h +9 -1
- mindspore/include/api/metrics/accuracy.h +9 -0
- mindspore/include/api/model.h +8 -1
- mindspore/include/api/model_group.h +4 -0
- mindspore/include/api/model_parallel_runner.h +2 -0
- mindspore/include/api/status.h +48 -10
- mindspore/include/api/types.h +8 -3
- mindspore/include/c_api/model_c.h +0 -58
- mindspore/include/c_api/tensor_c.h +0 -26
- mindspore/include/dataset/constants.h +9 -0
- mindspore/include/dataset/vision_ascend.h +1 -1
- mindspore/jpeg62.dll +0 -0
- mindspore/mindrecord/tools/cifar10.py +61 -11
- mindspore/mindrecord/tools/cifar10_to_mr.py +5 -0
- 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_cpu_res_manager.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_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 +4 -44
- mindspore/mint/distributed/__init__.py +5 -0
- mindspore/mint/distributed/distributed.py +425 -19
- mindspore/mint/nn/__init__.py +1 -1
- mindspore/mint/nn/functional.py +53 -6
- mindspore/mint/nn/layer/_functions.py +163 -294
- mindspore/mint/nn/layer/activation.py +8 -6
- mindspore/mint/nn/layer/conv.py +125 -101
- mindspore/mint/nn/layer/normalization.py +11 -25
- mindspore/mint/optim/adam.py +19 -18
- mindspore/mint/optim/adamw.py +14 -8
- mindspore/mint/optim/sgd.py +5 -5
- 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/nn/cell.py +488 -620
- mindspore/nn/grad/cell_grad.py +11 -12
- mindspore/nn/layer/activation.py +36 -36
- mindspore/nn/layer/basic.py +74 -77
- mindspore/nn/layer/channel_shuffle.py +4 -4
- mindspore/nn/layer/combined.py +4 -2
- mindspore/nn/layer/conv.py +86 -85
- mindspore/nn/layer/dense.py +9 -7
- mindspore/nn/layer/embedding.py +50 -52
- mindspore/nn/layer/image.py +38 -40
- mindspore/nn/layer/math.py +111 -112
- mindspore/nn/layer/normalization.py +56 -44
- mindspore/nn/layer/pooling.py +58 -63
- mindspore/nn/layer/rnn_cells.py +33 -33
- mindspore/nn/layer/rnns.py +56 -56
- mindspore/nn/layer/thor_layer.py +74 -73
- mindspore/nn/layer/transformer.py +11 -1
- mindspore/nn/learning_rate_schedule.py +20 -20
- mindspore/nn/loss/loss.py +79 -81
- mindspore/nn/optim/adam.py +2 -4
- mindspore/nn/optim/adasum.py +2 -2
- mindspore/nn/optim/lamb.py +1 -3
- mindspore/nn/optim/optimizer.py +1 -1
- mindspore/nn/optim/tft_wrapper.py +2 -3
- mindspore/nn/optim/thor.py +2 -2
- mindspore/nn/probability/distribution/_utils/utils.py +2 -2
- mindspore/nn/probability/distribution/exponential.py +2 -1
- mindspore/nn/probability/distribution/poisson.py +2 -1
- mindspore/nn/sparse/sparse.py +3 -3
- mindspore/nn/wrap/cell_wrapper.py +73 -42
- mindspore/nn/wrap/grad_reducer.py +37 -52
- mindspore/nn/wrap/loss_scale.py +72 -74
- mindspore/numpy/array_creations.py +7 -7
- mindspore/numpy/fft.py +1 -1
- mindspore/numpy/math_ops.py +1 -1
- mindspore/numpy/utils_const.py +1 -1
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/_grad_experimental/grad_comm_ops.py +51 -13
- mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -0
- mindspore/ops/_grad_experimental/grad_inner_ops.py +0 -9
- mindspore/ops/_op_impl/cpu/__init__.py +1 -0
- mindspore/{experimental/es/__init__.py → ops/_op_impl/cpu/joinedstr_op.py} +12 -6
- mindspore/ops/_vmap/vmap_array_ops.py +6 -13
- mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +29 -10
- mindspore/ops/auto_generate/gen_extend_func.py +5 -55
- mindspore/ops/auto_generate/gen_ops_def.py +753 -273
- mindspore/ops/auto_generate/gen_ops_prim.py +1687 -958
- mindspore/ops/auto_generate/pyboost_inner_prim.py +31 -1
- mindspore/ops/composite/__init__.py +10 -0
- mindspore/ops/composite/base.py +9 -5
- mindspore/ops/composite/multitype_ops/__init__.py +12 -1
- mindspore/ops/composite/multitype_ops/_compile_utils.py +132 -108
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -1
- mindspore/ops/composite/multitype_ops/add_impl.py +70 -2
- mindspore/ops/composite/multitype_ops/div_impl.py +49 -0
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +29 -0
- mindspore/ops/composite/multitype_ops/getitem_impl.py +11 -0
- mindspore/ops/composite/multitype_ops/mod_impl.py +5 -3
- mindspore/ops/composite/multitype_ops/mul_impl.py +49 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +57 -0
- mindspore/ops/composite/multitype_ops/sub_impl.py +34 -0
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +14 -0
- mindspore/ops/function/__init__.py +4 -1
- mindspore/ops/function/_add_attr_func.py +11 -6
- mindspore/ops/function/array_func.py +17 -100
- mindspore/ops/function/debug_func.py +8 -5
- mindspore/ops/function/grad/grad_func.py +5 -13
- mindspore/ops/function/math_func.py +65 -399
- mindspore/ops/function/nn_func.py +44 -61
- mindspore/ops/function/other_func.py +4 -1
- mindspore/ops/function/random_func.py +31 -4
- mindspore/ops/functional.py +2 -3
- mindspore/ops/functional_overload.py +486 -18
- mindspore/ops/op_info_register.py +21 -0
- mindspore/ops/operations/__init__.py +5 -2
- mindspore/ops/operations/_custom_ops_utils.py +675 -8
- mindspore/ops/operations/_inner_ops.py +14 -18
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/array_ops.py +4 -50
- mindspore/ops/operations/comm_ops.py +186 -41
- mindspore/ops/operations/custom_ops.py +244 -175
- mindspore/ops/operations/debug_ops.py +55 -4
- mindspore/ops/operations/image_ops.py +13 -13
- mindspore/ops/operations/manually_defined/ops_def.py +27 -28
- mindspore/ops/operations/math_ops.py +8 -9
- mindspore/ops/operations/nn_ops.py +6 -7
- mindspore/ops/primitive.py +9 -20
- mindspore/ops/tensor_method.py +52 -11
- mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +1 -1
- mindspore/ops_generate/api/functional_map_cpp_generator.py +10 -9
- mindspore/ops_generate/api/functions_cc_generator.py +58 -10
- mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +1 -1
- mindspore/ops_generate/common/base_generator.py +14 -0
- mindspore/ops_generate/common/gen_constants.py +7 -2
- mindspore/ops_generate/common/gen_utils.py +0 -19
- mindspore/ops_generate/common/op_proto.py +11 -4
- mindspore/ops_generate/common/template.py +88 -11
- mindspore/ops_generate/gen_ops.py +1 -1
- mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +4 -4
- mindspore/ops_generate/op_def/ops_name_h_generator.py +0 -3
- mindspore/ops_generate/op_def/ops_primitive_h_generator.py +0 -4
- mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -2
- mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +49 -8
- mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +2 -2
- mindspore/ops_generate/pyboost/gen_pyboost_func.py +31 -16
- mindspore/ops_generate/pyboost/op_template_parser.py +98 -72
- mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +70 -273
- mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +14 -6
- mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +316 -0
- mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +1 -1
- mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +5 -3
- mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +1 -1
- mindspore/ops_generate/pyboost/pyboost_internal_functions_cpp_generator.py +76 -0
- mindspore/ops_generate/pyboost/pyboost_internal_functions_h_generator.py +76 -0
- mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +125 -0
- mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +4 -3
- mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +348 -61
- mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +1 -1
- mindspore/ops_generate/pyboost/pyboost_utils.py +118 -9
- mindspore/ops_generate/tensor_py_cc_generator.py +1 -24
- mindspore/parallel/_auto_parallel_context.py +9 -17
- mindspore/parallel/_cell_wrapper.py +106 -40
- mindspore/parallel/_parallel_serialization.py +4 -3
- mindspore/parallel/_ps_context.py +4 -6
- mindspore/parallel/_tensor.py +167 -12
- mindspore/parallel/_transformer/moe.py +1 -1
- mindspore/parallel/_transformer/transformer.py +17 -12
- mindspore/parallel/_utils.py +5 -11
- mindspore/parallel/auto_parallel.py +33 -12
- mindspore/parallel/checkpoint_convert.py +3 -3
- mindspore/parallel/checkpoint_transform.py +5 -1
- mindspore/parallel/cluster/process_entity/_api.py +88 -49
- mindspore/parallel/cluster/process_entity/_utils.py +95 -7
- mindspore/parallel/cluster/run.py +48 -7
- mindspore/parallel/function/__init__.py +8 -1
- mindspore/parallel/function/reshard_func.py +7 -6
- mindspore/parallel/nn/__init__.py +15 -2
- mindspore/parallel/nn/parallel_cell_wrapper.py +50 -14
- mindspore/parallel/nn/parallel_grad_reducer.py +7 -14
- mindspore/parallel/shard.py +9 -23
- mindspore/parallel/transform_safetensors.py +468 -174
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +2 -1
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -7
- mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +3 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +3 -0
- mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +4 -4
- mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +4 -1
- mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +2 -1
- mindspore/profiler/analysis/task_manager.py +1 -1
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +5 -1
- mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +2 -1
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +10 -9
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +43 -23
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +3 -2
- mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +9 -5
- mindspore/profiler/analysis/viewer/ms_operator_details_viewer.py +132 -0
- mindspore/profiler/common/constant.py +16 -0
- mindspore/profiler/common/msprof_cmd_tool.py +2 -2
- mindspore/profiler/common/path_manager.py +9 -0
- mindspore/profiler/common/profiler_context.py +50 -29
- mindspore/profiler/common/profiler_info.py +0 -16
- mindspore/profiler/common/profiler_meta_data.py +1 -0
- mindspore/profiler/common/profiler_op_analyse.py +239 -0
- mindspore/profiler/common/profiler_output_path.py +23 -8
- mindspore/profiler/common/profiler_parameters.py +128 -35
- mindspore/profiler/dynamic_profile/__init__.py +0 -0
- mindspore/profiler/dynamic_profile/dynamic_monitor_proxy.py +39 -0
- mindspore/profiler/dynamic_profile/dynamic_profiler_config_context.py +666 -0
- mindspore/profiler/dynamic_profile/dynamic_profiler_utils.py +62 -0
- mindspore/profiler/dynamic_profiler.py +374 -338
- mindspore/profiler/envprofiler.py +42 -12
- mindspore/profiler/experimental_config.py +112 -7
- mindspore/profiler/mstx.py +33 -12
- mindspore/profiler/platform/__init__.py +2 -3
- mindspore/profiler/platform/cpu_profiler.py +10 -4
- mindspore/profiler/platform/npu_profiler.py +30 -20
- mindspore/profiler/profiler.py +218 -154
- mindspore/profiler/profiler_action_controller.py +65 -77
- mindspore/profiler/profiler_interface.py +2 -2
- mindspore/profiler/schedule.py +10 -4
- mindspore/rewrite/common/config.py +1 -0
- mindspore/rewrite/common/namer.py +1 -0
- mindspore/rewrite/common/namespace.py +1 -0
- mindspore/rewrite/node/node.py +31 -11
- mindspore/rewrite/parsers/assign_parser.py +1 -1
- mindspore/rewrite/symbol_tree/symbol_tree.py +2 -2
- mindspore/run_check/_check_version.py +7 -10
- mindspore/runtime/__init__.py +8 -6
- mindspore/runtime/event.py +10 -4
- mindspore/runtime/executor.py +87 -45
- mindspore/runtime/memory.py +22 -30
- mindspore/runtime/thread_bind_core.py +299 -165
- mindspore/safeguard/rewrite_obfuscation.py +12 -13
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/_utils.py +9 -5
- mindspore/train/amp.py +43 -23
- mindspore/train/callback/__init__.py +5 -5
- mindspore/train/callback/_callback.py +2 -1
- mindspore/train/callback/_checkpoint.py +4 -14
- mindspore/train/callback/_flops_collector.py +11 -7
- mindspore/train/callback/_landscape.py +0 -1
- mindspore/train/callback/_train_fault_tolerance.py +72 -18
- mindspore/train/data_sink.py +15 -6
- mindspore/train/dataset_helper.py +14 -5
- mindspore/train/model.py +49 -47
- mindspore/train/serialization.py +168 -126
- mindspore/train/summary/summary_record.py +13 -2
- mindspore/train/train_thor/model_thor.py +2 -2
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +3 -2
- mindspore/utils/dryrun.py +0 -6
- mindspore/utils/runtime_execution_order_check.py +162 -78
- mindspore/utils/sdc_detect.py +68 -0
- mindspore/utils/utils.py +14 -17
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-2.6.0.dist-info → mindspore-2.7.0.dist-info}/METADATA +5 -4
- {mindspore-2.6.0.dist-info → mindspore-2.7.0.dist-info}/RECORD +400 -439
- mindspore/_deprecated/jit.py +0 -198
- mindspore/_extends/remote/kernel_build_server_ascend.py +0 -75
- mindspore/communication/_hccl_management.py +0 -297
- mindspore/experimental/es/embedding_service.py +0 -891
- mindspore/experimental/es/embedding_service_layer.py +0 -581
- mindspore/profiler/common/validator/__init__.py +0 -14
- mindspore/profiler/common/validator/validate_path.py +0 -84
- mindspore/profiler/parser/__init__.py +0 -14
- mindspore/profiler/parser/aicpu_data_parser.py +0 -272
- mindspore/profiler/parser/ascend_analysis/__init__.py +0 -14
- mindspore/profiler/parser/ascend_analysis/constant.py +0 -71
- mindspore/profiler/parser/ascend_analysis/file_manager.py +0 -180
- mindspore/profiler/parser/ascend_analysis/function_event.py +0 -185
- mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +0 -136
- mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +0 -131
- mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +0 -104
- mindspore/profiler/parser/ascend_analysis/path_manager.py +0 -313
- mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +0 -123
- mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +0 -86
- mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +0 -75
- mindspore/profiler/parser/ascend_cluster_generator.py +0 -116
- mindspore/profiler/parser/ascend_communicate_generator.py +0 -314
- mindspore/profiler/parser/ascend_flops_generator.py +0 -116
- mindspore/profiler/parser/ascend_fpbp_generator.py +0 -82
- mindspore/profiler/parser/ascend_hccl_generator.py +0 -271
- mindspore/profiler/parser/ascend_integrate_generator.py +0 -42
- mindspore/profiler/parser/ascend_memory_generator.py +0 -185
- mindspore/profiler/parser/ascend_msprof_exporter.py +0 -282
- mindspore/profiler/parser/ascend_msprof_generator.py +0 -187
- mindspore/profiler/parser/ascend_op_generator.py +0 -334
- mindspore/profiler/parser/ascend_steptrace_generator.py +0 -94
- mindspore/profiler/parser/ascend_timeline_generator.py +0 -545
- mindspore/profiler/parser/base_timeline_generator.py +0 -483
- mindspore/profiler/parser/container.py +0 -229
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +0 -697
- mindspore/profiler/parser/flops_parser.py +0 -531
- mindspore/profiler/parser/framework_enum.py +0 -111
- mindspore/profiler/parser/framework_parser.py +0 -464
- mindspore/profiler/parser/framework_struct.py +0 -61
- mindspore/profiler/parser/gpu_analysis/__init__.py +0 -14
- mindspore/profiler/parser/gpu_analysis/function_event.py +0 -44
- mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +0 -89
- mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +0 -72
- mindspore/profiler/parser/hccl_parser.py +0 -573
- mindspore/profiler/parser/hwts_log_parser.py +0 -122
- mindspore/profiler/parser/integrator.py +0 -526
- mindspore/profiler/parser/memory_usage_parser.py +0 -277
- mindspore/profiler/parser/minddata_analyzer.py +0 -800
- mindspore/profiler/parser/minddata_parser.py +0 -186
- mindspore/profiler/parser/minddata_pipeline_parser.py +0 -299
- mindspore/profiler/parser/op_intermediate_parser.py +0 -149
- mindspore/profiler/parser/optime_parser.py +0 -250
- mindspore/profiler/parser/profiler_info.py +0 -213
- mindspore/profiler/parser/step_trace_parser.py +0 -666
- mindspore/utils/hooks.py +0 -81
- /mindspore/common/{_auto_dynamic.py → dynamic_shape/_auto_dynamic.py} +0 -0
- {mindspore-2.6.0.dist-info → mindspore-2.7.0.dist-info}/WHEEL +0 -0
- {mindspore-2.6.0.dist-info → mindspore-2.7.0.dist-info}/entry_points.txt +0 -0
- {mindspore-2.6.0.dist-info → mindspore-2.7.0.dist-info}/top_level.txt +0 -0
|
@@ -1,277 +0,0 @@
|
|
|
1
|
-
# Copyright 2021 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
|
-
"""Memory Usage Parser."""
|
|
16
|
-
from collections import OrderedDict
|
|
17
|
-
|
|
18
|
-
from mindspore import log as logger
|
|
19
|
-
from mindspore.profiler.parser.container import MemoryGraph as Graph
|
|
20
|
-
from mindspore.profiler.parser.container import MemoryNode as Node
|
|
21
|
-
from mindspore.profiler.parser.container import MemoryTensor as Tensor
|
|
22
|
-
|
|
23
|
-
GIGABYTES = 1024 * 1024 * 1024
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class GraphMemoryParser:
|
|
27
|
-
"""Parse memory usage data for each graph."""
|
|
28
|
-
|
|
29
|
-
def __init__(self, graph_proto, points, framework):
|
|
30
|
-
self.graph = None
|
|
31
|
-
self.nodes = OrderedDict()
|
|
32
|
-
self.tensors = OrderedDict()
|
|
33
|
-
self._framework = framework
|
|
34
|
-
self._points = points
|
|
35
|
-
self._graph_proto = graph_proto
|
|
36
|
-
self.peak_mem = 0
|
|
37
|
-
self.static_mem = 0
|
|
38
|
-
self.allocations = 0
|
|
39
|
-
self.deallocations = 0
|
|
40
|
-
self.node_sampling_num = 2000
|
|
41
|
-
self.tensor_node_id = 0
|
|
42
|
-
self.sampling_step = 1
|
|
43
|
-
self._mem_change = []
|
|
44
|
-
self.breakdowns = []
|
|
45
|
-
self._lifetime = []
|
|
46
|
-
# compatible with original mode
|
|
47
|
-
self._multi_graph = False
|
|
48
|
-
if not isinstance(self._points, dict):
|
|
49
|
-
raise TypeError("Input points data must be dict!")
|
|
50
|
-
if not self._points.get("fp_start"):
|
|
51
|
-
self._multi_graph = True
|
|
52
|
-
|
|
53
|
-
@staticmethod
|
|
54
|
-
def _remove_duplicate_tensors(node):
|
|
55
|
-
"""Find conflict tensors in node."""
|
|
56
|
-
if node.workspace_ids:
|
|
57
|
-
i = 0
|
|
58
|
-
while i < len(node.workspace_ids):
|
|
59
|
-
t_id = node.workspace_ids[i]
|
|
60
|
-
if t_id in node.output_ids:
|
|
61
|
-
del node.workspace_ids[i] # remove duplicate tensor
|
|
62
|
-
continue
|
|
63
|
-
i += 1
|
|
64
|
-
|
|
65
|
-
@staticmethod
|
|
66
|
-
def _get_tensor_dict(node, tensor, t_id):
|
|
67
|
-
"""Update node outputs to assemble memory breakdowns."""
|
|
68
|
-
for i, output_id in enumerate(node.output_ids):
|
|
69
|
-
if t_id == output_id:
|
|
70
|
-
output = node.outputs[i] if i < len(node.outputs) else {}
|
|
71
|
-
tensor.name = node.name + ':' + str(i)
|
|
72
|
-
tensor.shape = output.get('shape')
|
|
73
|
-
tensor.dtype = output.get('data_type')
|
|
74
|
-
tensor.format = output.get('format')
|
|
75
|
-
tensor.type = 'output'
|
|
76
|
-
|
|
77
|
-
return tensor.to_dict()
|
|
78
|
-
|
|
79
|
-
def parse_graph(self):
|
|
80
|
-
"""Parse memory usage data for subgraphs."""
|
|
81
|
-
graph_dict = {}
|
|
82
|
-
model_id = -1
|
|
83
|
-
self.graph = Graph(self._graph_proto)
|
|
84
|
-
# process tensors in the graph
|
|
85
|
-
tensors_proto = self._graph_proto.tensor_mems
|
|
86
|
-
if not tensors_proto:
|
|
87
|
-
logger.info('No tensor in graph %s, skipped.', self.graph.graph_id)
|
|
88
|
-
return graph_dict, model_id
|
|
89
|
-
self._parse_tensors(tensors_proto)
|
|
90
|
-
|
|
91
|
-
# calculate memory usage of the graph by number of nodes and details of tensors
|
|
92
|
-
nodes_proto = self._graph_proto.node_mems
|
|
93
|
-
node_num = len(nodes_proto)
|
|
94
|
-
# init memory usage list with static memory
|
|
95
|
-
self._mem_change = [self.graph.static_mem for _ in range(node_num)]
|
|
96
|
-
self._lifetime = [[] for _ in range(node_num)]
|
|
97
|
-
self._calc_mem_change() # update self._mem_change and self._lifetime
|
|
98
|
-
|
|
99
|
-
# To prevent large memory data, sample the memory.
|
|
100
|
-
self.sampling_step = node_num // self.node_sampling_num
|
|
101
|
-
if node_num > self.node_sampling_num:
|
|
102
|
-
self.graph.lines = self._mem_change[::self.sampling_step]
|
|
103
|
-
else:
|
|
104
|
-
self.graph.lines = self._mem_change
|
|
105
|
-
|
|
106
|
-
# process nodes in graph
|
|
107
|
-
self.graph.nodes = self._parse_nodes(nodes_proto)
|
|
108
|
-
|
|
109
|
-
self._process_memory_breakdowns()
|
|
110
|
-
self.graph.breakdowns = [self.breakdowns[self.tensor_node_id]]
|
|
111
|
-
|
|
112
|
-
# update fp_start and bp_end
|
|
113
|
-
point_id, model_id = self._locate_fp_bp_id()
|
|
114
|
-
self.graph.fp_start = point_id.get('fp_start')
|
|
115
|
-
self.graph.bp_end = point_id.get('bp_end')
|
|
116
|
-
|
|
117
|
-
graph_dict = self.graph.to_dict()
|
|
118
|
-
|
|
119
|
-
self.static_mem = self.graph.static_mem
|
|
120
|
-
self.allocations = len(self.tensors)
|
|
121
|
-
self.deallocations = len(self.tensors)
|
|
122
|
-
self.peak_mem = max(max(self._mem_change), self.peak_mem)
|
|
123
|
-
|
|
124
|
-
return graph_dict, model_id
|
|
125
|
-
|
|
126
|
-
def _parse_tensors(self, tensors_proto):
|
|
127
|
-
"""Parse tensors."""
|
|
128
|
-
for tensor_proto in tensors_proto:
|
|
129
|
-
tensor = Tensor(tensor_proto)
|
|
130
|
-
self.tensors.update({tensor.tensor_id: tensor})
|
|
131
|
-
|
|
132
|
-
def _parse_nodes(self, nodes_proto):
|
|
133
|
-
"""Parse nodes."""
|
|
134
|
-
nodes_list = []
|
|
135
|
-
for index, node_proto in enumerate(nodes_proto):
|
|
136
|
-
node = Node(node_proto)
|
|
137
|
-
# Calculate memory size allocated for this node
|
|
138
|
-
tensor_ids = set(node.output_ids + node.workspace_ids)
|
|
139
|
-
node.size = self._calc_node_memory(tensor_ids)
|
|
140
|
-
node.allocations = len(tensor_ids)
|
|
141
|
-
node.deallocations = len(tensor_ids)
|
|
142
|
-
|
|
143
|
-
# calculate the allocated/deallocated memory size on the node
|
|
144
|
-
if index == 0:
|
|
145
|
-
node.mem_change = self._mem_change[index] - self.graph.static_mem
|
|
146
|
-
else:
|
|
147
|
-
node.mem_change = self._mem_change[index] - self._mem_change[index - 1]
|
|
148
|
-
|
|
149
|
-
self._update_nodes(node)
|
|
150
|
-
self._update_tensor_source(node)
|
|
151
|
-
self.nodes[node.name] = node
|
|
152
|
-
nodes_list.append(node.to_dict())
|
|
153
|
-
node_num = index + 1
|
|
154
|
-
|
|
155
|
-
# To prevent large memory data, sample the memory.
|
|
156
|
-
if node_num > self.node_sampling_num:
|
|
157
|
-
return nodes_list[::self.sampling_step]
|
|
158
|
-
return nodes_list
|
|
159
|
-
|
|
160
|
-
def _update_nodes(self, node):
|
|
161
|
-
"""Update nodes."""
|
|
162
|
-
# Remove duplicate tensors
|
|
163
|
-
self._remove_duplicate_tensors(node)
|
|
164
|
-
name = node.name
|
|
165
|
-
if self._framework and name in self._framework:
|
|
166
|
-
node_frame = self._framework[name]
|
|
167
|
-
node.fullname = node_frame.get('fullname')
|
|
168
|
-
info = node_frame.get('args')
|
|
169
|
-
for key, value in info.items():
|
|
170
|
-
if 'input' in key:
|
|
171
|
-
node.inputs.append(value)
|
|
172
|
-
else:
|
|
173
|
-
node.outputs.append(value)
|
|
174
|
-
|
|
175
|
-
def _update_tensor_source(self, node):
|
|
176
|
-
"""Update source node for tensors."""
|
|
177
|
-
for t_id in node.output_ids:
|
|
178
|
-
tensor = self.tensors.get(t_id)
|
|
179
|
-
tensor.source_node = node.name
|
|
180
|
-
|
|
181
|
-
def _calc_node_memory(self, tensor_ids):
|
|
182
|
-
"""Calculate the allocated memory for the node."""
|
|
183
|
-
node_mem = 0
|
|
184
|
-
for t_id in tensor_ids:
|
|
185
|
-
tensor = self.tensors[t_id]
|
|
186
|
-
size = tensor.size
|
|
187
|
-
node_mem += size
|
|
188
|
-
|
|
189
|
-
return node_mem
|
|
190
|
-
|
|
191
|
-
def _calc_mem_change(self):
|
|
192
|
-
"""Calculate the memory change for the subgraph."""
|
|
193
|
-
node_num = len(self._mem_change)
|
|
194
|
-
for tensor_id, tensor in self.tensors.items():
|
|
195
|
-
life_long = tensor.life_long
|
|
196
|
-
life_start = tensor.life_start
|
|
197
|
-
life_end = tensor.life_end
|
|
198
|
-
size = tensor.size
|
|
199
|
-
|
|
200
|
-
# Update memory change for the entire graph.
|
|
201
|
-
# If a tensor's lifetime cannot be fully located, it will be ignored as 0 change.
|
|
202
|
-
if life_long == 'LifeLongGraphAll': # lifetime is from graph start to graph end
|
|
203
|
-
tensor.life_start = 0
|
|
204
|
-
tensor.life_end = node_num
|
|
205
|
-
self._update_mem_change(size, 0, node_num, tensor_id)
|
|
206
|
-
elif life_long == 'LifeLongGraphStart': # lifetime is from graph start to tensor end
|
|
207
|
-
if life_end is not None and life_end >= 0:
|
|
208
|
-
tensor.life_start = 0
|
|
209
|
-
self._update_mem_change(size, 0, life_end + 1, tensor_id)
|
|
210
|
-
else:
|
|
211
|
-
logger.info('Cannot locate lifetime end for tensor: %s', tensor_id)
|
|
212
|
-
elif life_long == 'LifeLongGraphEnd': # lifetime is from tensor start to graph end
|
|
213
|
-
if life_start is not None and life_start <= node_num:
|
|
214
|
-
tensor.life_end = node_num
|
|
215
|
-
self._update_mem_change(size, life_start, node_num, tensor_id)
|
|
216
|
-
else:
|
|
217
|
-
logger.info('Cannot locate lifetime start for tensor: %s', tensor_id)
|
|
218
|
-
elif life_long == 'LifeLongNone': # lifetime is from tensor start to tensor end
|
|
219
|
-
if life_start is not None and life_end is not None and life_start <= life_end:
|
|
220
|
-
self._update_mem_change(size, life_start, life_end + 1, tensor_id)
|
|
221
|
-
else:
|
|
222
|
-
logger.info('Cannot locate lifetime start or end for tensor: %s', tensor_id)
|
|
223
|
-
|
|
224
|
-
def _update_mem_change(self, size, start, end, tensor_id):
|
|
225
|
-
"""Update memory change for the subgraph."""
|
|
226
|
-
for i in range(start, end):
|
|
227
|
-
self._mem_change[i] += size
|
|
228
|
-
# Update tensor lifetime list.
|
|
229
|
-
self._lifetime[i].append(tensor_id)
|
|
230
|
-
|
|
231
|
-
def _locate_fp_bp_id(self):
|
|
232
|
-
"""Locate the node id of fp_start and bp_end in graph."""
|
|
233
|
-
model_id = 0
|
|
234
|
-
if not self._multi_graph:
|
|
235
|
-
point_id = self._match_graph_fpbp(self._points)
|
|
236
|
-
else:
|
|
237
|
-
for mod_id, points in self._points.items():
|
|
238
|
-
if not isinstance(points, dict) or not mod_id.startswith("model"):
|
|
239
|
-
raise RuntimeError("Inputs points is invalid!")
|
|
240
|
-
point_id = self._match_graph_fpbp(points)
|
|
241
|
-
if point_id.get("fp_start"):
|
|
242
|
-
model_id = int(mod_id.split("_")[-1])
|
|
243
|
-
break
|
|
244
|
-
if not point_id.get("fp_start") or not point_id.get("bp_end"):
|
|
245
|
-
model_id = -1
|
|
246
|
-
|
|
247
|
-
return point_id, model_id
|
|
248
|
-
|
|
249
|
-
def _match_graph_fpbp(self, points):
|
|
250
|
-
"Match model_id and graph_id"
|
|
251
|
-
point_id = {
|
|
252
|
-
'fp_start': None,
|
|
253
|
-
'bp_end': None
|
|
254
|
-
}
|
|
255
|
-
fp_start = points.get('fp_start')
|
|
256
|
-
bp_end = points.get('bp_end')
|
|
257
|
-
fp_name = fp_start.split('/')[-1] if fp_start else ""
|
|
258
|
-
bp_name = bp_end.split('/')[-1] if bp_end else ""
|
|
259
|
-
if fp_name in self.nodes:
|
|
260
|
-
point_id['fp_start'] = self.nodes[fp_name].node_id
|
|
261
|
-
if bp_name in self.nodes:
|
|
262
|
-
point_id['bp_end'] = self.nodes[bp_name].node_id
|
|
263
|
-
|
|
264
|
-
return point_id
|
|
265
|
-
|
|
266
|
-
def _process_memory_breakdowns(self):
|
|
267
|
-
"""Process memory breakdowns for each node."""
|
|
268
|
-
self.breakdowns = [[] for _ in range(len(self._lifetime))]
|
|
269
|
-
for index, breakdown in enumerate(self._lifetime):
|
|
270
|
-
for t_id in breakdown:
|
|
271
|
-
tensor = self.tensors.get(t_id)
|
|
272
|
-
source_node = tensor.source_node
|
|
273
|
-
if not source_node:
|
|
274
|
-
continue
|
|
275
|
-
node = self.nodes.get(source_node)
|
|
276
|
-
tensor_dict = self._get_tensor_dict(node, tensor, t_id)
|
|
277
|
-
self.breakdowns[index].append(tensor_dict)
|