mindstudio-probe 8.2.0__tar.gz → 8.2.1__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.2.1}/PKG-INFO +2 -2
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/PKG-INFO +2 -2
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/SOURCES.txt +2 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/README.md +4 -4
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/const.py +6 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/db_manager.py +35 -4
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/file_utils.py +28 -5
- mindstudio_probe-8.2.1/msprobe/core/common/megatron_utils.py +59 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/utils.py +14 -3
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/diff_analyze/first_diff_analyze.py +16 -4
- mindstudio_probe-8.2.1/msprobe/core/compare/diff_analyze/ignore_op_list.yaml +3 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/find_first/analyzer.py +8 -7
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/find_first/graph.py +11 -3
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/find_first/utils.py +3 -2
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/highlight.py +13 -6
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/multiprocessing_compute.py +17 -10
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/utils.py +14 -5
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/data_collector.py +18 -21
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/data_processor/pytorch_processor.py +43 -20
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/json_writer.py +18 -8
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/scope.py +4 -6
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/hook_manager.py +21 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/service.py +2 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/single_save/single_comparator.py +16 -3
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/01.installation.md +7 -5
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/04.kernel_dump_PyTorch.md +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/06.data_dump_MindSpore.md +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/10.accuracy_compare_PyTorch.md +46 -5
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/14.data_parse_PyTorch.md +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/19.monitor.md +2 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/21.visualization_PyTorch.md +15 -80
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/22.visualization_MindSpore.md +20 -104
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/23.generate_operator_PyTorch.md +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/26.data_dump_PyTorch_baseline.md +7 -7
- mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
- mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_match_info.png +0 -0
- mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
- mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_search_info.png +0 -0
- mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_show_info.png +0 -0
- mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_showcase.png +0 -0
- mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/cell_processor.py +33 -5
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/compare/common_dir_compare.py +22 -26
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/debugger/precision_debugger.py +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/cell_dump_process.py +73 -62
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/graph_mode_cell_dump.py +21 -10
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/hook_cell/ms_hook_manager.py +2 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/utils.py +2 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/dump/module_dump/hook_wrapper.py +10 -7
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/dump/module_dump/module_processer.py +15 -8
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/module_hook.py +28 -9
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/dispatch.py +42 -24
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/builder/graph_builder.py +169 -64
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/builder/graph_merger.py +0 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/builder/msprobe_adapter.py +1 -1
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/db_utils.py +25 -2
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/base_node.py +0 -24
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/graph.py +5 -14
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph_service.py +29 -53
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/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 → mindstudio_probe-8.2.1}/LICENSE +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/MANIFEST.in +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/dependency_links.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/entry_points.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/not-zip-safe +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/requires.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/top_level.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/CMakeLists.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/config.json +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/advisor/advisor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/advisor/advisor_const.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/advisor/advisor_result.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/decorator.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/exceptions.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/framework_adapter.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/global_lock.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/inplace_op_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/inplace_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/log.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/parallel_state.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/runtime.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/acc_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/check.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/compare_cli.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/diff_analyze/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/diff_analyze/diff_analyze_threshold.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/find_first/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/find_first/data_processor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/layer_mapping/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/layer_mapping/data_scope_parser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/layer_mapping/layer_mapping.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/layer_mapping/postprocess_pass.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/merge_result/merge_result.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/merge_result/merge_result_cli.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/merge_result/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/ms_to_pt_api.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/npy_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/base_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/dataset_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/env_args_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/hyperparameter_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/pip_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/random_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/weights_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/ckpt_compare/ckpt_comparator.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/ckpt_compare/megatron_loader.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/ckpt_compare/metrics.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/ckpt_compare/name_mapping.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/config_check_cli.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/config_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/resource/dependency.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/resource/env.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/resource/hyperparameter.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/utils/hyperparameter_parser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/utils/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/api_registry.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/data_processor/base.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/data_processor/factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/data_processor/mindspore_processor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/debugger/precision_debugger.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/grad_probe/constant.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/grad_probe/grad_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/grad_probe/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/kernel_dump/kernel_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/monitor/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/monitor/anomaly_processor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/monitor/csv2db.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/monitor/db_utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/monitor/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/abnormal_scene.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/api_info.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/filter.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/ignore_rules.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/level.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/single_save/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/single_save/single_saver.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/02.config_introduction.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/03.config_examples.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/05.data_dump_PyTorch.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/07.accuracy_checker_PyTorch.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/09.accuracy_checker_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/11.accuracy_compare_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/12.overflow_check_PyTorch.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/13.overflow_check_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/15.free_benchmarking_PyTorch.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/16.free_benchmarking_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/17.grad_probe.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/18.online_dispatch.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/20.monitor_performance_baseline.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/24.code_mapping_Mindspore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/25.tool_function_introduction.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/27.dump_json_instruction.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/28.debugger_save_instruction.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/28.kernel_dump_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/29.data_dump_MSAdapter.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/30.overflow_check_MSAdapter.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/31.config_check.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/32.ckpt_compare.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/33.generate_operator_MindSpore.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/34.RL_collect.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/35.nan_analyze.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/36.calculation_result_change.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/FAQ.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/S02.report_free_benchmarking_validation_performance_baseline.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/accuracy_checker_MindSpore/accuracy_checker_MindSpore_baseline.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/data_dump_MindSpore/data_dump_MindSpore_baseline.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/data_dump_MindSpore/dynamic_graph_quick_start_example.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/BLOOM-7B_1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/BLOOM-7B_2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/BLOOM-7B_3.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/BLOOM-7B_4.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_3.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_4.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_5.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_6.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_7.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_8.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/YOLOV5S_1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/YOLOV5S_2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/accuracy_checking_details.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/accuracy_checking_result.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/api_precision_compare_details.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/api_precision_compare_result.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/auto_analyze_log.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/compare_result.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/compare_result_pkl.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/compare_result_pkl_md5.png.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/cpu_info.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/free_benchmark.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/free_benchmark_framework.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/grad_probe_image-1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/grad_probe_image-2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/grad_probe_image-3.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/grad_probe_image-4.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/grad_probe_image.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/merge_result.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/module_compare.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/monitor/cpu_info.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/monitor/step_count_per_record.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/ms_dump.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/ms_layer.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/pt_dump.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/save_compare_result_sample.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/fuzzy_match_ms.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/fuzzy_match_pt.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/proxy.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/tensorboard_1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/tensorboard_2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/vis_browser_2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/GPTModel.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/ParallelMLP.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/layer_mapping_example.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mapping.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mapping1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/3.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/4.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/5.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/6.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/7.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory-qwen25vl.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed-mm-qwen25vl.txt +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed2.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactory_mapping.md +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/module_name.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/module_name1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/no_mapping.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/no_mapping1.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/no_mapping_analyze.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/top_layer.png +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/api_info.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/api_runner.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/checker_support_api.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/cmd_parser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/compute_element.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/data_manager.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/generate_op_script/op_generator.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/main.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/multi_api_accuracy_checker.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/multi_data_manager.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/type_mapping.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/bind.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/cmd_parser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/graph.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/graph_parser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/main.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/processor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/common/const.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/common/log.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/common/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/compare/distributed_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/compare/ms_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/compare/ms_graph_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/compare/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/debugger/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/debugger/debugger_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/cell_dump_with_insert_gradient.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/dump_tool_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/graph_tensor_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/hook_cell/api_register.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/hook_cell/hook_cell.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/hook_cell/primitive_hooks.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/jit_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/kernel_graph_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/kernel_kbyk_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dym_loader/hook_dynamic_loader.cpp +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dym_loader/hook_dynamic_loader.h +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/exception_dump/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/exception_dump/exception_dump_tool_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/exception_dump/kernel_graph_exception_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/api_pynative_self_check.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/common/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/common/config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/common/handler_params.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/common/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/data/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/handler/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/handler/base_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/handler/check_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/handler/fix_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/handler/handler_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/add_noise.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/base_perturbation.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/bit_noise.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/exchange_value.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/improve_precision.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/no_change.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/perturbation_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/self_check_tool_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/global_context.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/grad_analyzer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/grad_monitor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/grad_stat_csv.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/hook.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/mindspore_service.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/mindtorch/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/mindtorch/mindtorch_adaptor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/common_func.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/data_writers.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/distributed/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/distributed/distributed_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/distributed/stack_blacklist.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/distributed/wrap_distributed.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/features.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/module_hook.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/optimizer_collect.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/ms_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/overflow_check/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/overflow_check/overflow_check_tool_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/task_handler_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/msprobe.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/nan_analyze/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/nan_analyze/analyzer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/nan_analyze/graph.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/nan_analyze/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/.keep +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/common/.keep +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/common/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/common/config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/common/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/algorithm.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_standard.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_threshold.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_column.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_input.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/config.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/config_op.json +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/absolute_threshold.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/accumulative_error_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/base_standard.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/benchmark_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/binary_consistency.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_register.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/thousandth_standard.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/ulp_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/.keep +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/data_generate.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/multi_run_ut.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/torch_ut_setting.json +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/apply_adam.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/apply_adam_w.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/confusion_transpose.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/fast_gelu.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/group_norm_silu.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/layer_norm_eval.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/linear.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/matmul_backward.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/mish.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/moe_gating_top_k_softmax.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/npu_fusion_attention.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/rms_norm.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/rotary_mul.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/scaled_mask_softmax.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/sort_v2.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/swiglu.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/common/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/common/compare_script.template +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/common/log.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/common/parse_json.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/common/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/distributed_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/mapping.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/match.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/pt_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/pt_diff_analyze.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/debugger/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/debugger/debugger_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/debugger/precision_debugger.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/dump/module_dump/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/dump/module_dump/module_dump.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/constant.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/counter.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/enums.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/params.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/compare/grad_saver.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/compare/single_benchmark.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/main.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/base_layer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/layer_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/add_noise.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/bit_noise.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/change_value.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/improve_precision.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/no_change.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/npu_base_layser.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/run_cpu.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/base_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/check_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/fix_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/handler_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/preheat_handler.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/function_factory.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/grad_probe/grad_monitor.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/grad_probe/grad_stat_csv.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/api_register.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/hook_module.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/pt_hook_manager.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/register_optimizer_hook.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/script_wrapper.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/wrap_aten.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/csv2tb.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/data_writers.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/distributed/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/distributed/distributed_ops.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/distributed/stack_blacklist.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/distributed/wrap_distributed.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/features.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/module_metric.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/optimizer_collect.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/visualizer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/dump_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/single_compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/torch_ops_config.yaml +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/cli.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/compare.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/file_desc.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/interactive_cli.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/parse_exception.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/parse_tool.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/visualization.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/pt_config.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/pytorch_service.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/builder/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/compare/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/compare/graph_comparator.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/compare/mode_adapter.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/__init__.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/distributed_analyzer.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/node_colors.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/node_op.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/utils.py +0 -0
- {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/setup.cfg +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mindstudio-probe
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.1
|
|
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.2.
|
|
3
|
+
Version: 8.2.1
|
|
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
|
|
@@ -45,6 +46,7 @@ msprobe/core/compare/utils.py
|
|
|
45
46
|
msprobe/core/compare/diff_analyze/__init__.py
|
|
46
47
|
msprobe/core/compare/diff_analyze/diff_analyze_threshold.yaml
|
|
47
48
|
msprobe/core/compare/diff_analyze/first_diff_analyze.py
|
|
49
|
+
msprobe/core/compare/diff_analyze/ignore_op_list.yaml
|
|
48
50
|
msprobe/core/compare/find_first/__init__.py
|
|
49
51
|
msprobe/core/compare/find_first/analyzer.py
|
|
50
52
|
msprobe/core/compare/find_first/data_processor.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
|
## 🚨 工具限制与注意事项
|
|
@@ -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
|
|
|
@@ -33,7 +33,7 @@ import pandas as pd
|
|
|
33
33
|
from msprobe.core.common.decorator import recursion_depth_decorator
|
|
34
34
|
from msprobe.core.common.log import logger
|
|
35
35
|
from msprobe.core.common.exceptions import FileCheckException
|
|
36
|
-
from msprobe.core.common.const import FileCheckConst, CompareConst
|
|
36
|
+
from msprobe.core.common.const import FileCheckConst, CompareConst, Const
|
|
37
37
|
from msprobe.core.common.global_lock import global_lock, is_main_process
|
|
38
38
|
|
|
39
39
|
proc_lock = multiprocessing.Lock()
|
|
@@ -172,7 +172,7 @@ def check_path_exists(path):
|
|
|
172
172
|
if not os.path.exists(path):
|
|
173
173
|
logger.error('The file path %s does not exist.' % path)
|
|
174
174
|
raise FileCheckException(FileCheckException.ILLEGAL_PATH_ERROR)
|
|
175
|
-
|
|
175
|
+
|
|
176
176
|
|
|
177
177
|
def check_path_not_exists(path):
|
|
178
178
|
if os.path.exists(path):
|
|
@@ -259,8 +259,8 @@ def check_path_type(file_path, file_type):
|
|
|
259
259
|
def check_others_writable(directory):
|
|
260
260
|
dir_stat = os.stat(directory)
|
|
261
261
|
is_writable = (
|
|
262
|
-
|
|
263
|
-
|
|
262
|
+
bool(dir_stat.st_mode & stat.S_IWGRP) or # 组可写
|
|
263
|
+
bool(dir_stat.st_mode & stat.S_IWOTH) # 其他用户可写
|
|
264
264
|
)
|
|
265
265
|
return is_writable
|
|
266
266
|
|
|
@@ -319,7 +319,7 @@ def check_dirpath_before_read(path):
|
|
|
319
319
|
check_path_owner_consistent(dirpath)
|
|
320
320
|
except FileCheckException:
|
|
321
321
|
logger.warning(f"The directory {dirpath} is not yours.")
|
|
322
|
-
|
|
322
|
+
|
|
323
323
|
|
|
324
324
|
def check_file_or_directory_path(path, isdir=False):
|
|
325
325
|
"""
|
|
@@ -422,6 +422,26 @@ def load_json(json_path):
|
|
|
422
422
|
return data
|
|
423
423
|
|
|
424
424
|
|
|
425
|
+
def load_construct_json(json_path):
|
|
426
|
+
construct_dict_o = load_json(json_path)
|
|
427
|
+
if Const.MEGATRON_MICRO_STEP_NUMBER in construct_dict_o:
|
|
428
|
+
construct_dict = {}
|
|
429
|
+
micro_step_dict = {Const.MEGATRON_MICRO_STEP_NUMBER: construct_dict_o.get(Const.MEGATRON_MICRO_STEP_NUMBER)}
|
|
430
|
+
del construct_dict_o[Const.MEGATRON_MICRO_STEP_NUMBER]
|
|
431
|
+
for key, value in construct_dict_o.items():
|
|
432
|
+
if isinstance(value, list):
|
|
433
|
+
if len(value) != 2:
|
|
434
|
+
logger.error(f'Parse construct json file "{os.path.basename(json_path)}" failed.')
|
|
435
|
+
raise RuntimeError()
|
|
436
|
+
construct_dict[key] = value[0]
|
|
437
|
+
micro_step_dict[key] = value[1]
|
|
438
|
+
else:
|
|
439
|
+
construct_dict[key] = value
|
|
440
|
+
micro_step_dict[key] = 0
|
|
441
|
+
return construct_dict, micro_step_dict
|
|
442
|
+
return construct_dict_o, {}
|
|
443
|
+
|
|
444
|
+
|
|
425
445
|
def save_json(json_path, data, indent=None, mode="w"):
|
|
426
446
|
check_path_before_create(json_path)
|
|
427
447
|
json_path = os.path.realpath(json_path)
|
|
@@ -520,6 +540,9 @@ def move_directory(src_path, dst_path):
|
|
|
520
540
|
check_file_or_directory_path(src_path, isdir=True)
|
|
521
541
|
check_path_before_create(dst_path)
|
|
522
542
|
try:
|
|
543
|
+
if os.path.exists(dst_path):
|
|
544
|
+
logger.warning(f"The destination directory {dst_path} already exists, it will be removed.")
|
|
545
|
+
shutil.rmtree(dst_path)
|
|
523
546
|
shutil.move(src_path, dst_path)
|
|
524
547
|
except Exception as e:
|
|
525
548
|
logger.error(f"move directory {src_path} to {dst_path} failed")
|
|
@@ -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
|
|
|
@@ -26,6 +26,8 @@ from msprobe.core.compare.utils import gen_api_batches
|
|
|
26
26
|
|
|
27
27
|
cur_dir = os.path.dirname(os.path.realpath(__file__))
|
|
28
28
|
diff_threshold_yaml_path = os.path.join(cur_dir, 'diff_analyze_threshold.yaml')
|
|
29
|
+
ignore_op_list_yaml_path = os.path.join(cur_dir, 'ignore_op_list.yaml')
|
|
30
|
+
ignore_list = load_yaml(ignore_op_list_yaml_path)
|
|
29
31
|
thresholds = load_yaml(diff_threshold_yaml_path)
|
|
30
32
|
cmp_metrics = thresholds.get('compare_metrics')
|
|
31
33
|
|
|
@@ -51,7 +53,7 @@ class FirstDiffAnalyze:
|
|
|
51
53
|
return True
|
|
52
54
|
return False
|
|
53
55
|
|
|
54
|
-
def single_api_check(self, result_slice, header):
|
|
56
|
+
def single_api_check(self, result_slice, header, api_name=None):
|
|
55
57
|
"""
|
|
56
58
|
单个api差异检查
|
|
57
59
|
|
|
@@ -65,14 +67,18 @@ class FirstDiffAnalyze:
|
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
column_indices = {name: idx for idx, name in enumerate(header)}
|
|
68
|
-
|
|
70
|
+
output_idx = -1
|
|
69
71
|
for line in result_slice:
|
|
70
72
|
op_item = {
|
|
71
73
|
column_name: line[column_indices[column_name]]
|
|
72
74
|
for column_name in header
|
|
73
75
|
}
|
|
74
76
|
single_check_result['op_items'].append(op_item)
|
|
75
|
-
|
|
77
|
+
if op_item['state'] != 'output':
|
|
78
|
+
continue
|
|
79
|
+
output_idx += 1
|
|
80
|
+
if output_idx in ignore_list.get(api_name, []):
|
|
81
|
+
continue
|
|
76
82
|
# set is_same
|
|
77
83
|
if self.mode_config.dump_mode == Const.MD5:
|
|
78
84
|
if line[column_indices[CompareConst.RESULT]] == CompareConst.DIFF:
|
|
@@ -117,7 +123,13 @@ class FirstDiffAnalyze:
|
|
|
117
123
|
with tqdm(total=len(api_batches), desc=bar_desc_add_rank, unit="api/module", ncols=100) as progress_bar:
|
|
118
124
|
for api_batch in api_batches:
|
|
119
125
|
result_slice = result[api_batch.start: api_batch.params_grad_end_index]
|
|
120
|
-
|
|
126
|
+
api_compo = api_batch.api_name.split('.')
|
|
127
|
+
# suppose name is Tensor.MatMul.0.forward
|
|
128
|
+
if len(api_compo) < 4:
|
|
129
|
+
continue
|
|
130
|
+
# get MatMul as api_name
|
|
131
|
+
api_name = api_compo[-3]
|
|
132
|
+
check_result[api_batch.api_name] = self.single_api_check(result_slice, header, api_name)
|
|
121
133
|
progress_bar.update(1)
|
|
122
134
|
|
|
123
135
|
return check_result
|
{mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/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
|
|
|
@@ -52,19 +52,25 @@ class DataNode:
|
|
|
52
52
|
metrics = {}
|
|
53
53
|
for cmp_data in self.op_data:
|
|
54
54
|
name = cmp_data.get(CompareConst.NPU_NAME)
|
|
55
|
+
# 构建度量指标字典
|
|
56
|
+
metrics = {}
|
|
57
|
+
|
|
55
58
|
if CompareConst.NPU_MAX in cmp_data:
|
|
56
59
|
metrics = {CompareConst.NPU_MAX: cmp_data.get(CompareConst.NPU_MAX),
|
|
57
60
|
CompareConst.NPU_MIN: cmp_data.get(CompareConst.NPU_MIN),
|
|
58
61
|
CompareConst.NPU_MEAN: cmp_data.get(CompareConst.NPU_MEAN),
|
|
59
62
|
CompareConst.NPU_NORM: cmp_data.get(CompareConst.NPU_NORM)}
|
|
60
63
|
elif CompareConst.NPU_MD5 in cmp_data:
|
|
61
|
-
metrics
|
|
64
|
+
metrics[CompareConst.NPU_MD5] = cmp_data.get(CompareConst.NPU_MD5)
|
|
65
|
+
|
|
66
|
+
if CompareConst.NPU_P2POP_PEER in cmp_data:
|
|
67
|
+
metrics[CompareConst.NPU_P2POP_PEER] = cmp_data.get(CompareConst.NPU_P2POP_PEER)
|
|
62
68
|
|
|
63
69
|
if cmp_data.get(CompareConst.STACK) != CompareConst.N_A and not self.stack:
|
|
64
70
|
self.stack = cmp_data.get(CompareConst.STACK)
|
|
65
|
-
if
|
|
71
|
+
if cmp_data.get('state') == "input":
|
|
66
72
|
self.inputs[name] = metrics
|
|
67
|
-
elif
|
|
73
|
+
elif cmp_data.get('state') == "output":
|
|
68
74
|
self.outputs[name] = metrics
|
|
69
75
|
|
|
70
76
|
def gen_node_info(self, path: RankPath):
|
|
@@ -161,6 +167,8 @@ class CommunicationNode:
|
|
|
161
167
|
if val and val.startswith('[') and val.endswith(']'):
|
|
162
168
|
val = [int(part) for part in val.strip('[]').split(',')]
|
|
163
169
|
ranks.update(val)
|
|
170
|
+
elif v.get(CompareConst.NPU_P2POP_PEER) != "None":
|
|
171
|
+
ranks.add(v.get(CompareConst.NPU_P2POP_PEER))
|
|
164
172
|
|
|
165
173
|
return {'ranks': ranks, 'api': f'Distributed.{tar_api}',
|
|
166
174
|
'type': DiffAnalyseConst.OPPOSITE_DIR.get(self.type, DiffAnalyseConst.LINK)}
|
|
@@ -120,7 +120,8 @@ def is_communication_op(op_name):
|
|
|
120
120
|
def is_ignore_op(op_name):
|
|
121
121
|
ignore_keywords = [
|
|
122
122
|
'Torch.empty',
|
|
123
|
-
'Torch.fill'
|
|
123
|
+
'Torch.fill',
|
|
124
|
+
'Tensor.__setitem__'
|
|
124
125
|
]
|
|
125
126
|
return any(keyword in op_name for keyword in ignore_keywords)
|
|
126
127
|
|
|
@@ -181,7 +182,7 @@ def analyze_diff_in_group(nodes_group):
|
|
|
181
182
|
input_diff_nodes = list(filter(lambda node: node.is_diff, src_list))
|
|
182
183
|
# 如果有异常回溯计算节点找到异常来源
|
|
183
184
|
# 使用cpu模拟节点进行计算,查看结果是否有问题。需要对所有计算节点录入/映射,暂不实现。
|
|
184
|
-
get_compute_ops_from_comm_nodes(
|
|
185
|
+
get_compute_ops_from_comm_nodes(nodes_group)
|
|
185
186
|
# 筛选入参没问题但出参有问题的通信节点
|
|
186
187
|
output_diff_nodes = list(filter(lambda node: node.data.is_diff, nodes_group))
|
|
187
188
|
get_comm_ops(output_diff_nodes)
|
|
@@ -26,7 +26,7 @@ from tqdm import tqdm
|
|
|
26
26
|
from msprobe.core.common.const import CompareConst, Const
|
|
27
27
|
from msprobe.core.common.file_utils import save_workbook
|
|
28
28
|
from msprobe.core.common.log import logger
|
|
29
|
-
from msprobe.core.common.utils import get_header_index
|
|
29
|
+
from msprobe.core.common.utils import get_header_index, CompareException
|
|
30
30
|
from msprobe.core.compare.utils import table_value_is_valid, gen_api_batches
|
|
31
31
|
from msprobe.core.compare.config import ModeConfig
|
|
32
32
|
|
|
@@ -359,18 +359,25 @@ class HighLight:
|
|
|
359
359
|
|
|
360
360
|
def err_call(args):
|
|
361
361
|
logger.error("Multiprocessing malicious value check failed! Reason: {}".format(args))
|
|
362
|
-
try:
|
|
363
|
-
pool.close()
|
|
364
|
-
except OSError:
|
|
365
|
-
logger.error("Pool terminate failed")
|
|
366
362
|
|
|
367
363
|
result_df_columns = result_df.columns.tolist()
|
|
368
364
|
for column in result_df_columns:
|
|
369
365
|
self.value_check(column)
|
|
366
|
+
async_results = []
|
|
370
367
|
for df_chunk in chunks:
|
|
371
|
-
pool.apply_async(func, args=(df_chunk, result_df_columns,), error_callback=err_call)
|
|
368
|
+
result = pool.apply_async(func, args=(df_chunk, result_df_columns,), error_callback=err_call)
|
|
369
|
+
async_results.append(result)
|
|
372
370
|
|
|
373
371
|
pool.close()
|
|
372
|
+
|
|
373
|
+
for ar in async_results:
|
|
374
|
+
try:
|
|
375
|
+
ar.get(timeout=3600)
|
|
376
|
+
except Exception as e:
|
|
377
|
+
logger.error(f"Task failed with exception: {e}")
|
|
378
|
+
pool.terminate()
|
|
379
|
+
raise CompareException(CompareException.MULTIPROCESS_ERROR) from e
|
|
380
|
+
|
|
374
381
|
pool.join()
|
|
375
382
|
|
|
376
383
|
def df_malicious_value_check(self, result_df):
|
{mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/multiprocessing_compute.py
RENAMED
|
@@ -52,16 +52,20 @@ def _ms_graph_handle_multi_process(func, result_df, mode):
|
|
|
52
52
|
|
|
53
53
|
def err_call(args):
|
|
54
54
|
logger.error('multiprocess compare failed! Reason: {}'.format(args))
|
|
55
|
-
try:
|
|
56
|
-
pool.close()
|
|
57
|
-
except OSError as e:
|
|
58
|
-
logger.error(f'pool terminate failed: {str(e)}')
|
|
59
55
|
|
|
60
56
|
for df_chunk in df_chunks:
|
|
61
57
|
result = pool.apply_async(func, args=(df_chunk, mode), error_callback=err_call)
|
|
62
58
|
results.append(result)
|
|
63
|
-
|
|
59
|
+
|
|
64
60
|
pool.close()
|
|
61
|
+
|
|
62
|
+
try:
|
|
63
|
+
final_results = [r.get(timeout=3600) for r in results]
|
|
64
|
+
except Exception as e:
|
|
65
|
+
logger.error(f"Task failed with exception: {e}")
|
|
66
|
+
pool.terminate()
|
|
67
|
+
raise CompareException(CompareException.MULTIPROCESS_ERROR) from e
|
|
68
|
+
|
|
65
69
|
pool.join()
|
|
66
70
|
return pd.concat(final_results, ignore_index=True)
|
|
67
71
|
|
|
@@ -277,10 +281,6 @@ class CompareRealData:
|
|
|
277
281
|
|
|
278
282
|
def err_call(args):
|
|
279
283
|
logger.error('multiprocess compare failed! Reason: {}'.format(args))
|
|
280
|
-
try:
|
|
281
|
-
pool.close()
|
|
282
|
-
except OSError:
|
|
283
|
-
logger.error("pool terminate failed")
|
|
284
284
|
|
|
285
285
|
progress_bar = tqdm(total=len(result_df), desc="API/Module Item Compare Process", unit="row", ncols=100)
|
|
286
286
|
|
|
@@ -298,7 +298,14 @@ class CompareRealData:
|
|
|
298
298
|
)
|
|
299
299
|
results.append(result)
|
|
300
300
|
|
|
301
|
-
final_results = [r.get() for r in results]
|
|
302
301
|
pool.close()
|
|
302
|
+
|
|
303
|
+
try:
|
|
304
|
+
final_results = [r.get(timeout=3600) for r in results]
|
|
305
|
+
except Exception as e:
|
|
306
|
+
logger.error(f"Task failed with exception: {e}")
|
|
307
|
+
pool.terminate()
|
|
308
|
+
raise CompareException(CompareException.MULTIPROCESS_ERROR) from e
|
|
309
|
+
|
|
303
310
|
pool.join()
|
|
304
311
|
return pd.concat(final_results, ignore_index=True)
|
|
@@ -695,10 +695,6 @@ def get_sorted_ranks(npu_dump_dir, bench_dump_dir):
|
|
|
695
695
|
def multi_statistics_compare(func, func_args):
|
|
696
696
|
def err_call(args):
|
|
697
697
|
logger.error(f'Multiprocess statistics compare failed! Reason: {args}')
|
|
698
|
-
try:
|
|
699
|
-
pool.close()
|
|
700
|
-
except OSError:
|
|
701
|
-
logger.error("Pool terminate failed")
|
|
702
698
|
|
|
703
699
|
compare_func, input_param_nr_list, output_path, kwargs = func_args
|
|
704
700
|
|
|
@@ -715,9 +711,22 @@ def multi_statistics_compare(func, func_args):
|
|
|
715
711
|
chunks[i].append(input_param_nr_list[param_num - remainder + i])
|
|
716
712
|
|
|
717
713
|
pool = multiprocessing.Pool(process_num)
|
|
714
|
+
|
|
715
|
+
async_results = []
|
|
718
716
|
for chunk in chunks:
|
|
719
|
-
pool.apply_async(func, args=(compare_func, chunk, output_path, kwargs), error_callback=err_call)
|
|
717
|
+
result = pool.apply_async(func, args=(compare_func, chunk, output_path, kwargs), error_callback=err_call)
|
|
718
|
+
async_results.append(result)
|
|
719
|
+
|
|
720
720
|
pool.close()
|
|
721
|
+
|
|
722
|
+
for ar in async_results:
|
|
723
|
+
try:
|
|
724
|
+
ar.get(timeout=3600)
|
|
725
|
+
except Exception as e:
|
|
726
|
+
logger.error(f"Task failed with exception: {e}")
|
|
727
|
+
pool.terminate()
|
|
728
|
+
raise CompareException(CompareException.MULTIPROCESS_ERROR) from e
|
|
729
|
+
|
|
721
730
|
pool.join()
|
|
722
731
|
|
|
723
732
|
|