mindstudio-probe 8.2.0__tar.gz → 8.3.0__tar.gz
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.
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/PKG-INFO +2 -2
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/mindstudio_probe.egg-info/PKG-INFO +2 -2
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/mindstudio_probe.egg-info/SOURCES.txt +11 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/README.md +7 -5
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/const.py +6 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/db_manager.py +35 -4
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/file_utils.py +105 -27
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/framework_adapter.py +7 -6
- mindstudio_probe-8.3.0/msprobe/core/common/megatron_utils.py +59 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/utils.py +14 -3
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/find_first/analyzer.py +8 -7
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/find_first/graph.py +11 -3
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/find_first/utils.py +2 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/highlight.py +13 -6
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/multiprocessing_compute.py +17 -10
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/utils.py +14 -5
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/data_dump/data_collector.py +18 -21
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/data_dump/data_processor/pytorch_processor.py +43 -20
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/data_dump/json_writer.py +18 -8
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/data_dump/scope.py +4 -6
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/hook_manager.py +37 -3
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/service.py +18 -5
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/single_save/single_comparator.py +16 -3
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/01.installation.md +7 -5
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/02.config_introduction.md +14 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/04.kernel_dump_PyTorch.md +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/06.data_dump_MindSpore.md +1 -1
- mindstudio_probe-8.3.0/msprobe/docs/08.accuracy_checker_online_PyTorch.md +295 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/10.accuracy_compare_PyTorch.md +46 -5
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/14.data_parse_PyTorch.md +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/15.free_benchmarking_PyTorch.md +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/19.monitor.md +2 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/21.visualization_PyTorch.md +15 -80
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/22.visualization_MindSpore.md +20 -104
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/23.generate_operator_PyTorch.md +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/25.tool_function_introduction.md +1 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/26.data_dump_PyTorch_baseline.md +7 -7
- mindstudio_probe-8.3.0/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
- mindstudio_probe-8.3.0/msprobe/docs/img/visualization/vis_match_info.png +0 -0
- mindstudio_probe-8.3.0/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
- mindstudio_probe-8.3.0/msprobe/docs/img/visualization/vis_search_info.png +0 -0
- mindstudio_probe-8.3.0/msprobe/docs/img/visualization/vis_show_info.png +0 -0
- mindstudio_probe-8.3.0/msprobe/docs/img/visualization/vis_showcase.png +0 -0
- mindstudio_probe-8.3.0/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/generate_op_script/op_generator.py +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/cell_processor.py +33 -5
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/compare/common_dir_compare.py +22 -26
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/compare/utils.py +1 -2
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/debugger/precision_debugger.py +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/cell_dump_process.py +73 -62
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/graph_mode_cell_dump.py +21 -10
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/hook_cell/ms_hook_manager.py +2 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/msprobe.py +6 -4
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/common/config.py +36 -3
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_compare.py +24 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/compare/compare.py +12 -2
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/config.yaml +10 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py +132 -12
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/attl.py +205 -0
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/client.py +378 -0
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/device_dispatch.py +239 -0
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/dump_dispatch.py +115 -0
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/server.py +250 -0
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/torch_ops_config.yaml +63 -0
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/utils.py +198 -0
- mindstudio_probe-8.3.0/msprobe/pytorch/attl_manager.py +65 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/common/utils.py +22 -2
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/compare/utils.py +3 -3
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/debugger/debugger_config.py +10 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/dump/module_dump/hook_wrapper.py +34 -7
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/dump/module_dump/module_processer.py +23 -10
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/hook_module/api_register.py +6 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/monitor/module_hook.py +28 -9
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/online_dispatch/dispatch.py +42 -24
- mindstudio_probe-8.3.0/msprobe/pytorch/parse_tool/lib/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/pt_config.py +57 -2
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/pytorch_service.py +11 -2
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/builder/graph_builder.py +170 -64
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/builder/graph_merger.py +0 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/builder/msprobe_adapter.py +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/db_utils.py +25 -2
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/graph/base_node.py +0 -24
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/graph/graph.py +5 -14
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/graph_service.py +29 -53
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/utils.py +11 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/setup.py +7 -2
- mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
- mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_match_info.png +0 -0
- mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
- mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_search_info.png +0 -0
- mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_show_info.png +0 -0
- mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_showcase.png +0 -0
- mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
- mindstudio_probe-8.2.0/msprobe/pytorch/api_accuracy_checker/config.yaml +0 -5
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/LICENSE +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/MANIFEST.in +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/mindstudio_probe.egg-info/dependency_links.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/mindstudio_probe.egg-info/entry_points.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/mindstudio_probe.egg-info/not-zip-safe +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/mindstudio_probe.egg-info/requires.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/mindstudio_probe.egg-info/top_level.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/CMakeLists.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/config.json +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/advisor/advisor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/advisor/advisor_const.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/advisor/advisor_result.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/decorator.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/exceptions.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/global_lock.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/inplace_op_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/inplace_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/log.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/parallel_state.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common/runtime.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/common_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/acc_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/check.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/compare_cli.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/diff_analyze/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/diff_analyze/diff_analyze_threshold.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/diff_analyze/first_diff_analyze.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/find_first/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/find_first/data_processor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/layer_mapping/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/layer_mapping/data_scope_parser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/layer_mapping/layer_mapping.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/layer_mapping/postprocess_pass.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/merge_result/merge_result.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/merge_result/merge_result_cli.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/merge_result/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/ms_to_pt_api.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/npy_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/checkers/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/checkers/base_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/checkers/dataset_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/checkers/env_args_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/checkers/hyperparameter_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/checkers/pip_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/checkers/random_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/checkers/weights_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/ckpt_compare/ckpt_comparator.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/ckpt_compare/megatron_loader.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/ckpt_compare/metrics.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/ckpt_compare/name_mapping.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/config_check_cli.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/config_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/resource/dependency.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/resource/env.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/resource/hyperparameter.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/utils/hyperparameter_parser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/config_check/utils/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/data_dump/api_registry.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/data_dump/data_processor/base.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/data_dump/data_processor/factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/data_dump/data_processor/mindspore_processor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/debugger/precision_debugger.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/grad_probe/constant.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/grad_probe/grad_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/grad_probe/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/kernel_dump/kernel_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/monitor/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/monitor/anomaly_processor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/monitor/csv2db.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/monitor/db_utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/monitor/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/overflow_check/abnormal_scene.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/overflow_check/api_info.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/overflow_check/checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/overflow_check/filter.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/overflow_check/ignore_rules.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/overflow_check/level.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/overflow_check/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/single_save/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/single_save/single_saver.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/03.config_examples.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/05.data_dump_PyTorch.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/07.accuracy_checker_PyTorch.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/09.accuracy_checker_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/11.accuracy_compare_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/12.overflow_check_PyTorch.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/13.overflow_check_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/16.free_benchmarking_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/17.grad_probe.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/18.online_dispatch.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/20.monitor_performance_baseline.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/24.code_mapping_Mindspore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/27.dump_json_instruction.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/28.debugger_save_instruction.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/28.kernel_dump_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/29.data_dump_MSAdapter.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/30.overflow_check_MSAdapter.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/31.config_check.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/32.ckpt_compare.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/33.generate_operator_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/34.RL_collect.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/35.nan_analyze.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/36.calculation_result_change.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/FAQ.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/S02.report_free_benchmarking_validation_performance_baseline.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/accuracy_checker_MindSpore/accuracy_checker_MindSpore_baseline.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/data_dump_MindSpore/data_dump_MindSpore_baseline.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/data_dump_MindSpore/dynamic_graph_quick_start_example.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/BLOOM-7B_1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/BLOOM-7B_2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/BLOOM-7B_3.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/BLOOM-7B_4.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/GPT-3_1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/GPT-3_2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/GPT-3_3.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/GPT-3_4.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/GPT-3_5.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/GPT-3_6.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/GPT-3_7.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/GPT-3_8.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/YOLOV5S_1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/YOLOV5S_2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/accuracy_checking_details.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/accuracy_checking_result.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/api_precision_compare_details.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/api_precision_compare_result.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/auto_analyze_log.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/compare_result.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/compare_result_pkl.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/compare_result_pkl_md5.png.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/cpu_info.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/free_benchmark.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/free_benchmark_framework.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/grad_probe_image-1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/grad_probe_image-2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/grad_probe_image-3.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/grad_probe_image-4.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/grad_probe_image.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/merge_result.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/module_compare.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/monitor/cpu_info.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/monitor/step_count_per_record.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/ms_dump.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/ms_layer.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/pt_dump.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/save_compare_result_sample.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/visualization/fuzzy_match_ms.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/visualization/fuzzy_match_pt.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/visualization/proxy.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/visualization/tensorboard_1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/visualization/tensorboard_2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/img/visualization/vis_browser_2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/GPTModel.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/ParallelMLP.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/layer_mapping_example.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mapping.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mapping1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/3.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/4.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/5.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/6.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/7.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory-qwen25vl.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed-mm-qwen25vl.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/mindspeed_llamafactory_mapping.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/module_name.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/module_name1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/no_mapping.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/no_mapping1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/no_mapping_analyze.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/docs/visualization/top_layer.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/api_info.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/api_runner.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/checker_support_api.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/cmd_parser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/compute_element.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/data_manager.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/main.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/multi_api_accuracy_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/multi_data_manager.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/type_mapping.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/api_accuracy_checker/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/code_mapping/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/code_mapping/bind.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/code_mapping/cmd_parser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/code_mapping/graph.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/code_mapping/graph_parser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/code_mapping/main.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/code_mapping/processor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/common/const.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/common/log.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/common/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/compare/distributed_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/compare/ms_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/compare/ms_graph_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/debugger/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/debugger/debugger_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/cell_dump_with_insert_gradient.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/dump_tool_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/graph_tensor_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/hook_cell/api_register.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/hook_cell/hook_cell.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/hook_cell/primitive_hooks.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/jit_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/kernel_graph_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dump/kernel_kbyk_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dym_loader/hook_dynamic_loader.cpp +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/dym_loader/hook_dynamic_loader.h +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/exception_dump/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/exception_dump/exception_dump_tool_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/exception_dump/kernel_graph_exception_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/api_pynative_self_check.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/common/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/common/config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/common/handler_params.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/common/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/data/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/handler/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/handler/base_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/handler/check_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/handler/fix_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/handler/handler_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/perturbation/add_noise.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/perturbation/base_perturbation.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/perturbation/bit_noise.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/perturbation/exchange_value.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/perturbation/improve_precision.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/perturbation/no_change.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/perturbation/perturbation_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/free_benchmark/self_check_tool_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/grad_probe/global_context.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/grad_probe/grad_analyzer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/grad_probe/grad_monitor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/grad_probe/grad_stat_csv.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/grad_probe/hook.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/grad_probe/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/mindspore_service.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/mindtorch/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/mindtorch/mindtorch_adaptor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/monitor/common_func.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/monitor/data_writers.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/monitor/distributed/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/monitor/distributed/distributed_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/monitor/distributed/stack_blacklist.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/monitor/distributed/wrap_distributed.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/monitor/features.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/monitor/module_hook.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/monitor/optimizer_collect.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/monitor/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/ms_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/overflow_check/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/overflow_check/overflow_check_tool_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/mindspore/task_handler_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/nan_analyze/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/nan_analyze/analyzer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/nan_analyze/graph.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/nan_analyze/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/.keep +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/common/.keep +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/common/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/common/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/compare/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/compare/algorithm.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_standard.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_threshold.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/compare/compare_column.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/compare/compare_input.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/compare/compare_utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/generate_op_script/config_op.json +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/absolute_threshold.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/accumulative_error_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/base_standard.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/benchmark_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/binary_consistency.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_register.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/thousandth_standard.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/ulp_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/.keep +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/data_generate.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/multi_run_ut.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/torch_ut_setting.json +0 -0
- {mindstudio_probe-8.2.0/msprobe/pytorch/debugger → mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer}/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/apply_adam.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/apply_adam_w.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/confusion_transpose.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/fast_gelu.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/group_norm_silu.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/layer_norm_eval.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/linear.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/matmul_backward.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/mish.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/moe_gating_top_k_softmax.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/npu_fusion_attention.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/rms_norm.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/rotary_mul.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/scaled_mask_softmax.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/sort_v2.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/bench_functions/swiglu.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/common/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/common/compare_script.template +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/common/log.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/common/parse_json.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/compare/distributed_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/compare/mapping.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/compare/match.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/compare/pt_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/compare/pt_diff_analyze.py +0 -0
- {mindstudio_probe-8.2.0/msprobe/pytorch/dump/module_dump → mindstudio_probe-8.3.0/msprobe/pytorch/debugger}/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/debugger/precision_debugger.py +0 -0
- {mindstudio_probe-8.2.0/msprobe/pytorch/free_benchmark/common → mindstudio_probe-8.3.0/msprobe/pytorch/dump/module_dump}/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/dump/module_dump/module_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/__init__.py +0 -0
- {mindstudio_probe-8.2.0/msprobe/pytorch/free_benchmark/perturbed_layers → mindstudio_probe-8.3.0/msprobe/pytorch/free_benchmark/common}/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/common/constant.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/common/counter.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/common/enums.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/common/params.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/common/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/compare/grad_saver.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/compare/single_benchmark.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/main.py +0 -0
- {mindstudio_probe-8.2.0/msprobe/pytorch/free_benchmark/perturbed_layers/npu → mindstudio_probe-8.3.0/msprobe/pytorch/free_benchmark/perturbed_layers}/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/base_layer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/layer_factory.py +0 -0
- {mindstudio_probe-8.2.0/msprobe/pytorch/free_benchmark/result_handlers → mindstudio_probe-8.3.0/msprobe/pytorch/free_benchmark/perturbed_layers/npu}/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/add_noise.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/bit_noise.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/change_value.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/improve_precision.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/no_change.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/npu_base_layser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/run_cpu.py +0 -0
- {mindstudio_probe-8.2.0/msprobe/pytorch/grad_probe → mindstudio_probe-8.3.0/msprobe/pytorch/free_benchmark/result_handlers}/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/result_handlers/base_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/result_handlers/check_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/result_handlers/fix_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/result_handlers/handler_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/free_benchmark/result_handlers/preheat_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/function_factory.py +0 -0
- {mindstudio_probe-8.2.0/msprobe/pytorch/monitor → mindstudio_probe-8.3.0/msprobe/pytorch/grad_probe}/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/grad_probe/grad_monitor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/grad_probe/grad_stat_csv.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/hook_module/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/hook_module/hook_module.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/hook_module/pt_hook_manager.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/hook_module/register_optimizer_hook.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/hook_module/script_wrapper.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/hook_module/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/hook_module/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/hook_module/wrap_aten.py +0 -0
- {mindstudio_probe-8.2.0/msprobe/pytorch/monitor/distributed → mindstudio_probe-8.3.0/msprobe/pytorch/monitor}/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/monitor/csv2tb.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/monitor/data_writers.py +0 -0
- {mindstudio_probe-8.2.0/msprobe/pytorch/parse_tool → mindstudio_probe-8.3.0/msprobe/pytorch/monitor/distributed}/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/monitor/distributed/distributed_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/monitor/distributed/stack_blacklist.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/monitor/distributed/wrap_distributed.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/monitor/features.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/monitor/module_metric.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/monitor/optimizer_collect.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/monitor/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/monitor/visualizer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/online_dispatch/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/online_dispatch/compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/online_dispatch/dump_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/online_dispatch/single_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/online_dispatch/torch_ops_config.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/online_dispatch/utils.py +0 -0
- {mindstudio_probe-8.2.0/msprobe/pytorch/parse_tool/lib → mindstudio_probe-8.3.0/msprobe/pytorch/parse_tool}/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/parse_tool/cli.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/parse_tool/lib/compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/parse_tool/lib/config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/parse_tool/lib/file_desc.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/parse_tool/lib/interactive_cli.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/parse_tool/lib/parse_exception.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/parse_tool/lib/parse_tool.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/parse_tool/lib/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/pytorch/parse_tool/lib/visualization.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/builder/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/compare/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/compare/graph_comparator.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/compare/mode_adapter.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/graph/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/graph/distributed_analyzer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/graph/node_colors.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/visualization/graph/node_op.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/setup.cfg +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mindstudio-probe
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.3.0
|
|
4
4
|
Summary: Ascend Probe Utils
|
|
5
|
-
Home-page: https://
|
|
5
|
+
Home-page: https://gitcode.com/Ascend/mstt/tree/master/debug/accuracy_tools/msprobe
|
|
6
6
|
Author: Ascend Team
|
|
7
7
|
Author-email: pmail_mindstudio@huawei.com
|
|
8
8
|
License: Apache License 2.0
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mindstudio-probe
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.3.0
|
|
4
4
|
Summary: Ascend Probe Utils
|
|
5
|
-
Home-page: https://
|
|
5
|
+
Home-page: https://gitcode.com/Ascend/mstt/tree/master/debug/accuracy_tools/msprobe
|
|
6
6
|
Author: Ascend Team
|
|
7
7
|
Author-email: pmail_mindstudio@huawei.com
|
|
8
8
|
License: Apache License 2.0
|
|
@@ -30,6 +30,7 @@ msprobe/core/common/global_lock.py
|
|
|
30
30
|
msprobe/core/common/inplace_op_checker.py
|
|
31
31
|
msprobe/core/common/inplace_ops.yaml
|
|
32
32
|
msprobe/core/common/log.py
|
|
33
|
+
msprobe/core/common/megatron_utils.py
|
|
33
34
|
msprobe/core/common/parallel_state.py
|
|
34
35
|
msprobe/core/common/runtime.py
|
|
35
36
|
msprobe/core/common/utils.py
|
|
@@ -113,6 +114,7 @@ msprobe/docs/04.kernel_dump_PyTorch.md
|
|
|
113
114
|
msprobe/docs/05.data_dump_PyTorch.md
|
|
114
115
|
msprobe/docs/06.data_dump_MindSpore.md
|
|
115
116
|
msprobe/docs/07.accuracy_checker_PyTorch.md
|
|
117
|
+
msprobe/docs/08.accuracy_checker_online_PyTorch.md
|
|
116
118
|
msprobe/docs/09.accuracy_checker_MindSpore.md
|
|
117
119
|
msprobe/docs/10.accuracy_compare_PyTorch.md
|
|
118
120
|
msprobe/docs/11.accuracy_compare_MindSpore.md
|
|
@@ -331,6 +333,7 @@ msprobe/nan_analyze/analyzer.py
|
|
|
331
333
|
msprobe/nan_analyze/graph.py
|
|
332
334
|
msprobe/nan_analyze/utils.py
|
|
333
335
|
msprobe/pytorch/__init__.py
|
|
336
|
+
msprobe/pytorch/attl_manager.py
|
|
334
337
|
msprobe/pytorch/function_factory.py
|
|
335
338
|
msprobe/pytorch/pt_config.py
|
|
336
339
|
msprobe/pytorch/pytorch_service.py
|
|
@@ -370,6 +373,14 @@ msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py
|
|
|
370
373
|
msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py
|
|
371
374
|
msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py
|
|
372
375
|
msprobe/pytorch/api_accuracy_checker/run_ut/torch_ut_setting.json
|
|
376
|
+
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/__init__.py
|
|
377
|
+
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/attl.py
|
|
378
|
+
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/client.py
|
|
379
|
+
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/device_dispatch.py
|
|
380
|
+
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/dump_dispatch.py
|
|
381
|
+
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/server.py
|
|
382
|
+
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/torch_ops_config.yaml
|
|
383
|
+
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/utils.py
|
|
373
384
|
msprobe/pytorch/bench_functions/__init__.py
|
|
374
385
|
msprobe/pytorch/bench_functions/apply_adam.py
|
|
375
386
|
msprobe/pytorch/bench_functions/apply_adam_w.py
|
|
@@ -35,17 +35,17 @@ export MSPROBE_LOG_LEVEL={x}
|
|
|
35
35
|
|
|
36
36
|
## 环境和依赖
|
|
37
37
|
|
|
38
|
-
- 硬件环境请参见《[昇腾产品形态说明](https://
|
|
39
|
-
- 软件环境请参见《[CANN 软件安装指南](https://
|
|
38
|
+
- 硬件环境请参见《[昇腾产品形态说明](https://www.hiascend.com/document/detail/zh/canncommercial/80RC22/quickstart/quickstart/quickstart_18_0002.html)》。
|
|
39
|
+
- 软件环境请参见《[CANN 软件安装指南](https://www.hiascend.com/document/detail/zh/canncommercial/80RC22/softwareinst/instg/instg_0000.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit)》安装昇腾设备开发或运行环境,即toolkit软件包。
|
|
40
40
|
|
|
41
41
|
以上环境依赖请根据实际环境选择适配的版本。
|
|
42
42
|
|
|
43
43
|
## 版本配套说明
|
|
44
44
|
|
|
45
|
-
- msprobe支持AscendPyTorch 1.11.0或更高版本,支持的PyTorch和CANN以及PyTorch和python软件版本配套关系请参见《[Ascend Extension for PyTorch插件](https://
|
|
45
|
+
- msprobe支持AscendPyTorch 1.11.0或更高版本,支持的PyTorch和CANN以及PyTorch和python软件版本配套关系请参见《[Ascend Extension for PyTorch插件](https://gitcode.com/Ascend/pytorch)》。
|
|
46
46
|
- msprobe支持MindSpore 2.4.0或更高版本,支持的MindSpore和CANN以及MindSpore和python软件版本配套关系请参见《[MindSpore版本发布列表](https://www.mindspore.cn/versions)》。
|
|
47
47
|
- msprobe支持MSAdapter 2.1.0。
|
|
48
|
-
- msprobe支持的固件驱动版本与配套CANN软件支持的固件驱动版本相同,开发者可通过“[昇腾社区-固件与驱动](https://
|
|
48
|
+
- msprobe支持的固件驱动版本与配套CANN软件支持的固件驱动版本相同,开发者可通过“[昇腾社区-固件与驱动](https://www.hiascend.com/hardware/firmware-drivers/community?product=2&model=28&cann=8.0.RC3.alpha003&driver=1.0.25.alpha)”页面根据产品型号与CANN软件版本获取配套的固件与驱动。
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
## 🚨 工具限制与注意事项
|
|
@@ -84,7 +84,9 @@ msprobe 通过在训练脚本中添加 PrecisionDebugger 接口的方式对 API
|
|
|
84
84
|
|
|
85
85
|
精度预检旨在昇腾 NPU 上扫描训练模型中的所有 API 进行 API 复现,给出精度情况的诊断和分析。对应 config.json 中的 "run_ut" task。
|
|
86
86
|
|
|
87
|
-
PyTorch 场景的[离线预检](./docs/07.accuracy_checker_PyTorch.md)
|
|
87
|
+
PyTorch 场景的[离线预检](./docs/07.accuracy_checker_PyTorch.md)和[在线预检](./docs/08.accuracy_checker_online_PyTorch.md)
|
|
88
|
+
|
|
89
|
+
在线预检计划在 Mindstudio 8.3.0 版本正式下线。
|
|
88
90
|
|
|
89
91
|
MindSpore 动态图场景的[离线预检](./docs/09.accuracy_checker_MindSpore.md)
|
|
90
92
|
|
|
@@ -274,6 +274,7 @@ class Const:
|
|
|
274
274
|
TENSOR_TYPE = "torch.Tensor"
|
|
275
275
|
DTENSOR_TYPE = "torch.distributed.tensor.DTensor"
|
|
276
276
|
FAKE_TENSOR_TYPE = "torch._subclasses.fake_tensor.FakeTensor"
|
|
277
|
+
AC_TENSOR_TYPE = "torch.distributed._functional_collectives.AsyncCollectiveTensor"
|
|
277
278
|
|
|
278
279
|
SUPPORT_API_FILE_NAME = "support_wrap_ops.yaml"
|
|
279
280
|
|
|
@@ -405,6 +406,8 @@ class Const:
|
|
|
405
406
|
|
|
406
407
|
MIX_DUMP_NAMES = {'graph', 'pynative'}
|
|
407
408
|
|
|
409
|
+
MEGATRON_MICRO_STEP_NUMBER = 'megatron_micro_step_number'
|
|
410
|
+
|
|
408
411
|
|
|
409
412
|
class CompareConst:
|
|
410
413
|
"""
|
|
@@ -425,6 +428,8 @@ class CompareConst:
|
|
|
425
428
|
NPU_MIN = "NPU min"
|
|
426
429
|
NPU_MEAN = "NPU mean"
|
|
427
430
|
NPU_NORM = "NPU l2norm"
|
|
431
|
+
NPU_P2POP_PEER = "NPU P2POp peer"
|
|
432
|
+
|
|
428
433
|
BENCH_MAX = "Bench max"
|
|
429
434
|
BENCH_MIN = "Bench min"
|
|
430
435
|
BENCH_MEAN = "Bench mean"
|
|
@@ -823,6 +828,7 @@ class MonitorConst:
|
|
|
823
828
|
ACTV_OUT = "output"
|
|
824
829
|
ACTVGRAD_IN = "input_grad"
|
|
825
830
|
ACTVGRAD_OUT = "output_grad"
|
|
831
|
+
FSDP_FLAT_SEP = "_fsdp_wrapped_module."
|
|
826
832
|
# used for tasks
|
|
827
833
|
ACTV = "actv"
|
|
828
834
|
ACTVGRAD = "actv_grad"
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
13
|
# See the License for the specific language governing permissions and
|
|
14
14
|
# limitations under the License.
|
|
15
|
+
import re
|
|
15
16
|
import sqlite3
|
|
16
17
|
from typing import List, Tuple, Dict, Any
|
|
17
18
|
from functools import wraps
|
|
@@ -20,6 +21,14 @@ from msprobe.pytorch.common.log import logger
|
|
|
20
21
|
from msprobe.core.common.file_utils import check_path_before_create, change_mode
|
|
21
22
|
from msprobe.core.common.const import FileCheckConst
|
|
22
23
|
|
|
24
|
+
SAFE_SQL_PATTERN = re.compile(r'^[a-zA-Z0-9_]+$')
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def check_identifier_safety(name):
|
|
28
|
+
"""验证标识符是否安全(防止SQL注入)"""
|
|
29
|
+
if not isinstance(name, str) or SAFE_SQL_PATTERN.match(name) is None:
|
|
30
|
+
raise ValueError(f"Invalid SQL identifier: {name}, potential SQL injection risk!")
|
|
31
|
+
|
|
23
32
|
|
|
24
33
|
def _db_operation(func):
|
|
25
34
|
"""数据库操作装饰器,自动管理连接"""
|
|
@@ -68,6 +77,7 @@ class DBManager:
|
|
|
68
77
|
where_values = []
|
|
69
78
|
if where_list:
|
|
70
79
|
for col, val in where_list.items():
|
|
80
|
+
check_identifier_safety(col)
|
|
71
81
|
where_clauses.append(f"{col} = ?")
|
|
72
82
|
where_values.append(val)
|
|
73
83
|
if where_clauses:
|
|
@@ -84,13 +94,22 @@ class DBManager:
|
|
|
84
94
|
:param batch_size: 每批插入的大小
|
|
85
95
|
:return: 插入的行数
|
|
86
96
|
"""
|
|
97
|
+
check_identifier_safety(table_name)
|
|
98
|
+
|
|
87
99
|
if not data:
|
|
88
100
|
return 0
|
|
89
101
|
columns = len(data[0])
|
|
90
|
-
if key_list
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
102
|
+
if key_list:
|
|
103
|
+
if not isinstance(key_list, list):
|
|
104
|
+
raise TypeError(
|
|
105
|
+
f"key_list must be a list, got {type(key_list)}"
|
|
106
|
+
)
|
|
107
|
+
if columns != len(key_list):
|
|
108
|
+
raise ValueError(
|
|
109
|
+
f"When inserting into table {table_name}, the length of key list ({key_list})"
|
|
110
|
+
f"does not match the data({columns}).")
|
|
111
|
+
for key in key_list:
|
|
112
|
+
check_identifier_safety(key)
|
|
94
113
|
|
|
95
114
|
batch_size = self.DEFAULT_INSERT_SIZE
|
|
96
115
|
placeholders = ", ".join(["?"] * columns)
|
|
@@ -121,12 +140,16 @@ class DBManager:
|
|
|
121
140
|
:param where: WHERE条件
|
|
122
141
|
:return: 查询结果列表(字典形式)
|
|
123
142
|
"""
|
|
143
|
+
check_identifier_safety(table_name)
|
|
124
144
|
|
|
125
145
|
if not columns:
|
|
126
146
|
raise ValueError("columns parameter cannot be empty, specify columns to select (e.g. ['id', 'name'])")
|
|
127
147
|
if not isinstance(columns, list) or not all(isinstance(col, str) for col in columns):
|
|
128
148
|
raise TypeError("columns must be a list of strings (e.g. ['id', 'name'])")
|
|
129
149
|
|
|
150
|
+
for col in columns:
|
|
151
|
+
check_identifier_safety(col)
|
|
152
|
+
|
|
130
153
|
cols = ", ".join(columns)
|
|
131
154
|
sql = f"SELECT {cols} FROM {table_name}"
|
|
132
155
|
|
|
@@ -147,6 +170,14 @@ class DBManager:
|
|
|
147
170
|
:param where_params: WHERE条件参数
|
|
148
171
|
:return: 影响的行数
|
|
149
172
|
"""
|
|
173
|
+
check_identifier_safety(table_name)
|
|
174
|
+
if not updates:
|
|
175
|
+
raise ValueError("columns parameter cannot be empty, specify it to update (e.g. {'name': 'xxx'}")
|
|
176
|
+
if not isinstance(updates, dict):
|
|
177
|
+
raise TypeError(f"updates must be a dictionary, got: {type(updates)}")
|
|
178
|
+
for key in updates.keys():
|
|
179
|
+
check_identifier_safety(key)
|
|
180
|
+
|
|
150
181
|
set_clause = ", ".join([f"{k} = ?" for k in updates.keys()])
|
|
151
182
|
sql = f"UPDATE {table_name} SET {set_clause}"
|
|
152
183
|
|
|
@@ -12,29 +12,31 @@
|
|
|
12
12
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
13
|
# See the License for the specific language governing permissions and
|
|
14
14
|
# limitations under the License.
|
|
15
|
+
|
|
15
16
|
import atexit
|
|
16
17
|
import csv
|
|
17
18
|
import fcntl
|
|
18
19
|
import io
|
|
20
|
+
import json
|
|
21
|
+
import multiprocessing
|
|
19
22
|
import os
|
|
20
23
|
import pickle
|
|
21
|
-
from multiprocessing import shared_memory
|
|
22
|
-
import stat
|
|
23
|
-
import json
|
|
24
24
|
import re
|
|
25
25
|
import shutil
|
|
26
|
+
import stat
|
|
26
27
|
import sys
|
|
27
28
|
import zipfile
|
|
28
|
-
import
|
|
29
|
-
|
|
29
|
+
from multiprocessing import shared_memory
|
|
30
|
+
|
|
30
31
|
import numpy as np
|
|
31
32
|
import pandas as pd
|
|
33
|
+
import yaml
|
|
32
34
|
|
|
35
|
+
from msprobe.core.common.const import FileCheckConst, CompareConst, Const
|
|
33
36
|
from msprobe.core.common.decorator import recursion_depth_decorator
|
|
34
|
-
from msprobe.core.common.log import logger
|
|
35
37
|
from msprobe.core.common.exceptions import FileCheckException
|
|
36
|
-
from msprobe.core.common.const import FileCheckConst, CompareConst
|
|
37
38
|
from msprobe.core.common.global_lock import global_lock, is_main_process
|
|
39
|
+
from msprobe.core.common.log import logger
|
|
38
40
|
|
|
39
41
|
proc_lock = multiprocessing.Lock()
|
|
40
42
|
|
|
@@ -46,16 +48,15 @@ class FileChecker:
|
|
|
46
48
|
Attributes:
|
|
47
49
|
file_path: The file or dictionary path to be verified.
|
|
48
50
|
path_type: file or dictionary
|
|
49
|
-
ability(str):
|
|
51
|
+
ability(str): one of [FileCheckConst.READ_ABLE, FileCheckConst.WRITE_ABLE, FileCheckConst.READ_WRITE_ABLE]
|
|
50
52
|
file_type(str): The correct file type for file
|
|
51
53
|
"""
|
|
52
54
|
|
|
53
|
-
def __init__(self, file_path, path_type, ability=None, file_type=None
|
|
55
|
+
def __init__(self, file_path, path_type, ability=None, file_type=None):
|
|
54
56
|
self.file_path = file_path
|
|
55
57
|
self.path_type = self._check_path_type(path_type)
|
|
56
|
-
self.ability = ability
|
|
58
|
+
self.ability = self._check_ability_type(ability)
|
|
57
59
|
self.file_type = file_type
|
|
58
|
-
self.is_script = is_script
|
|
59
60
|
|
|
60
61
|
@staticmethod
|
|
61
62
|
def _check_path_type(path_type):
|
|
@@ -64,9 +65,17 @@ class FileChecker:
|
|
|
64
65
|
raise FileCheckException(FileCheckException.ILLEGAL_PARAM_ERROR)
|
|
65
66
|
return path_type
|
|
66
67
|
|
|
68
|
+
@staticmethod
|
|
69
|
+
def _check_ability_type(ability):
|
|
70
|
+
ability_list = [FileCheckConst.READ_ABLE, FileCheckConst.WRITE_ABLE, FileCheckConst.READ_WRITE_ABLE]
|
|
71
|
+
if ability and ability not in ability_list:
|
|
72
|
+
logger.error(f'The ability must be one of {ability_list}.')
|
|
73
|
+
raise FileCheckException(FileCheckException.ILLEGAL_PARAM_ERROR)
|
|
74
|
+
return ability
|
|
75
|
+
|
|
67
76
|
def common_check(self):
|
|
68
77
|
"""
|
|
69
|
-
|
|
78
|
+
功能:基本文件权限校验,包括文件存在性、软连接、文件长度、文件类型、文件读写权限、文件属组、文件路径特殊字符、文件后缀等
|
|
70
79
|
注意:文件后缀的合法性,非通用操作,可使用其他独立接口实现
|
|
71
80
|
"""
|
|
72
81
|
check_path_exists(self.file_path)
|
|
@@ -75,13 +84,13 @@ class FileChecker:
|
|
|
75
84
|
check_path_length(self.file_path)
|
|
76
85
|
check_path_type(self.file_path, self.path_type)
|
|
77
86
|
self.check_path_ability()
|
|
78
|
-
|
|
79
|
-
check_path_owner_consistent(self.file_path)
|
|
87
|
+
check_path_owner_consistent(self.file_path)
|
|
80
88
|
check_path_pattern_valid(self.file_path)
|
|
81
89
|
check_common_file_size(self.file_path)
|
|
82
90
|
check_file_suffix(self.file_path, self.file_type)
|
|
91
|
+
check_path_no_others_write(self.file_path)
|
|
83
92
|
if self.path_type == FileCheckConst.FILE:
|
|
84
|
-
|
|
93
|
+
check_dirpath_permission(self.file_path)
|
|
85
94
|
return self.file_path
|
|
86
95
|
|
|
87
96
|
def check_path_ability(self):
|
|
@@ -137,7 +146,8 @@ class FileOpen:
|
|
|
137
146
|
check_path_pattern_valid(self.file_path)
|
|
138
147
|
if os.path.exists(self.file_path):
|
|
139
148
|
check_common_file_size(self.file_path)
|
|
140
|
-
|
|
149
|
+
check_path_no_others_write(self.file_path)
|
|
150
|
+
check_dirpath_permission(self.file_path)
|
|
141
151
|
|
|
142
152
|
def check_ability_and_owner(self):
|
|
143
153
|
if self.mode in self.SUPPORT_READ_MODE:
|
|
@@ -172,7 +182,7 @@ def check_path_exists(path):
|
|
|
172
182
|
if not os.path.exists(path):
|
|
173
183
|
logger.error('The file path %s does not exist.' % path)
|
|
174
184
|
raise FileCheckException(FileCheckException.ILLEGAL_PATH_ERROR)
|
|
175
|
-
|
|
185
|
+
|
|
176
186
|
|
|
177
187
|
def check_path_not_exists(path):
|
|
178
188
|
if os.path.exists(path):
|
|
@@ -256,12 +266,15 @@ def check_path_type(file_path, file_type):
|
|
|
256
266
|
raise FileCheckException(FileCheckException.INVALID_FILE_ERROR)
|
|
257
267
|
|
|
258
268
|
|
|
259
|
-
def
|
|
260
|
-
|
|
261
|
-
is_writable = (
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
269
|
+
def check_group_writable(file_path):
|
|
270
|
+
path_stat = os.stat(file_path)
|
|
271
|
+
is_writable = bool(path_stat.st_mode & stat.S_IWGRP)
|
|
272
|
+
return is_writable
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
def check_others_writable(file_path):
|
|
276
|
+
path_stat = os.stat(file_path)
|
|
277
|
+
is_writable = bool(path_stat.st_mode & stat.S_IWOTH)
|
|
265
278
|
return is_writable
|
|
266
279
|
|
|
267
280
|
|
|
@@ -309,7 +322,7 @@ def check_path_before_create(path):
|
|
|
309
322
|
'The file path {} contains special characters.'.format(path))
|
|
310
323
|
|
|
311
324
|
|
|
312
|
-
def
|
|
325
|
+
def check_dirpath_permission(path):
|
|
313
326
|
path = os.path.realpath(path)
|
|
314
327
|
dirpath = os.path.dirname(path)
|
|
315
328
|
if dedup_log('check_dirpath_before_read', dirpath):
|
|
@@ -319,15 +332,16 @@ def check_dirpath_before_read(path):
|
|
|
319
332
|
check_path_owner_consistent(dirpath)
|
|
320
333
|
except FileCheckException:
|
|
321
334
|
logger.warning(f"The directory {dirpath} is not yours.")
|
|
322
|
-
|
|
323
335
|
|
|
324
|
-
|
|
336
|
+
|
|
337
|
+
def check_file_or_directory_path(path, isdir=False, is_strict=False):
|
|
325
338
|
"""
|
|
326
339
|
Function Description:
|
|
327
340
|
check whether the path is valid
|
|
328
341
|
Parameter:
|
|
329
342
|
path: the path to check
|
|
330
343
|
isdir: the path is dir or file
|
|
344
|
+
is_strict: whether to perform stricter validation (e.g., verify group cannot write to path)
|
|
331
345
|
Exception Description:
|
|
332
346
|
when invalid data throw exception
|
|
333
347
|
"""
|
|
@@ -337,6 +351,33 @@ def check_file_or_directory_path(path, isdir=False):
|
|
|
337
351
|
path_checker = FileChecker(path, FileCheckConst.FILE, FileCheckConst.READ_ABLE)
|
|
338
352
|
path_checker.common_check()
|
|
339
353
|
|
|
354
|
+
if is_strict:
|
|
355
|
+
if check_group_writable(path):
|
|
356
|
+
raise FileCheckException(
|
|
357
|
+
FileCheckException.FILE_PERMISSION_ERROR,
|
|
358
|
+
f"The directory/file must not allow write access to group. Directory/File path: {path}"
|
|
359
|
+
)
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
def check_path_no_others_write(file_path):
|
|
363
|
+
if dedup_log('check_path_no_others_write', file_path):
|
|
364
|
+
if check_group_writable(file_path):
|
|
365
|
+
logger.warning(f"The directory/file path is writable by group: {file_path}.")
|
|
366
|
+
|
|
367
|
+
if check_others_writable(file_path):
|
|
368
|
+
raise FileCheckException(
|
|
369
|
+
FileCheckException.FILE_PERMISSION_ERROR,
|
|
370
|
+
f"The directory/file must not allow write access to others. Directory/File path: {file_path}"
|
|
371
|
+
)
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
def check_path_no_group_others_write(file_path):
|
|
375
|
+
if check_group_writable(file_path) or check_others_writable(file_path):
|
|
376
|
+
raise FileCheckException(
|
|
377
|
+
FileCheckException.FILE_PERMISSION_ERROR,
|
|
378
|
+
f"The directory/file must not allow write access to group or others. Directory/File path: {file_path}"
|
|
379
|
+
)
|
|
380
|
+
|
|
340
381
|
|
|
341
382
|
def change_mode(path, mode):
|
|
342
383
|
if not os.path.exists(path) or os.path.islink(path):
|
|
@@ -388,6 +429,14 @@ def check_file_type(path):
|
|
|
388
429
|
raise FileCheckException(FileCheckException.INVALID_FILE_ERROR)
|
|
389
430
|
|
|
390
431
|
|
|
432
|
+
def root_privilege_warning():
|
|
433
|
+
if os.getuid() == 0:
|
|
434
|
+
logger.warning(
|
|
435
|
+
"msprobe is being run as root. "
|
|
436
|
+
"To avoid security risks, it is recommended to switch to a regular user to run it."
|
|
437
|
+
)
|
|
438
|
+
|
|
439
|
+
|
|
391
440
|
def load_yaml(yaml_path):
|
|
392
441
|
path_checker = FileChecker(yaml_path, FileCheckConst.FILE, FileCheckConst.READ_ABLE, FileCheckConst.YAML_SUFFIX)
|
|
393
442
|
checked_path = path_checker.common_check()
|
|
@@ -422,6 +471,26 @@ def load_json(json_path):
|
|
|
422
471
|
return data
|
|
423
472
|
|
|
424
473
|
|
|
474
|
+
def load_construct_json(json_path):
|
|
475
|
+
construct_dict_o = load_json(json_path)
|
|
476
|
+
if Const.MEGATRON_MICRO_STEP_NUMBER in construct_dict_o:
|
|
477
|
+
construct_dict = {}
|
|
478
|
+
micro_step_dict = {Const.MEGATRON_MICRO_STEP_NUMBER: construct_dict_o.get(Const.MEGATRON_MICRO_STEP_NUMBER)}
|
|
479
|
+
del construct_dict_o[Const.MEGATRON_MICRO_STEP_NUMBER]
|
|
480
|
+
for key, value in construct_dict_o.items():
|
|
481
|
+
if isinstance(value, list):
|
|
482
|
+
if len(value) != 2:
|
|
483
|
+
logger.error(f'Parse construct json file "{os.path.basename(json_path)}" failed.')
|
|
484
|
+
raise RuntimeError()
|
|
485
|
+
construct_dict[key] = value[0]
|
|
486
|
+
micro_step_dict[key] = value[1]
|
|
487
|
+
else:
|
|
488
|
+
construct_dict[key] = value
|
|
489
|
+
micro_step_dict[key] = 0
|
|
490
|
+
return construct_dict, micro_step_dict
|
|
491
|
+
return construct_dict_o, {}
|
|
492
|
+
|
|
493
|
+
|
|
425
494
|
def save_json(json_path, data, indent=None, mode="w"):
|
|
426
495
|
check_path_before_create(json_path)
|
|
427
496
|
json_path = os.path.realpath(json_path)
|
|
@@ -520,6 +589,9 @@ def move_directory(src_path, dst_path):
|
|
|
520
589
|
check_file_or_directory_path(src_path, isdir=True)
|
|
521
590
|
check_path_before_create(dst_path)
|
|
522
591
|
try:
|
|
592
|
+
if os.path.exists(dst_path):
|
|
593
|
+
logger.warning(f"The destination directory {dst_path} already exists, it will be removed.")
|
|
594
|
+
shutil.rmtree(dst_path)
|
|
523
595
|
shutil.move(src_path, dst_path)
|
|
524
596
|
except Exception as e:
|
|
525
597
|
logger.error(f"move directory {src_path} to {dst_path} failed")
|
|
@@ -945,7 +1017,13 @@ class SharedDict:
|
|
|
945
1017
|
def _safe_load(self):
|
|
946
1018
|
with io.BytesIO(self._shm.buf[:]) as buff:
|
|
947
1019
|
try:
|
|
948
|
-
|
|
1020
|
+
data = SafeUnpickler(buff).load()
|
|
1021
|
+
if not isinstance(data, dict):
|
|
1022
|
+
logger.debug(f"Data from shared memory is '{type(data)}' type, expected 'dict'.")
|
|
1023
|
+
self._dict = {}
|
|
1024
|
+
self._changed = True
|
|
1025
|
+
else:
|
|
1026
|
+
self._dict = data
|
|
949
1027
|
except Exception as e:
|
|
950
1028
|
logger.debug(f'shared dict is unreadable, reason: {e}, create new dict.')
|
|
951
1029
|
self._dict = {}
|
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
13
|
# See the License for the specific language governing permissions and
|
|
14
14
|
# limitations under the License.import functools
|
|
15
|
+
|
|
15
16
|
import functools
|
|
17
|
+
|
|
16
18
|
from msprobe.core.common.const import Const
|
|
17
|
-
from msprobe.core.common.file_utils import check_file_or_directory_path
|
|
18
|
-
from msprobe.core.common.file_utils import save_npy
|
|
19
|
+
from msprobe.core.common.file_utils import check_file_or_directory_path, save_npy
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
class FrameworkDescriptor:
|
|
@@ -103,7 +104,7 @@ class FmkAdp:
|
|
|
103
104
|
@classmethod
|
|
104
105
|
def tensor_norm(cls, tensor):
|
|
105
106
|
return cls.process_tensor(tensor, lambda x: x.norm())
|
|
106
|
-
|
|
107
|
+
|
|
107
108
|
@classmethod
|
|
108
109
|
def save_tensor(cls, tensor, filepath):
|
|
109
110
|
if cls.fmk == Const.PT_FRAMEWORK:
|
|
@@ -151,7 +152,7 @@ class FmkAdp:
|
|
|
151
152
|
|
|
152
153
|
@classmethod
|
|
153
154
|
def load_checkpoint(cls, path, to_cpu=True, weights_only=True):
|
|
154
|
-
check_file_or_directory_path(path)
|
|
155
|
+
check_file_or_directory_path(path, is_strict=not weights_only)
|
|
155
156
|
if cls.fmk == Const.PT_FRAMEWORK:
|
|
156
157
|
try:
|
|
157
158
|
if to_cpu:
|
|
@@ -161,9 +162,9 @@ class FmkAdp:
|
|
|
161
162
|
except Exception as e:
|
|
162
163
|
raise RuntimeError(f"load pt file {path} failed: {e}") from e
|
|
163
164
|
return mindspore.load_checkpoint(path)
|
|
164
|
-
|
|
165
|
+
|
|
165
166
|
@classmethod
|
|
166
167
|
def asnumpy(cls, tensor):
|
|
167
168
|
if cls.fmk == Const.PT_FRAMEWORK:
|
|
168
169
|
return tensor.float().numpy()
|
|
169
|
-
return tensor.float().asnumpy()
|
|
170
|
+
return tensor.float().asnumpy()
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Copyright (c) 2024-2025, Huawei Technologies Co., Ltd.
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
|
|
16
|
+
from functools import wraps
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class MegatronStepInfo:
|
|
20
|
+
is_megatron = False
|
|
21
|
+
is_forward = False
|
|
22
|
+
is_backward = False
|
|
23
|
+
forward_micro_step = -1
|
|
24
|
+
backward_micro_step = -1
|
|
25
|
+
|
|
26
|
+
@classmethod
|
|
27
|
+
def reset(cls):
|
|
28
|
+
"""重置所有类属性到初始状态"""
|
|
29
|
+
cls.is_megatron = False
|
|
30
|
+
cls.is_forward = False
|
|
31
|
+
cls.is_backward = False
|
|
32
|
+
cls.forward_micro_step = -1
|
|
33
|
+
cls.backward_micro_step = -1
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def wrap_megatron_step(func, is_forward=True):
|
|
37
|
+
@wraps(func)
|
|
38
|
+
def wrapped_func(*args, **kwargs):
|
|
39
|
+
if not MegatronStepInfo.is_megatron:
|
|
40
|
+
MegatronStepInfo.is_megatron = True
|
|
41
|
+
if is_forward:
|
|
42
|
+
MegatronStepInfo.is_forward = True
|
|
43
|
+
MegatronStepInfo.is_backward = False
|
|
44
|
+
MegatronStepInfo.forward_micro_step += 1
|
|
45
|
+
else:
|
|
46
|
+
MegatronStepInfo.is_forward = False
|
|
47
|
+
MegatronStepInfo.is_backward = True
|
|
48
|
+
MegatronStepInfo.backward_micro_step += 1
|
|
49
|
+
return func(*args, **kwargs)
|
|
50
|
+
|
|
51
|
+
return wrapped_func
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def get_micro_step():
|
|
55
|
+
return MegatronStepInfo.forward_micro_step if MegatronStepInfo.is_forward else MegatronStepInfo.backward_micro_step
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def is_megatron():
|
|
59
|
+
return MegatronStepInfo.is_megatron
|
|
@@ -28,7 +28,7 @@ import numpy as np
|
|
|
28
28
|
from msprobe.core.common.const import Const, CompareConst
|
|
29
29
|
from msprobe.core.common.decorator import recursion_depth_decorator
|
|
30
30
|
from msprobe.core.common.exceptions import MsprobeException
|
|
31
|
-
from msprobe.core.common.file_utils import (FileOpen, check_file_or_directory_path, load_json)
|
|
31
|
+
from msprobe.core.common.file_utils import (FileOpen, check_file_or_directory_path, load_json, load_construct_json)
|
|
32
32
|
from msprobe.core.common.log import logger
|
|
33
33
|
|
|
34
34
|
device = collections.namedtuple('device', ['type', 'index'])
|
|
@@ -83,7 +83,8 @@ class MsprobeBaseException(Exception):
|
|
|
83
83
|
INVALID_API_NAME_ERROR = 36
|
|
84
84
|
CROSS_FRAME_ERROR = 37
|
|
85
85
|
MISSING_THRESHOLD_ERROR = 38
|
|
86
|
-
WRONG_THRESHOLD_ERROR =
|
|
86
|
+
WRONG_THRESHOLD_ERROR = 39
|
|
87
|
+
MULTIPROCESS_ERROR = 40
|
|
87
88
|
|
|
88
89
|
def __init__(self, code, error_info: str = ""):
|
|
89
90
|
super(MsprobeBaseException, self).__init__()
|
|
@@ -348,8 +349,18 @@ def get_stack_construct_by_dump_json_path(dump_json_path):
|
|
|
348
349
|
stack_json = os.path.join(directory, "stack.json")
|
|
349
350
|
construct_json = os.path.join(directory, "construct.json")
|
|
350
351
|
|
|
352
|
+
stack_json_exist = os.path.exists(stack_json)
|
|
353
|
+
construct_json_exist = os.path.exists(construct_json)
|
|
354
|
+
|
|
355
|
+
if not stack_json_exist and not construct_json_exist:
|
|
356
|
+
logger.info("stack.json and construct.json not found")
|
|
357
|
+
return {}, {}
|
|
358
|
+
if not stack_json_exist or not construct_json_exist:
|
|
359
|
+
logger.error("stack.json or construct.json not found, please check.")
|
|
360
|
+
raise CompareException(CompareException.INVALID_PATH_ERROR)
|
|
361
|
+
|
|
351
362
|
stack = load_json(stack_json)
|
|
352
|
-
construct =
|
|
363
|
+
construct, _ = load_construct_json(construct_json)
|
|
353
364
|
return stack, construct
|
|
354
365
|
|
|
355
366
|
|
{mindstudio_probe-8.2.0 → mindstudio_probe-8.3.0}/msprobe/core/compare/find_first/analyzer.py
RENAMED
|
@@ -47,7 +47,6 @@ class DiffAnalyzer:
|
|
|
47
47
|
analyze_func()
|
|
48
48
|
if self._diff_nodes:
|
|
49
49
|
self._gen_analyze_info()
|
|
50
|
-
self._post_process()
|
|
51
50
|
return
|
|
52
51
|
logger.info('Cannot find any diff node, no need to generate analyze file.')
|
|
53
52
|
|
|
@@ -56,12 +55,6 @@ class DiffAnalyzer:
|
|
|
56
55
|
self._resolve_input_path(self._output_path)
|
|
57
56
|
logger.info("Pre Process completed.")
|
|
58
57
|
|
|
59
|
-
def _post_process(self):
|
|
60
|
-
for rank_path in self._paths.values():
|
|
61
|
-
dump_path = rank_path.dump_path
|
|
62
|
-
logger.debug(f"Remove {dump_path} success")
|
|
63
|
-
logger.info("Post Process completed.")
|
|
64
|
-
|
|
65
58
|
"""
|
|
66
59
|
这里需要生成stack,但是直接用dict中自带就行,在op_items.NPU_Stack_Info中
|
|
67
60
|
"""
|
|
@@ -105,6 +98,8 @@ class DiffAnalyzer:
|
|
|
105
98
|
logger.warning(f'Rank {path.rank} has no dump data!')
|
|
106
99
|
continue
|
|
107
100
|
for op_name, op_data in dump_data.items():
|
|
101
|
+
if is_ignore_op(op_name):
|
|
102
|
+
continue
|
|
108
103
|
if is_communication_op(op_name):
|
|
109
104
|
self._first_comm_nodes[path.rank] = op_name
|
|
110
105
|
break
|
|
@@ -131,10 +126,16 @@ class DiffAnalyzer:
|
|
|
131
126
|
for rank, nodes in list(self._rank_comm_nodes_dict.items())[:-1]:
|
|
132
127
|
searched_ranks.add(rank)
|
|
133
128
|
seen_nodes = set()
|
|
129
|
+
last_node = None
|
|
134
130
|
for cur_node in nodes.values():
|
|
131
|
+
is_overflow = last_node and hasattr(last_node, 'layer') and hasattr(cur_node, 'layer') and \
|
|
132
|
+
last_node.layer >= cur_node.layer
|
|
133
|
+
if is_overflow:
|
|
134
|
+
cur_node.layer = last_node.layer + 1
|
|
135
135
|
conn_info = cur_node.find_connected_nodes()
|
|
136
136
|
if not conn_info.get('ranks'):
|
|
137
137
|
conn_info['ranks'] = self._rank_comm_nodes_dict.keys()
|
|
138
|
+
last_node = cur_node
|
|
138
139
|
if not self._find_connection(conn_info, cur_node, searched_ranks, seen_nodes):
|
|
139
140
|
logger.debug(f'Cannot find connected communication node for "{cur_node.node_id}".')
|
|
140
141
|
|