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.
Files changed (505) hide show
  1. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/PKG-INFO +2 -2
  2. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/PKG-INFO +2 -2
  3. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/SOURCES.txt +2 -0
  4. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/README.md +4 -4
  5. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/const.py +6 -0
  6. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/db_manager.py +35 -4
  7. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/file_utils.py +28 -5
  8. mindstudio_probe-8.2.1/msprobe/core/common/megatron_utils.py +59 -0
  9. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/utils.py +14 -3
  10. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/diff_analyze/first_diff_analyze.py +16 -4
  11. mindstudio_probe-8.2.1/msprobe/core/compare/diff_analyze/ignore_op_list.yaml +3 -0
  12. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/find_first/analyzer.py +8 -7
  13. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/find_first/graph.py +11 -3
  14. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/find_first/utils.py +3 -2
  15. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/highlight.py +13 -6
  16. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/multiprocessing_compute.py +17 -10
  17. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/utils.py +14 -5
  18. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/data_collector.py +18 -21
  19. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/data_processor/pytorch_processor.py +43 -20
  20. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/json_writer.py +18 -8
  21. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/scope.py +4 -6
  22. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/hook_manager.py +21 -0
  23. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/service.py +2 -0
  24. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/single_save/single_comparator.py +16 -3
  25. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/01.installation.md +7 -5
  26. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/04.kernel_dump_PyTorch.md +1 -1
  27. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/06.data_dump_MindSpore.md +1 -1
  28. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/10.accuracy_compare_PyTorch.md +46 -5
  29. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/14.data_parse_PyTorch.md +1 -1
  30. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/19.monitor.md +2 -0
  31. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/21.visualization_PyTorch.md +15 -80
  32. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/22.visualization_MindSpore.md +20 -104
  33. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/23.generate_operator_PyTorch.md +1 -1
  34. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/26.data_dump_PyTorch_baseline.md +7 -7
  35. mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
  36. mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_match_info.png +0 -0
  37. mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
  38. mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_search_info.png +0 -0
  39. mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_show_info.png +0 -0
  40. mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_showcase.png +0 -0
  41. mindstudio_probe-8.2.1/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
  42. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +1 -1
  43. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/cell_processor.py +33 -5
  44. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/compare/common_dir_compare.py +22 -26
  45. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/debugger/precision_debugger.py +1 -1
  46. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/cell_dump_process.py +73 -62
  47. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/graph_mode_cell_dump.py +21 -10
  48. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/hook_cell/ms_hook_manager.py +2 -0
  49. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/utils.py +2 -1
  50. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/dump/module_dump/hook_wrapper.py +10 -7
  51. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/dump/module_dump/module_processer.py +15 -8
  52. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/module_hook.py +28 -9
  53. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/dispatch.py +42 -24
  54. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/builder/graph_builder.py +169 -64
  55. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/builder/graph_merger.py +0 -1
  56. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/builder/msprobe_adapter.py +1 -1
  57. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/db_utils.py +25 -2
  58. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/base_node.py +0 -24
  59. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/graph.py +5 -14
  60. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph_service.py +29 -53
  61. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/setup.py +7 -2
  62. mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
  63. mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_match_info.png +0 -0
  64. mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
  65. mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_search_info.png +0 -0
  66. mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_show_info.png +0 -0
  67. mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_showcase.png +0 -0
  68. mindstudio_probe-8.2.0/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
  69. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/LICENSE +0 -0
  70. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/MANIFEST.in +0 -0
  71. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/dependency_links.txt +0 -0
  72. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/entry_points.txt +0 -0
  73. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/not-zip-safe +0 -0
  74. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/requires.txt +0 -0
  75. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/mindstudio_probe.egg-info/top_level.txt +0 -0
  76. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/CMakeLists.txt +0 -0
  77. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/__init__.py +0 -0
  78. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/config.json +0 -0
  79. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/__init__.py +0 -0
  80. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/advisor/advisor.py +0 -0
  81. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/advisor/advisor_const.py +0 -0
  82. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/advisor/advisor_result.py +0 -0
  83. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/decorator.py +0 -0
  84. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/exceptions.py +0 -0
  85. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/framework_adapter.py +0 -0
  86. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/global_lock.py +0 -0
  87. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/inplace_op_checker.py +0 -0
  88. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/inplace_ops.yaml +0 -0
  89. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/log.py +0 -0
  90. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/parallel_state.py +0 -0
  91. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common/runtime.py +0 -0
  92. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/common_config.py +0 -0
  93. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/acc_compare.py +0 -0
  94. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/check.py +0 -0
  95. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/compare_cli.py +0 -0
  96. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/config.py +0 -0
  97. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/diff_analyze/__init__.py +0 -0
  98. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/diff_analyze/diff_analyze_threshold.yaml +0 -0
  99. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/find_first/__init__.py +0 -0
  100. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/find_first/data_processor.py +0 -0
  101. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/layer_mapping/__init__.py +0 -0
  102. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/layer_mapping/data_scope_parser.py +0 -0
  103. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/layer_mapping/layer_mapping.py +0 -0
  104. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/layer_mapping/postprocess_pass.py +0 -0
  105. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/merge_result/merge_result.py +0 -0
  106. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/merge_result/merge_result_cli.py +0 -0
  107. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/merge_result/utils.py +0 -0
  108. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/ms_to_pt_api.yaml +0 -0
  109. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/compare/npy_compare.py +0 -0
  110. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/__init__.py +0 -0
  111. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/__init__.py +0 -0
  112. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/base_checker.py +0 -0
  113. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/dataset_checker.py +0 -0
  114. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/env_args_checker.py +0 -0
  115. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/hyperparameter_checker.py +0 -0
  116. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/pip_checker.py +0 -0
  117. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/random_checker.py +0 -0
  118. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/checkers/weights_checker.py +0 -0
  119. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/ckpt_compare/ckpt_comparator.py +0 -0
  120. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/ckpt_compare/megatron_loader.py +0 -0
  121. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/ckpt_compare/metrics.py +0 -0
  122. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/ckpt_compare/name_mapping.yaml +0 -0
  123. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/config_check_cli.py +0 -0
  124. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/config_checker.py +0 -0
  125. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/resource/dependency.yaml +0 -0
  126. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/resource/env.yaml +0 -0
  127. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/resource/hyperparameter.yaml +0 -0
  128. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/utils/hyperparameter_parser.py +0 -0
  129. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/config_check/utils/utils.py +0 -0
  130. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/api_registry.py +0 -0
  131. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/data_processor/base.py +0 -0
  132. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/data_processor/factory.py +0 -0
  133. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/data_dump/data_processor/mindspore_processor.py +0 -0
  134. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/debugger/precision_debugger.py +0 -0
  135. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/grad_probe/__init__.py +0 -0
  136. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/grad_probe/constant.py +0 -0
  137. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/grad_probe/grad_compare.py +0 -0
  138. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/grad_probe/utils.py +0 -0
  139. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/kernel_dump/kernel_config.py +0 -0
  140. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/monitor/__init__.py +0 -0
  141. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/monitor/anomaly_processor.py +0 -0
  142. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/monitor/csv2db.py +0 -0
  143. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/monitor/db_utils.py +0 -0
  144. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/monitor/utils.py +0 -0
  145. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/abnormal_scene.py +0 -0
  146. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/api_info.py +0 -0
  147. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/checker.py +0 -0
  148. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/filter.py +0 -0
  149. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/ignore_rules.yaml +0 -0
  150. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/level.py +0 -0
  151. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/overflow_check/utils.py +0 -0
  152. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/single_save/__init__.py +0 -0
  153. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/core/single_save/single_saver.py +0 -0
  154. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/02.config_introduction.md +0 -0
  155. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/03.config_examples.md +0 -0
  156. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/05.data_dump_PyTorch.md +0 -0
  157. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/07.accuracy_checker_PyTorch.md +0 -0
  158. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/09.accuracy_checker_MindSpore.md +0 -0
  159. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/11.accuracy_compare_MindSpore.md +0 -0
  160. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/12.overflow_check_PyTorch.md +0 -0
  161. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/13.overflow_check_MindSpore.md +0 -0
  162. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/15.free_benchmarking_PyTorch.md +0 -0
  163. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/16.free_benchmarking_MindSpore.md +0 -0
  164. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/17.grad_probe.md +0 -0
  165. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/18.online_dispatch.md +0 -0
  166. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/20.monitor_performance_baseline.md +0 -0
  167. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/24.code_mapping_Mindspore.md +0 -0
  168. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/25.tool_function_introduction.md +0 -0
  169. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/27.dump_json_instruction.md +0 -0
  170. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/28.debugger_save_instruction.md +0 -0
  171. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/28.kernel_dump_MindSpore.md +0 -0
  172. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/29.data_dump_MSAdapter.md +0 -0
  173. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/30.overflow_check_MSAdapter.md +0 -0
  174. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/31.config_check.md +0 -0
  175. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/32.ckpt_compare.md +0 -0
  176. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/33.generate_operator_MindSpore.md +0 -0
  177. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/34.RL_collect.md +0 -0
  178. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/35.nan_analyze.md +0 -0
  179. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/36.calculation_result_change.md +0 -0
  180. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/FAQ.md +0 -0
  181. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/S02.report_free_benchmarking_validation_performance_baseline.md +0 -0
  182. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/accuracy_checker_MindSpore/accuracy_checker_MindSpore_baseline.md +0 -0
  183. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/data_dump_MindSpore/data_dump_MindSpore_baseline.md +0 -0
  184. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/data_dump_MindSpore/dynamic_graph_quick_start_example.md +0 -0
  185. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/BLOOM-7B_1.png +0 -0
  186. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/BLOOM-7B_2.png +0 -0
  187. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/BLOOM-7B_3.png +0 -0
  188. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/BLOOM-7B_4.png +0 -0
  189. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_1.png +0 -0
  190. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_2.png +0 -0
  191. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_3.png +0 -0
  192. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_4.png +0 -0
  193. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_5.png +0 -0
  194. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_6.png +0 -0
  195. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_7.png +0 -0
  196. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/GPT-3_8.png +0 -0
  197. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/YOLOV5S_1.png +0 -0
  198. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/YOLOV5S_2.png +0 -0
  199. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/accuracy_checking_details.png +0 -0
  200. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/accuracy_checking_result.png +0 -0
  201. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/api_precision_compare_details.png +0 -0
  202. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/api_precision_compare_result.png +0 -0
  203. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/auto_analyze_log.png +0 -0
  204. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/compare_result.png +0 -0
  205. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/compare_result_pkl.png +0 -0
  206. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/compare_result_pkl_md5.png.png +0 -0
  207. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/cpu_info.png +0 -0
  208. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/free_benchmark.png +0 -0
  209. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/free_benchmark_framework.png +0 -0
  210. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/grad_probe_image-1.png +0 -0
  211. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/grad_probe_image-2.png +0 -0
  212. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/grad_probe_image-3.png +0 -0
  213. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/grad_probe_image-4.png +0 -0
  214. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/grad_probe_image.png +0 -0
  215. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/merge_result.png +0 -0
  216. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/module_compare.png +0 -0
  217. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/monitor/cpu_info.png +0 -0
  218. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/monitor/step_count_per_record.png +0 -0
  219. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/ms_dump.png +0 -0
  220. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/ms_layer.png +0 -0
  221. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/pt_dump.png +0 -0
  222. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/save_compare_result_sample.png +0 -0
  223. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/fuzzy_match_ms.png +0 -0
  224. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/fuzzy_match_pt.png +0 -0
  225. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/proxy.png +0 -0
  226. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/tensorboard_1.png +0 -0
  227. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/tensorboard_2.png +0 -0
  228. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/img/visualization/vis_browser_2.png +0 -0
  229. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/GPTModel.png +0 -0
  230. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/ParallelMLP.png +0 -0
  231. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/layer_mapping_example.md +0 -0
  232. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mapping.png +0 -0
  233. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mapping1.png +0 -0
  234. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/1.png +0 -0
  235. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/2.png +0 -0
  236. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/3.png +0 -0
  237. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/4.png +0 -0
  238. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/5.png +0 -0
  239. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/6.png +0 -0
  240. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/7.png +0 -0
  241. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory-qwen25vl.txt +0 -0
  242. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory1.png +0 -0
  243. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory2.png +0 -0
  244. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed-mm-qwen25vl.txt +0 -0
  245. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed1.png +0 -0
  246. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed2.png +0 -0
  247. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/mindspeed_llamafactory_mapping.md +0 -0
  248. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/module_name.png +0 -0
  249. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/module_name1.png +0 -0
  250. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/no_mapping.png +0 -0
  251. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/no_mapping1.png +0 -0
  252. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/no_mapping_analyze.png +0 -0
  253. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/docs/visualization/top_layer.png +0 -0
  254. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/__init__.py +0 -0
  255. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/__init__.py +0 -0
  256. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/api_info.py +0 -0
  257. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/api_runner.py +0 -0
  258. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py +0 -0
  259. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py +0 -0
  260. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py +0 -0
  261. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/checker_support_api.yaml +0 -0
  262. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/cmd_parser.py +0 -0
  263. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/compute_element.py +0 -0
  264. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/data_manager.py +0 -0
  265. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/generate_op_script/op_generator.py +0 -0
  266. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
  267. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/main.py +0 -0
  268. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/multi_api_accuracy_checker.py +0 -0
  269. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/multi_data_manager.py +0 -0
  270. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py +0 -0
  271. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/type_mapping.py +0 -0
  272. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/api_accuracy_checker/utils.py +0 -0
  273. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/__init__.py +0 -0
  274. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/bind.py +0 -0
  275. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/cmd_parser.py +0 -0
  276. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/graph.py +0 -0
  277. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/graph_parser.py +0 -0
  278. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/main.py +0 -0
  279. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/code_mapping/processor.py +0 -0
  280. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/common/const.py +0 -0
  281. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/common/log.py +0 -0
  282. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/common/utils.py +0 -0
  283. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/compare/distributed_compare.py +0 -0
  284. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/compare/ms_compare.py +0 -0
  285. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/compare/ms_graph_compare.py +0 -0
  286. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/compare/utils.py +0 -0
  287. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/debugger/__init__.py +0 -0
  288. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/debugger/debugger_config.py +0 -0
  289. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/__init__.py +0 -0
  290. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/cell_dump_with_insert_gradient.py +0 -0
  291. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/dump_tool_factory.py +0 -0
  292. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/graph_tensor_dump.py +0 -0
  293. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/hook_cell/api_register.py +0 -0
  294. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/hook_cell/hook_cell.py +0 -0
  295. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/hook_cell/primitive_hooks.py +0 -0
  296. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml +0 -0
  297. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/jit_dump.py +0 -0
  298. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/kernel_graph_dump.py +0 -0
  299. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dump/kernel_kbyk_dump.py +0 -0
  300. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dym_loader/hook_dynamic_loader.cpp +0 -0
  301. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/dym_loader/hook_dynamic_loader.h +0 -0
  302. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/exception_dump/__init__.py +0 -0
  303. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/exception_dump/exception_dump_tool_factory.py +0 -0
  304. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/exception_dump/kernel_graph_exception_dump.py +0 -0
  305. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/__init__.py +0 -0
  306. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/api_pynative_self_check.py +0 -0
  307. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/common/__init__.py +0 -0
  308. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/common/config.py +0 -0
  309. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/common/handler_params.py +0 -0
  310. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/common/utils.py +0 -0
  311. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/data/support_wrap_ops.yaml +0 -0
  312. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/handler/__init__.py +0 -0
  313. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/handler/base_handler.py +0 -0
  314. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/handler/check_handler.py +0 -0
  315. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/handler/fix_handler.py +0 -0
  316. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/handler/handler_factory.py +0 -0
  317. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/add_noise.py +0 -0
  318. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/base_perturbation.py +0 -0
  319. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/bit_noise.py +0 -0
  320. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/exchange_value.py +0 -0
  321. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/improve_precision.py +0 -0
  322. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/no_change.py +0 -0
  323. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/perturbation/perturbation_factory.py +0 -0
  324. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/free_benchmark/self_check_tool_factory.py +0 -0
  325. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/__init__.py +0 -0
  326. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/global_context.py +0 -0
  327. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/grad_analyzer.py +0 -0
  328. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/grad_monitor.py +0 -0
  329. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/grad_stat_csv.py +0 -0
  330. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/hook.py +0 -0
  331. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/grad_probe/utils.py +0 -0
  332. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/mindspore_service.py +0 -0
  333. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/mindtorch/__init__.py +0 -0
  334. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/mindtorch/mindtorch_adaptor.py +0 -0
  335. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/common_func.py +0 -0
  336. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/data_writers.py +0 -0
  337. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/distributed/__init__.py +0 -0
  338. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/distributed/distributed_ops.yaml +0 -0
  339. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/distributed/stack_blacklist.yaml +0 -0
  340. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/distributed/wrap_distributed.py +0 -0
  341. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/features.py +0 -0
  342. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/module_hook.py +0 -0
  343. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/optimizer_collect.py +0 -0
  344. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/monitor/utils.py +0 -0
  345. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/ms_config.py +0 -0
  346. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/overflow_check/__init__.py +0 -0
  347. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py +0 -0
  348. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/overflow_check/overflow_check_tool_factory.py +0 -0
  349. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/mindspore/task_handler_factory.py +0 -0
  350. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/msprobe.py +0 -0
  351. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/nan_analyze/__init__.py +0 -0
  352. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/nan_analyze/analyzer.py +0 -0
  353. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/nan_analyze/graph.py +0 -0
  354. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/nan_analyze/utils.py +0 -0
  355. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/__init__.py +0 -0
  356. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/.keep +0 -0
  357. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/__init__.py +0 -0
  358. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/common/.keep +0 -0
  359. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/common/__init__.py +0 -0
  360. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/common/config.py +0 -0
  361. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/common/utils.py +0 -0
  362. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/__init__.py +0 -0
  363. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/algorithm.py +0 -0
  364. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_compare.py +0 -0
  365. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_standard.yaml +0 -0
  366. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_threshold.yaml +0 -0
  367. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/compare.py +0 -0
  368. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_column.py +0 -0
  369. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_input.py +0 -0
  370. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_utils.py +0 -0
  371. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/config.yaml +0 -0
  372. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/config_op.json +0 -0
  373. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py +0 -0
  374. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
  375. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/absolute_threshold.py +0 -0
  376. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/accumulative_error_compare.py +0 -0
  377. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/base_standard.py +0 -0
  378. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/benchmark_compare.py +0 -0
  379. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/binary_consistency.py +0 -0
  380. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_config.py +0 -0
  381. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_register.py +0 -0
  382. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/thousandth_standard.py +0 -0
  383. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/ulp_compare.py +0 -0
  384. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/.keep +0 -0
  385. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/__init__.py +0 -0
  386. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/data_generate.py +0 -0
  387. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/multi_run_ut.py +0 -0
  388. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py +0 -0
  389. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py +0 -0
  390. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py +0 -0
  391. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/api_accuracy_checker/run_ut/torch_ut_setting.json +0 -0
  392. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/__init__.py +0 -0
  393. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/apply_adam.py +0 -0
  394. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/apply_adam_w.py +0 -0
  395. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/confusion_transpose.py +0 -0
  396. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/fast_gelu.py +0 -0
  397. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/group_norm_silu.py +0 -0
  398. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/layer_norm_eval.py +0 -0
  399. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/linear.py +0 -0
  400. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/matmul_backward.py +0 -0
  401. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/mish.py +0 -0
  402. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/moe_gating_top_k_softmax.py +0 -0
  403. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/npu_fusion_attention.py +0 -0
  404. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/rms_norm.py +0 -0
  405. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/rotary_mul.py +0 -0
  406. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/scaled_mask_softmax.py +0 -0
  407. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/sort_v2.py +0 -0
  408. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/bench_functions/swiglu.py +0 -0
  409. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/common/__init__.py +0 -0
  410. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/common/compare_script.template +0 -0
  411. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/common/log.py +0 -0
  412. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/common/parse_json.py +0 -0
  413. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/common/utils.py +0 -0
  414. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/distributed_compare.py +0 -0
  415. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/mapping.yaml +0 -0
  416. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/match.py +0 -0
  417. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/pt_compare.py +0 -0
  418. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/compare/pt_diff_analyze.py +0 -0
  419. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/debugger/__init__.py +0 -0
  420. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/debugger/debugger_config.py +0 -0
  421. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/debugger/precision_debugger.py +0 -0
  422. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/dump/module_dump/__init__.py +0 -0
  423. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/dump/module_dump/module_dump.py +0 -0
  424. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/__init__.py +0 -0
  425. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/__init__.py +0 -0
  426. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/constant.py +0 -0
  427. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/counter.py +0 -0
  428. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/enums.py +0 -0
  429. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/params.py +0 -0
  430. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/common/utils.py +0 -0
  431. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/compare/grad_saver.py +0 -0
  432. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/compare/single_benchmark.py +0 -0
  433. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/main.py +0 -0
  434. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/__init__.py +0 -0
  435. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/base_layer.py +0 -0
  436. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/layer_factory.py +0 -0
  437. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/__init__.py +0 -0
  438. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/add_noise.py +0 -0
  439. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/bit_noise.py +0 -0
  440. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/change_value.py +0 -0
  441. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/improve_precision.py +0 -0
  442. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/no_change.py +0 -0
  443. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/npu_base_layser.py +0 -0
  444. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/perturbed_layers/run_cpu.py +0 -0
  445. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/__init__.py +0 -0
  446. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/base_handler.py +0 -0
  447. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/check_handler.py +0 -0
  448. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/fix_handler.py +0 -0
  449. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/handler_factory.py +0 -0
  450. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/free_benchmark/result_handlers/preheat_handler.py +0 -0
  451. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/function_factory.py +0 -0
  452. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/grad_probe/__init__.py +0 -0
  453. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/grad_probe/grad_monitor.py +0 -0
  454. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/grad_probe/grad_stat_csv.py +0 -0
  455. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/__init__.py +0 -0
  456. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/api_register.py +0 -0
  457. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/hook_module.py +0 -0
  458. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/pt_hook_manager.py +0 -0
  459. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/register_optimizer_hook.py +0 -0
  460. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/script_wrapper.py +0 -0
  461. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/support_wrap_ops.yaml +0 -0
  462. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/utils.py +0 -0
  463. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/hook_module/wrap_aten.py +0 -0
  464. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/__init__.py +0 -0
  465. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/csv2tb.py +0 -0
  466. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/data_writers.py +0 -0
  467. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/distributed/__init__.py +0 -0
  468. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/distributed/distributed_ops.yaml +0 -0
  469. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/distributed/stack_blacklist.yaml +0 -0
  470. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/distributed/wrap_distributed.py +0 -0
  471. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/features.py +0 -0
  472. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/module_metric.py +0 -0
  473. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/optimizer_collect.py +0 -0
  474. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/utils.py +0 -0
  475. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/monitor/visualizer.py +0 -0
  476. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/__init__.py +0 -0
  477. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/compare.py +0 -0
  478. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/dump_compare.py +0 -0
  479. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/single_compare.py +0 -0
  480. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/torch_ops_config.yaml +0 -0
  481. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/online_dispatch/utils.py +0 -0
  482. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/__init__.py +0 -0
  483. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/cli.py +0 -0
  484. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/__init__.py +0 -0
  485. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/compare.py +0 -0
  486. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/config.py +0 -0
  487. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/file_desc.py +0 -0
  488. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/interactive_cli.py +0 -0
  489. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/parse_exception.py +0 -0
  490. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/parse_tool.py +0 -0
  491. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/utils.py +0 -0
  492. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/parse_tool/lib/visualization.py +0 -0
  493. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/pt_config.py +0 -0
  494. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/pytorch/pytorch_service.py +0 -0
  495. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/__init__.py +0 -0
  496. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/builder/__init__.py +0 -0
  497. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/compare/__init__.py +0 -0
  498. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/compare/graph_comparator.py +0 -0
  499. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/compare/mode_adapter.py +0 -0
  500. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/__init__.py +0 -0
  501. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/distributed_analyzer.py +0 -0
  502. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/node_colors.py +0 -0
  503. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/graph/node_op.py +0 -0
  504. {mindstudio_probe-8.2.0 → mindstudio_probe-8.2.1}/msprobe/visualization/utils.py +0 -0
  505. {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.0
3
+ Version: 8.2.1
4
4
  Summary: Ascend Probe Utils
5
- Home-page: https://gitee.com/ascend/mstt/tree/master/debug/accuracy_tools/msprobe
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.0
3
+ Version: 8.2.1
4
4
  Summary: Ascend Probe Utils
5
- Home-page: https://gitee.com/ascend/mstt/tree/master/debug/accuracy_tools/msprobe
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://gitee.com/link?target=https%3A%2F%2Fwww.hiascend.com%2Fdocument%2Fdetail%2Fzh%2Fcanncommercial%2F80RC22%2Fquickstart%2Fquickstart%2Fquickstart_18_0002.html)》。
39
- - 软件环境请参见《[CANN 软件安装指南](https://gitee.com/link?target=https%3A%2F%2Fwww.hiascend.com%2Fdocument%2Fdetail%2Fzh%2Fcanncommercial%2F80RC22%2Fsoftwareinst%2Finstg%2Finstg_0000.html%3FMode%3DPmIns%26OS%3DUbuntu%26Software%3DcannToolKit)》安装昇腾设备开发或运行环境,即toolkit软件包。
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://gitee.com/ascend/pytorch)》。
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://gitee.com/link?target=https%3A%2F%2Fwww.hiascend.com%2Fhardware%2Ffirmware-drivers%2Fcommunity%3Fproduct%3D2%26model%3D28%26cann%3D8.0.RC3.alpha003%26driver%3D1.0.25.alpha)”页面根据产品型号与CANN软件版本获取配套的固件与驱动。
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 and columns != len(key_list):
91
- raise ValueError(
92
- f"When inserting into table {table_name}, the length of key list ({key_list})"
93
- f"does not match the data({columns}).")
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
- bool(dir_stat.st_mode & stat.S_IWGRP) or # 组可写
263
- bool(dir_stat.st_mode & stat.S_IWOTH) # 其他用户可写
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 = 38
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 = load_json(construct_json)
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
- check_result[api_batch.api_name] = self.single_api_check(result_slice, header)
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
@@ -0,0 +1,3 @@
1
+ npu_fusion_attention:
2
+ - 4
3
+ - 5
@@ -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 = {CompareConst.NPU_MD5: cmp_data.get(CompareConst.NPU_MD5)}
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 Const.INPUT in name:
71
+ if cmp_data.get('state') == "input":
66
72
  self.inputs[name] = metrics
67
- elif Const.OUTPUT in name:
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(input_diff_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):
@@ -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
- final_results = [r.get() for r in results]
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