mindstudio-probe 8.2.0__py3-none-any.whl → 8.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. {mindstudio_probe-8.2.0.dist-info → mindstudio_probe-8.2.1.dist-info}/METADATA +2 -2
  2. {mindstudio_probe-8.2.0.dist-info → mindstudio_probe-8.2.1.dist-info}/RECORD +63 -61
  3. msprobe/README.md +4 -4
  4. msprobe/core/common/const.py +6 -0
  5. msprobe/core/common/db_manager.py +35 -4
  6. msprobe/core/common/file_utils.py +28 -5
  7. msprobe/core/common/megatron_utils.py +59 -0
  8. msprobe/core/common/utils.py +14 -3
  9. msprobe/core/compare/diff_analyze/first_diff_analyze.py +16 -4
  10. msprobe/core/compare/diff_analyze/ignore_op_list.yaml +3 -0
  11. msprobe/core/compare/find_first/analyzer.py +8 -7
  12. msprobe/core/compare/find_first/graph.py +11 -3
  13. msprobe/core/compare/find_first/utils.py +3 -2
  14. msprobe/core/compare/highlight.py +13 -6
  15. msprobe/core/compare/multiprocessing_compute.py +17 -10
  16. msprobe/core/compare/utils.py +14 -5
  17. msprobe/core/data_dump/data_collector.py +18 -21
  18. msprobe/core/data_dump/data_processor/pytorch_processor.py +43 -20
  19. msprobe/core/data_dump/json_writer.py +18 -8
  20. msprobe/core/data_dump/scope.py +4 -6
  21. msprobe/core/hook_manager.py +21 -0
  22. msprobe/core/service.py +2 -0
  23. msprobe/core/single_save/single_comparator.py +16 -3
  24. msprobe/docs/01.installation.md +7 -5
  25. msprobe/docs/04.kernel_dump_PyTorch.md +1 -1
  26. msprobe/docs/06.data_dump_MindSpore.md +1 -1
  27. msprobe/docs/10.accuracy_compare_PyTorch.md +46 -5
  28. msprobe/docs/14.data_parse_PyTorch.md +1 -1
  29. msprobe/docs/19.monitor.md +2 -0
  30. msprobe/docs/21.visualization_PyTorch.md +15 -80
  31. msprobe/docs/22.visualization_MindSpore.md +20 -104
  32. msprobe/docs/23.generate_operator_PyTorch.md +1 -1
  33. msprobe/docs/26.data_dump_PyTorch_baseline.md +7 -7
  34. msprobe/docs/img/visualization/vis_browser_1.png +0 -0
  35. msprobe/docs/img/visualization/vis_match_info.png +0 -0
  36. msprobe/docs/img/visualization/vis_precision_info.png +0 -0
  37. msprobe/docs/img/visualization/vis_search_info.png +0 -0
  38. msprobe/docs/img/visualization/vis_show_info.png +0 -0
  39. msprobe/docs/img/visualization/vis_showcase.png +0 -0
  40. msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
  41. msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +1 -1
  42. msprobe/mindspore/cell_processor.py +33 -5
  43. msprobe/mindspore/compare/common_dir_compare.py +22 -26
  44. msprobe/mindspore/debugger/precision_debugger.py +1 -1
  45. msprobe/mindspore/dump/cell_dump_process.py +73 -62
  46. msprobe/mindspore/dump/graph_mode_cell_dump.py +21 -10
  47. msprobe/mindspore/dump/hook_cell/ms_hook_manager.py +2 -0
  48. msprobe/pytorch/compare/utils.py +2 -1
  49. msprobe/pytorch/dump/module_dump/hook_wrapper.py +10 -7
  50. msprobe/pytorch/dump/module_dump/module_processer.py +15 -8
  51. msprobe/pytorch/monitor/module_hook.py +28 -9
  52. msprobe/pytorch/online_dispatch/dispatch.py +42 -24
  53. msprobe/visualization/builder/graph_builder.py +169 -64
  54. msprobe/visualization/builder/graph_merger.py +0 -1
  55. msprobe/visualization/builder/msprobe_adapter.py +1 -1
  56. msprobe/visualization/db_utils.py +25 -2
  57. msprobe/visualization/graph/base_node.py +0 -24
  58. msprobe/visualization/graph/graph.py +5 -14
  59. msprobe/visualization/graph_service.py +29 -53
  60. {mindstudio_probe-8.2.0.dist-info → mindstudio_probe-8.2.1.dist-info}/LICENSE +0 -0
  61. {mindstudio_probe-8.2.0.dist-info → mindstudio_probe-8.2.1.dist-info}/WHEEL +0 -0
  62. {mindstudio_probe-8.2.0.dist-info → mindstudio_probe-8.2.1.dist-info}/entry_points.txt +0 -0
  63. {mindstudio_probe-8.2.0.dist-info → mindstudio_probe-8.2.1.dist-info}/top_level.txt +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,45 +1,47 @@
1
1
  msprobe/CMakeLists.txt,sha256=Cx_WsHVxbX2gWZ6Hxah2zYXz2eamSb4CgIlzKm9OQGA,125
2
- msprobe/README.md,sha256=RCvsFwOly7j5UvWg6KUijq7u1jLSsNUBTV3lgtm8b3o,8783
2
+ msprobe/README.md,sha256=eIoPDZlbJi14BGR1BfJrtY-prviPZdgXrIFHUOhw67w,8611
3
3
  msprobe/__init__.py,sha256=q2S8b3VTSn1wTMrkf8Gm79OOq9EerMIK6Y26gFdu_0s,688
4
4
  msprobe/config.json,sha256=QS37x2t0D-grehkpHLLxRAEZqOrkNe40GwwOaVMx3Yc,1061
5
5
  msprobe/msprobe.py,sha256=pWQYbbADJ-uydeyIqga2tznOCC-spY5r_gr5m75XBC0,8146
6
6
  msprobe/core/__init__.py,sha256=X_OkpIz42vnqhGy6WCeuEvYK4IFx4BwCT5bQj7tuuwI,757
7
7
  msprobe/core/common_config.py,sha256=0kzhosc3FIE0_JfAnOYx8lYLbno7j0rmH0ST9On1jpQ,7182
8
- msprobe/core/hook_manager.py,sha256=ZoDH4Ue4HL0VR5Vlp4hBryIIfAYAAzZb7bx1nbr-0qc,12998
9
- msprobe/core/service.py,sha256=Q7KXlkYJCPxD8b4S16WKUfo6U_Ugk9UoyyoSzjWc0HM,13489
8
+ msprobe/core/hook_manager.py,sha256=Bqo9T_Wn_rCriTfs5BaKfdrW-WuRbkQVBcPLK_CG_P8,13742
9
+ msprobe/core/service.py,sha256=FIYuVyHVVysFED5L3wPVZi8y8aT8ObiXtkfnhSnBGQo,13586
10
10
  msprobe/core/advisor/advisor.py,sha256=WP8rBF2F9pcSphZONJDgNfz9c6GiRxbkWwPS9wRU4Tc,5900
11
11
  msprobe/core/advisor/advisor_const.py,sha256=thEEVYKPimv9WGxxaC4vBXQ-Coq6yBlZ394T_b49Ibw,2624
12
12
  msprobe/core/advisor/advisor_result.py,sha256=yM78n6NXLP1bjTsGeSddwb1bWQwtg1ZqjnPHmTzVxHE,2359
13
- msprobe/core/common/const.py,sha256=DCfPsCn-W-eagNF7KN47uc7JIsV4o2gNjcl7Gh__TAA,27566
14
- msprobe/core/common/db_manager.py,sha256=_IyZSExhieuH0UNMbBR46Zdr1JF0TsKmczIdMmg5dK0,7905
13
+ msprobe/core/common/const.py,sha256=r2wKstNjzjZOmGDw_q3jlN56hqA3tv5CtNNrdl8jZMk,27799
14
+ msprobe/core/common/db_manager.py,sha256=OjC7Gr_4CKmrlLcODsLkeTv1dU-VU93fmLU0xMfiPzg,9088
15
15
  msprobe/core/common/decorator.py,sha256=lj1upkAkGYeIV3tnH0bFqp7VDIKqTkFVaE5GUOFUNUE,1785
16
16
  msprobe/core/common/exceptions.py,sha256=PJB4UTxT5VxyUE9aTCgwxiEExcuQZCcbu5V7tFdLVrY,4045
17
- msprobe/core/common/file_utils.py,sha256=DfOHp05deAjzOrJP8bbn9IyVfDFviCtbz_NvtJpKgzA,37483
17
+ msprobe/core/common/file_utils.py,sha256=WTa9u07a1IiWkWBOAWpTVW7GPQ_7r9t9BldBZ5WIaSA,38564
18
18
  msprobe/core/common/framework_adapter.py,sha256=xwOOc0cbDt_nIqHsHYT8G6uqhvZywLcOnB0w5UzATFk,6255
19
19
  msprobe/core/common/global_lock.py,sha256=MQedbRCzJTLAYGeNeeD1T7Vmn349r7ymGKt8d-U3m2Y,2721
20
20
  msprobe/core/common/inplace_op_checker.py,sha256=gwxpddOtPS2dRGbI2JB5ZixgoPLCYyDICb_07N9XVaM,1864
21
21
  msprobe/core/common/inplace_ops.yaml,sha256=Ta1zh6eF0A_Trd345gts2xlhFsU0-ZTXKEQOqUHT-54,3178
22
22
  msprobe/core/common/log.py,sha256=VrecAUbJNfhm8tKtg-dGmLcOm3gM5XJth2tpeW6DsDo,3348
23
+ msprobe/core/common/megatron_utils.py,sha256=BALTlzSdHYsQ83s9XhHKo9Ub6CQGWeOqGF4SphXEDps,1864
23
24
  msprobe/core/common/parallel_state.py,sha256=WUfPtp4tfiV1E_oVkmQF2FZxO-sTgJtOsvDdSn4mdvY,8305
24
25
  msprobe/core/common/runtime.py,sha256=KpPoWIvIWSGjD-xnldxtZQXcEB6Ip2qj1hVIcZG4tWg,844
25
- msprobe/core/common/utils.py,sha256=61jEE4OaB9UZvPa0EYQefzYAwi4YM201eYthjppFM4c,26892
26
+ msprobe/core/common/utils.py,sha256=v4qYIn833GCdcfjICpiEq4Keuc88IOEugNvwUyhIDI0,27410
26
27
  msprobe/core/compare/acc_compare.py,sha256=M_Ie7Xtc8stbKNFVKZsLlp7R3i0RIu95vqzXYbX5sE0,38484
27
28
  msprobe/core/compare/check.py,sha256=L4sq90oXdNfqiM7BzxsCXU6zD55K1-0zjFTDKwII9Y0,4384
28
29
  msprobe/core/compare/compare_cli.py,sha256=B0WoZVAnWCKRAyRwDkYIKgIsTbKc4HA_8I8m2McO_OU,6940
29
30
  msprobe/core/compare/config.py,sha256=gJDqxYUqNzik08PjiUGFth_cIHvClV-gqjM-7f2GLjY,2997
30
- msprobe/core/compare/highlight.py,sha256=CimR-NwEn69UNNIRj1tk88SChyWkwGwpAONDAbS3KwE,18219
31
+ msprobe/core/compare/highlight.py,sha256=iNgkVAUSfJlxKt0NC8A78XpWI5aNqJrxyCRWYVG2L58,18491
31
32
  msprobe/core/compare/ms_to_pt_api.yaml,sha256=NGzy6_yIArM6V0zYsW3sg3KLMJe0sr9ljKiIcHujJus,13203
32
- msprobe/core/compare/multiprocessing_compute.py,sha256=C0T9k6AdPDaDsSPeCipcfg08LpeNmvL9BpMgB-LsqC0,14075
33
+ msprobe/core/compare/multiprocessing_compute.py,sha256=Yy7eNUyP4u9HHn7BLAK6F0FddR1JkY01qUNllPI30yE,14262
33
34
  msprobe/core/compare/npy_compare.py,sha256=aCylTUJuLUEsqqm-KySnY24egh5b36rTFh_dXfaJx84,12712
34
- msprobe/core/compare/utils.py,sha256=JfLvnpl7_HIPBVhiTLtIf2U9FWR8eZ2xt82grMftTRI,35180
35
+ msprobe/core/compare/utils.py,sha256=8vWFoqgqBY8XRc7eDOX2Lzaln26aPmaLF8Vs_xBQovk,35416
35
36
  msprobe/core/compare/diff_analyze/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
37
  msprobe/core/compare/diff_analyze/diff_analyze_threshold.yaml,sha256=77K_1RM8ICVuDSNVTFIRdeBu15HyzR2Kw9YjhHaoaT0,193
37
- msprobe/core/compare/diff_analyze/first_diff_analyze.py,sha256=zXfaVYuMwA-y0upjQaycuQ2Q7dc2kqH8kAgWcWqXkVs,4755
38
+ msprobe/core/compare/diff_analyze/first_diff_analyze.py,sha256=806wUTMhtfgzCH_Kbx4iZcJempzMjK26KcfS-R2F4Oo,5373
39
+ msprobe/core/compare/diff_analyze/ignore_op_list.yaml,sha256=OOTJqiUqvMxH1O4jD9zXIz88Tg4U9XOa1gJp_MuvYYs,33
38
40
  msprobe/core/compare/find_first/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- msprobe/core/compare/find_first/analyzer.py,sha256=sCJ5pr-OSlAsDsKM-tx7WCs2tT28LT78Q9QaFJOt6BY,12679
41
+ msprobe/core/compare/find_first/analyzer.py,sha256=pfvg4wvgdFT0KdtdiTRYhqihTBTWMaer1Q_h0rAxq1M,12803
40
42
  msprobe/core/compare/find_first/data_processor.py,sha256=C286RlYVHH_2BzFxLHni7C2V4Z3tJJ9L4ZQhMGtxqMA,1485
41
- msprobe/core/compare/find_first/graph.py,sha256=xYE0WPxt0TihEDZIneRaExP6M9ykI3NaSpgm9WwOW3c,7628
42
- msprobe/core/compare/find_first/utils.py,sha256=__BtGvEAhvxEG817SWKKEdrMdL6OAuthmds-H3OG468,6954
43
+ msprobe/core/compare/find_first/graph.py,sha256=2TaXfRUl8YLXM0wosdgz8nwNz5OxQ7gpmdfZWJ7JyG0,8024
44
+ msprobe/core/compare/find_first/utils.py,sha256=awFmw4BDzbIHMG9fx8mJn9orBET3ofd1KJiXjHR9Cn0,6979
43
45
  msprobe/core/compare/layer_mapping/__init__.py,sha256=MLMlb-zcaZCmG7Ykh6cY28kBTw-3_waNBRKbajwQc74,776
44
46
  msprobe/core/compare/layer_mapping/data_scope_parser.py,sha256=WU9nelUpbkPa7RH_G3QAHRUhiWSHQ7Bt7TTMGFy51eM,9429
45
47
  msprobe/core/compare/layer_mapping/layer_mapping.py,sha256=h6E6V0Kyb-Z_-7FCGHH8Qiqj1KopVO0c_8zeDvqiCrU,10586
@@ -68,13 +70,13 @@ msprobe/core/config_check/resource/hyperparameter.yaml,sha256=u7Hk3MutcR29O11BOO
68
70
  msprobe/core/config_check/utils/hyperparameter_parser.py,sha256=vv-y7tDS8kMiTt8f248gHjiXTRzdsrfN5rNw7m1AYq0,4627
69
71
  msprobe/core/config_check/utils/utils.py,sha256=QWsgM5GccU0aJuKkj0AFMpH7jo0lbWJdBdQ8vdeyQTw,3836
70
72
  msprobe/core/data_dump/api_registry.py,sha256=698hHOHyzqzO0wv80aZYjLAC0UZvFOq2ZZMKPDumdRw,11961
71
- msprobe/core/data_dump/data_collector.py,sha256=38rAud6F9jbaNU-uWLOMjHcUvPpJVFW6DpD8xboiY4w,15866
72
- msprobe/core/data_dump/json_writer.py,sha256=NzMjmo0hQ_80KwhmDZovsYYMbciPH7yRr3NKvu0HasQ,14075
73
- msprobe/core/data_dump/scope.py,sha256=VWn2G8m5f_zVraqTHshDDaRHD0eJhR-5hRoebOoJLF8,9897
73
+ msprobe/core/data_dump/data_collector.py,sha256=jDHaepyZy_MpqLhR96EFA85YjzrhYDwxKH3sdkMaxcI,15995
74
+ msprobe/core/data_dump/json_writer.py,sha256=NeSRE9r1hLlh5FuoIFBwt8TH03NjxAKWvuyuosWfvRE,14434
75
+ msprobe/core/data_dump/scope.py,sha256=gcCmykBS7CTe9u6icxoHh8nA9Bd5R9HIEkQghBESUfI,9831
74
76
  msprobe/core/data_dump/data_processor/base.py,sha256=zvhY6Q29kdUU4FsGA7BynmPsPQiUaG-3MRrBMJfdMIo,20084
75
77
  msprobe/core/data_dump/data_processor/factory.py,sha256=onl0M8URU8Tjuw6mMdAHEwg2G-kL1fWXb8vPP5lmH_Y,4381
76
78
  msprobe/core/data_dump/data_processor/mindspore_processor.py,sha256=aYQ7IG5J4lef2EQaqsvDUDWCxv4ExRRYTvxzsmyXIfU,16170
77
- msprobe/core/data_dump/data_processor/pytorch_processor.py,sha256=ZB5PtfMzUREK_GA-bY2sExuLrx6XVMV8wbfEX1FeZHQ,29162
79
+ msprobe/core/data_dump/data_processor/pytorch_processor.py,sha256=T-CCY7YW4EE41cPp5fDmMaYEcRybeEwiX6NyjzcJCAo,30451
78
80
  msprobe/core/debugger/precision_debugger.py,sha256=uoa399leYa0DtHmM2kH1Vi3br-3ikly2EHkXRZkVhSA,5911
79
81
  msprobe/core/grad_probe/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
82
  msprobe/core/grad_probe/constant.py,sha256=VjKIJU5NuVWB9K63_LaND2LeQgDxLNg_kg8w63K9Ero,2323
@@ -94,33 +96,33 @@ msprobe/core/overflow_check/ignore_rules.yaml,sha256=3k5HEKgF7_LtTexRk19AT1UZQ99
94
96
  msprobe/core/overflow_check/level.py,sha256=0w-X2zVshf4I_2qECXm4uz6LqkhY5NFyCdZYU0pC62U,741
95
97
  msprobe/core/overflow_check/utils.py,sha256=1j5p2qWBOmOoat1v_Zi8krLOWz2NMCdUjrnD03AWTK8,991
96
98
  msprobe/core/single_save/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
- msprobe/core/single_save/single_comparator.py,sha256=5JeLO2QeoG4gGRoQvZL1MoT_nBaPZ8Bb1XtO9DUiIYk,10068
99
+ msprobe/core/single_save/single_comparator.py,sha256=faYvqjvZNpA0GrtpI5pXTYOlvV8x5toKFdKVv5Nzk60,10827
98
100
  msprobe/core/single_save/single_saver.py,sha256=IVS7fsG5CWmZNCeUenNwtVxhAmpIWSYHK7az2NpZ678,5562
99
- msprobe/docs/01.installation.md,sha256=Fa1wyUj0V3iK1x8quyloELC2EFXEQQWhkUsnJ5URzV8,10462
101
+ msprobe/docs/01.installation.md,sha256=QmJlZPTVzoC1h9Ikgg7nB_u7Ay16Aoi9ZwiirC5mfdc,10845
100
102
  msprobe/docs/02.config_introduction.md,sha256=zUgDHk7WkfZkQZ2QdFv1DIdcN62i18fe1AR1zf6BHP0,32190
101
103
  msprobe/docs/03.config_examples.md,sha256=lHv_HLaCxk1nlSPIUF7wQVO0RR6_Q5b9XrSp96fr1FE,4408
102
- msprobe/docs/04.kernel_dump_PyTorch.md,sha256=Hlc0JFUiVIPgG7bmVkLvJBkoThGE8hGXhh3VzAP09GY,3032
104
+ msprobe/docs/04.kernel_dump_PyTorch.md,sha256=1qXNBrdkO2r8FJjHObr1r2XGy7gIzhvZ3DWC0JjDPng,3034
103
105
  msprobe/docs/05.data_dump_PyTorch.md,sha256=0ZLkESAFa_HBlo8nndc7cWXQ0O1l7BuNCCy7eARTcm8,22242
104
- msprobe/docs/06.data_dump_MindSpore.md,sha256=gr-4H0-pw4hAiZ5JCz6PwDeKtvuu75-vcs9H-vOhVV4,29330
106
+ msprobe/docs/06.data_dump_MindSpore.md,sha256=pweNRLRxNy1cu8h5cgmEf9auOBuKN3-Ezen5Et7a1s8,29284
105
107
  msprobe/docs/07.accuracy_checker_PyTorch.md,sha256=tLHA1eD0ldNv_4uQKArN-HzKcPdQbQighhK9VKuhuxQ,30993
106
108
  msprobe/docs/09.accuracy_checker_MindSpore.md,sha256=XKEnEgqPJKZxL7JL3evZeIAa_LbMh8DR7sILqJ1camw,11320
107
- msprobe/docs/10.accuracy_compare_PyTorch.md,sha256=n23h9zQDCHBkqZgE_lVOJVHeOtw3hgFpx38uMMrGKgw,40693
109
+ msprobe/docs/10.accuracy_compare_PyTorch.md,sha256=3H_fHJBMRweqAxEOT6trHSQPAMjP3xD9G3T_PIJPtVY,41611
108
110
  msprobe/docs/11.accuracy_compare_MindSpore.md,sha256=9zalk8EiYA_ex5kkiGEIn8yaNygLmJPplUoUEPs-C5w,40792
109
111
  msprobe/docs/12.overflow_check_PyTorch.md,sha256=VE76J_rFAFm0pw_bQEnKIV4FdXek4x7cenxTQQz2FK0,3793
110
112
  msprobe/docs/13.overflow_check_MindSpore.md,sha256=G67GjHo2VERAKsr1_uX0m67eNuG8E9aN6tmZiO1c_zg,2799
111
- msprobe/docs/14.data_parse_PyTorch.md,sha256=gcCQVj93mPJ3gHh3Za-S92G7BHWNhMO1aUN-f_xiWUI,19177
113
+ msprobe/docs/14.data_parse_PyTorch.md,sha256=g1Hx3RFG7SIYTpTI2uySZjDIXwsF7LhVVghvITSp0L0,19125
112
114
  msprobe/docs/15.free_benchmarking_PyTorch.md,sha256=Dh4j8OKAqvMdNg4P7JPJnvbIrtLjku841HT_V5OrSTs,9732
113
115
  msprobe/docs/16.free_benchmarking_MindSpore.md,sha256=swCOrnBSzU6Q5I0AHVwi2r0JfKp3VE1DgNHripyE01M,8195
114
116
  msprobe/docs/17.grad_probe.md,sha256=9g1aq6FettgpvzBxKj5C5W8bTsENPtt2itYaNOLcBk8,9624
115
117
  msprobe/docs/18.online_dispatch.md,sha256=Ae9ONIXF3wA2u0tikuDxV0nea_n5TIGug-PKTI9c7Ws,4170
116
- msprobe/docs/19.monitor.md,sha256=MkLnpChnqJqfJ1nvGJQalVkXQB51W93vlKfgrIm2jU0,57100
118
+ msprobe/docs/19.monitor.md,sha256=ogaecwFA5vpEyEEKuXaWmbaoClnPdtRedYhntppTAYo,57192
117
119
  msprobe/docs/20.monitor_performance_baseline.md,sha256=t-aM1s7BqEE8ls47gL1wmipkhdmB6CSPI90-r4abyXY,3672
118
- msprobe/docs/21.visualization_PyTorch.md,sha256=9vy24bUv97X4V1c74Qa5hcMQkjbsqxKSdfurFCMkPW4,31252
119
- msprobe/docs/22.visualization_MindSpore.md,sha256=UacxgMwspaGEJjLseYiTu3NCcyyhKYr7zeosd7DudKU,32346
120
- msprobe/docs/23.generate_operator_PyTorch.md,sha256=ADuh3yWwq8XF3jBGFad30_0nfvX6ULkoMLlaSt6GZbE,10287
120
+ msprobe/docs/21.visualization_PyTorch.md,sha256=Mds0wPfD9XjNJstj-SZshhpFvUFYjh7ZZ-Zpefo3K4E,27666
121
+ msprobe/docs/22.visualization_MindSpore.md,sha256=jtMgasjacyNEevhmrMT5Y8IOsAgEuDzBN7vvZYBJl7s,26605
122
+ msprobe/docs/23.generate_operator_PyTorch.md,sha256=Tu_Jik6zWBIdf2ePOBeUAKnPMFnwcNdw1cuZg-Jfxbc,10289
121
123
  msprobe/docs/24.code_mapping_Mindspore.md,sha256=pFGY7uvNnaBqUDLQBDEay0In04nrpP2mFCzYfYYQEcs,2068
122
124
  msprobe/docs/25.tool_function_introduction.md,sha256=tqXbsW1xTbVBgke5bDd0B5NFxVGXmyqQkr63b9AtdFY,15668
123
- msprobe/docs/26.data_dump_PyTorch_baseline.md,sha256=w4vVI7q0UVWEI3cJ45GQKxv6uYLGB7Fy2UWXe2mWS28,2391
125
+ msprobe/docs/26.data_dump_PyTorch_baseline.md,sha256=nzBpiCcgvnuKKDD0CTS4k-htVnT45GFMG_rZH31NcLs,2554
124
126
  msprobe/docs/27.dump_json_instruction.md,sha256=YW6q4U0ccoFwax_fZ5Gqr1CQo5PFlKaxr9S-4ocycZs,21025
125
127
  msprobe/docs/28.debugger_save_instruction.md,sha256=pxvLlc2GmR8tmapZ8IKZyIFGwt1tEKXU4jy8Ao4MwrI,10173
126
128
  msprobe/docs/28.kernel_dump_MindSpore.md,sha256=USVxSPdhuaiw6dlWGu02GVNMXgaryHzy9dQPBUd1FfE,2540
@@ -180,14 +182,14 @@ msprobe/docs/img/visualization/fuzzy_match_pt.png,sha256=uAFmJk5bgvlLswZjWCoEfnE
180
182
  msprobe/docs/img/visualization/proxy.png,sha256=Dd0W2uU9WhYdcEaUgAbnRDiKJoOUe6_IO_O-sQwGK74,17281
181
183
  msprobe/docs/img/visualization/tensorboard_1.png,sha256=t3mafHzjcUHZbwJhbnri42B3mfoygLjaBIpli9KFLZg,8651
182
184
  msprobe/docs/img/visualization/tensorboard_2.png,sha256=JwT9kHNG8seJqj8IVu4FH5EZAAERAuePH8HgczrjGzA,14935
183
- msprobe/docs/img/visualization/vis_browser_1.png,sha256=lfTuyhFQn135sHXKwO6FB33upHooR-De8Sac_hrd6I0,88875
185
+ msprobe/docs/img/visualization/vis_browser_1.png,sha256=62iu8PtjTCQLA74pLSwxtNsW4qgWyEQ8U9QG9ZFW2Uw,40816
184
186
  msprobe/docs/img/visualization/vis_browser_2.png,sha256=XGqiEwa6tlvLj11_4h6yGOWvuFnoXIvJxmeChFYbEpI,83952
185
- msprobe/docs/img/visualization/vis_match_info.png,sha256=ft0tkhC-IhQ3ptcdwpi1xD7wllJz6MMs-gk9JXs9kMc,251498
186
- msprobe/docs/img/visualization/vis_precision_info.png,sha256=x2uz5Vlvvvocu0vQiPCGNF7kBCCdCBe8I3-ZDadHbyA,321979
187
- msprobe/docs/img/visualization/vis_search_info.png,sha256=zOKY8WX2J-pUp9xnfRZsJV-hoM4-kSuKSq32eKTKxqo,260634
188
- msprobe/docs/img/visualization/vis_show_info.png,sha256=G5K9ECgXsk7ye9qnZhrwXjCxIwetp6tmY_ZzuYPVWxQ,243759
189
- msprobe/docs/img/visualization/vis_showcase.png,sha256=XZczT2-2YA_EFZyuqo0XUWIREpUf82N_oIniMaMBArw,375711
190
- msprobe/docs/img/visualization/vis_unmatch_info.png,sha256=lumjHMTFLJNE6bMv-wM--r9n-EdTf14hVNHVp8ta9Gw,196671
187
+ msprobe/docs/img/visualization/vis_match_info.png,sha256=2IS9UOUbQESWGgd6G1R1C0kLQwbBaQJGxBzPOFrMFP8,311941
188
+ msprobe/docs/img/visualization/vis_precision_info.png,sha256=4jI4jU3rssOxlP7-htGUlszK9ZCOVOU8z63TE0xFZ1U,473337
189
+ msprobe/docs/img/visualization/vis_search_info.png,sha256=BwGYAhAwBJ9iVBLAfz3RB0Na-AZODTJq6Xv1gnTPzi4,309104
190
+ msprobe/docs/img/visualization/vis_show_info.png,sha256=txJmK-r0vvPNc44n6oCbGmES4_vJEwv-nWVzWzpVTus,511404
191
+ msprobe/docs/img/visualization/vis_showcase.png,sha256=m-D-kv2DmJQrmUB_kKj9jz5yaMklaUZclh7muIozCq4,466214
192
+ msprobe/docs/img/visualization/vis_unmatch_info.png,sha256=hjBtJbh1ar7ojtGCKQCKpQM8vUtMWvPIhMClP_diSbE,262408
191
193
  msprobe/docs/visualization/GPTModel.png,sha256=__6n1yc6R9WwEp2Ba994pk25FVcO6LcOdKJM_9_l_8w,183182
192
194
  msprobe/docs/visualization/ParallelMLP.png,sha256=H9o5Hbm5ScOHUaCYrkhRdHJJvwDHgJQNbc0Cz0su4rU,127774
193
195
  msprobe/docs/visualization/layer_mapping_example.md,sha256=UhZbOIoP91GgvlH3dIOoRmm0flIaU4kAoluiKTcxJns,7357
@@ -214,12 +216,12 @@ msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed-mm-qwen25vl.txt
214
216
  msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed1.png,sha256=zUS_JFsQQw-U34FVIwdJyU0TQmuqfV3dzfZkJtDWFx4,102369
215
217
  msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed2.png,sha256=Qgwv7TISEkyjoRB6mxMfXUr0_VgOCcp5Tukw54dV4X4,176092
216
218
  msprobe/mindspore/__init__.py,sha256=6n1VtjPygBusuLHeMOeCrhFyEY33O1dgx4K0REqlLf8,1175
217
- msprobe/mindspore/cell_processor.py,sha256=DB495Kj4oC4Nlo-vfS6UpF9QxuithSj35H717Z6kpd0,12877
219
+ msprobe/mindspore/cell_processor.py,sha256=AFuWG_aXk10_BFtg8YxgDNy2qwxfXzs6AG4Pv0BkPlw,14410
218
220
  msprobe/mindspore/mindspore_service.py,sha256=V9H9XQC7ljSpelXLvCUxLHDKlF87_s9a4LWk3qbf6Ko,4650
219
221
  msprobe/mindspore/ms_config.py,sha256=QJWpgruE4x3b51zcGBwuwmVK2KaZjALQw_UyChear4A,6439
220
222
  msprobe/mindspore/task_handler_factory.py,sha256=eP8lFLvwzAtmdqxJ-LLye1G5F_vCQZcU1jaSZo5E4H0,1833
221
223
  msprobe/mindspore/api_accuracy_checker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
- msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py,sha256=-lddP7qbdQoEtXfnZue6CgXmKPax0aJU0YbrqEw-JQw,20499
224
+ msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py,sha256=fjN3QQWbOsCAb_lj0IOqIPDmb3PbluKLYZs-R6qcvjo,20481
223
225
  msprobe/mindspore/api_accuracy_checker/api_info.py,sha256=XrHmU-22BOpYObX999NOOPzW7h0wCM5KW89-bZpVBYc,4858
224
226
  msprobe/mindspore/api_accuracy_checker/api_runner.py,sha256=91XYXaKtQb4wC4EOiyMqOyQfhVERmtsloPG-yiNn5rY,13252
225
227
  msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py,sha256=MMe1vEpHO1PWS7Wiz4Zze__CFsPwxGPrLSbCU7KZo_o,8470
@@ -247,26 +249,26 @@ msprobe/mindspore/code_mapping/processor.py,sha256=o-YQyl90NPCpoex3iWbNMGHiWTuqL
247
249
  msprobe/mindspore/common/const.py,sha256=6FGrfTASq4yi-SyA3MYE3dOmy-U_GkfmylWfWMIG9-4,5984
248
250
  msprobe/mindspore/common/log.py,sha256=b-XZiXylAOK85DH3leCGC0zbxTBRIVTokLOYQAyHCII,1127
249
251
  msprobe/mindspore/common/utils.py,sha256=Zm1NU3pK_roiP9tVqeBwYesHKmLQjFNn1O4CpI3eEtw,13644
250
- msprobe/mindspore/compare/common_dir_compare.py,sha256=00I5kdc05fqaK8lB-QqBWKgNp8t2Y2Pntfuty2Hiuxs,16590
252
+ msprobe/mindspore/compare/common_dir_compare.py,sha256=1vRos0zyadCmJefBjsvqVw5XgBZUtZDIafEwXRMFcc0,16375
251
253
  msprobe/mindspore/compare/distributed_compare.py,sha256=H8zdjBBFyifyl3Nx21jtdoma6qN1duclPsJaArpAW1s,1556
252
254
  msprobe/mindspore/compare/ms_compare.py,sha256=yXs8wutN8fm_tcP39NQmNP5skai2CwfQScRhTTiUsM0,2237
253
255
  msprobe/mindspore/compare/ms_graph_compare.py,sha256=qph-gpAY0l5ApvQZ_xmq0SbUDVsuD8PtnD0jS7b6yRA,19949
254
256
  msprobe/mindspore/compare/utils.py,sha256=dNoyXNP7K5U68__flBLunmGVtog0OO21MP6aerpcwhI,1742
255
257
  msprobe/mindspore/debugger/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
256
258
  msprobe/mindspore/debugger/debugger_config.py,sha256=7DQ-g8KBOECCNXzsxvAqUU0ivCAsOcpduC6SUGs2JD0,8544
257
- msprobe/mindspore/debugger/precision_debugger.py,sha256=RVDWclAcixXc3mOH0Tuc2iYJBuAEg-3mXdJY8-Ds4sM,10023
259
+ msprobe/mindspore/debugger/precision_debugger.py,sha256=cTYWXfsZd4QbPvTqbSPkrWr7QSrMJvEgmHOz-W8fpQQ,10092
258
260
  msprobe/mindspore/dump/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
259
- msprobe/mindspore/dump/cell_dump_process.py,sha256=egHZO5tdYFTzgu7Zpfh1Efrm3kxuF_8B_jRAo3oH7io,36529
261
+ msprobe/mindspore/dump/cell_dump_process.py,sha256=nXi-2KSGaka33UTMWeilOattUptVIxrZh0XESv2vAAo,36588
260
262
  msprobe/mindspore/dump/cell_dump_with_insert_gradient.py,sha256=KexuN-HeWGSaz4G67tLnPIzYlf94_KjrwwXncQ2MQMo,34196
261
263
  msprobe/mindspore/dump/dump_tool_factory.py,sha256=zPmqjxXm6rDczzMal4h3bZSYc_F_HeQ2g4eu7656e3g,2818
262
- msprobe/mindspore/dump/graph_mode_cell_dump.py,sha256=2oY3PhYDu-feQCJBCdeiovsgthV0Htjcgzvvclwisxc,6054
264
+ msprobe/mindspore/dump/graph_mode_cell_dump.py,sha256=0JOh_WrQut16VATcJvES16uahUIHUCIh8XSeHpMnuKM,6710
263
265
  msprobe/mindspore/dump/graph_tensor_dump.py,sha256=2JPcnJX9RO4KEOGRuEwAw04M4AfMfBZKZGxSeJHYk2U,4050
264
266
  msprobe/mindspore/dump/jit_dump.py,sha256=yhVhIMkUqrgYRn3XjIByYqJa5lkVDXkHoQiv3KDRzFA,5069
265
267
  msprobe/mindspore/dump/kernel_graph_dump.py,sha256=DcQMwdGZeLU0WQ-ppOBzssZn8XFcpmRmY323vkjDGr0,3905
266
268
  msprobe/mindspore/dump/kernel_kbyk_dump.py,sha256=frxdq1ESUjL_t3anGo-FIkMN3iqgGC6o5djtAvm9jJA,4329
267
269
  msprobe/mindspore/dump/hook_cell/api_register.py,sha256=Ho6k9JlDYzO2fG5a2UuQuZDuIdLem_aNUw29TGmjHsE,6625
268
270
  msprobe/mindspore/dump/hook_cell/hook_cell.py,sha256=Zi7nePD01R5YwPkKenbuI1si0qChMk-Ir8gcFYuun3w,2276
269
- msprobe/mindspore/dump/hook_cell/ms_hook_manager.py,sha256=obh8X_Cm4-arbB9Kd8UrqRKUVIyAiAWWL_pCdm3tWEc,8509
271
+ msprobe/mindspore/dump/hook_cell/ms_hook_manager.py,sha256=vHFpQH6IqBHMxSUAQt_5seRkRo-Su4EhLDl1bdEPlC8,8621
270
272
  msprobe/mindspore/dump/hook_cell/primitive_hooks.py,sha256=wwAboRuFjgmA0ZdsC1WI_ZkYfrC30QTO-HVhvEWOWIo,11166
271
273
  msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml,sha256=1We_gQvBk66-WEkijwAOJRj8NGUyA8Kg4X6T4PJdgjo,13834
272
274
  msprobe/mindspore/dym_loader/hook_dynamic_loader.cpp,sha256=MLmTtuPnE6h2aS9KmfPNbaE-0QglEuAi10Z0DwZzpSM,3281
@@ -387,14 +389,14 @@ msprobe/pytorch/compare/mapping.yaml,sha256=Udlbf1dWDAdnTs8VcDTiSkqsMNj93o2qFUU2
387
389
  msprobe/pytorch/compare/match.py,sha256=j6ydfhs9zNMu6vzxsp_qMei-7-zDMuPO8Uj9i_OIhSA,1886
388
390
  msprobe/pytorch/compare/pt_compare.py,sha256=wUsLvx4lVPy3SbAeadO5Uw7kjDQhDJ7ZMx0UgBEFH38,2013
389
391
  msprobe/pytorch/compare/pt_diff_analyze.py,sha256=KG_7Diri1Nrl64FigVvAjMekSZ9SMWy3BqtqMpP75xE,893
390
- msprobe/pytorch/compare/utils.py,sha256=8wr-n_x-x_Qh2kRCKN9B3Upj2y4crUj1qKMu3-gtMoE,1891
392
+ msprobe/pytorch/compare/utils.py,sha256=4F-CphKurzxAlMJezF-ELw5l-PFr8ZWPAB-htTc225g,1959
391
393
  msprobe/pytorch/debugger/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
392
394
  msprobe/pytorch/debugger/debugger_config.py,sha256=jP_xdwF1zV2YbvTrI8dB2PM1PQD0YGPOFSB9cIq_x1E,7993
393
395
  msprobe/pytorch/debugger/precision_debugger.py,sha256=pKAFBu1MIgG4sM27unnRRJolyj6eFpgs1O4JLKxaUTo,6718
394
396
  msprobe/pytorch/dump/module_dump/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
395
- msprobe/pytorch/dump/module_dump/hook_wrapper.py,sha256=tKH81En16EAJ30jnzZUSBxNOKfM7M3ahXe8ZKIeDPT8,3530
397
+ msprobe/pytorch/dump/module_dump/hook_wrapper.py,sha256=0L8c2gYv0V8KHiNttYZMpAhSSxFtCuDaR_yFdWMoChs,3746
396
398
  msprobe/pytorch/dump/module_dump/module_dump.py,sha256=yHKVkDaxayrbanUkxc8Wo7crHc1KNPQAXpLFpbcybjY,1767
397
- msprobe/pytorch/dump/module_dump/module_processer.py,sha256=mI6YTv1Y-l_s3Jm_kt_lRK2C107JPIrKS9bUMnQV4lg,12968
399
+ msprobe/pytorch/dump/module_dump/module_processer.py,sha256=N-FPVJGEDYJM-59fAqrc5NssIRwtQ2yiU_HFqrY6zvI,13756
398
400
  msprobe/pytorch/free_benchmark/__init__.py,sha256=N2xdPic80U-Rl1B_6c8j09EMuU5Xn0knJjgmKQ5uiXQ,904
399
401
  msprobe/pytorch/free_benchmark/main.py,sha256=n-Q55NNoI0o7jhyhAUri68Fq-kyBa9xNLh5az5zBbaY,4802
400
402
  msprobe/pytorch/free_benchmark/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -438,7 +440,7 @@ msprobe/pytorch/monitor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
438
440
  msprobe/pytorch/monitor/csv2tb.py,sha256=OCsOtZ6G423Gu-WicF0eWijGeJ6TFY9Zefe-3SlAVI0,6557
439
441
  msprobe/pytorch/monitor/data_writers.py,sha256=ieJTuN7hSzusUqq-Pi251Xwtq1B6iwnIkmpuNIDq41w,9713
440
442
  msprobe/pytorch/monitor/features.py,sha256=BShZU-f5oQLc4zIfoRax_JHVMv79-hN18RS1at40IyY,6281
441
- msprobe/pytorch/monitor/module_hook.py,sha256=4_1mXq6xwOXaHQc5_xCoiL2n4X0EflKoATKl5iPAkw8,58582
443
+ msprobe/pytorch/monitor/module_hook.py,sha256=loTsPucohyS6w0tHtRoenq-XpErBFPafQ5CH2qNpU38,59817
442
444
  msprobe/pytorch/monitor/module_metric.py,sha256=khxcepVffT0B7pvI0c80NCOFMwxX23tLimElyJ3Rls0,6328
443
445
  msprobe/pytorch/monitor/optimizer_collect.py,sha256=-ai9XAXP4gTsuTQ3cecVZySWS8Zb3PABuxcJSm9XGPw,19947
444
446
  msprobe/pytorch/monitor/utils.py,sha256=uBSJfpYRbi3YJRy0fHyIoY3bAnmIRF2kErdvZ1R2HSo,1641
@@ -449,7 +451,7 @@ msprobe/pytorch/monitor/distributed/stack_blacklist.yaml,sha256=P2S9zXxTPuZnc3Dk
449
451
  msprobe/pytorch/monitor/distributed/wrap_distributed.py,sha256=uhLzBF4b5vMR3oaxO03-vvIZXGpqBq7uLfWtWKFEn70,9655
450
452
  msprobe/pytorch/online_dispatch/__init__.py,sha256=tYY6RCiZxPfhhNtdR2pum0VYLdDzQwYYNBatM7oRIwM,733
451
453
  msprobe/pytorch/online_dispatch/compare.py,sha256=G5WB4h9KKByf3dxh1RAczaxKtbMLtDHsrXn-d1Su1kc,10247
452
- msprobe/pytorch/online_dispatch/dispatch.py,sha256=eH18UJ7WbtQ0tWhUvJTlNUYrYFmLUe5OCC79kJngbTE,14287
454
+ msprobe/pytorch/online_dispatch/dispatch.py,sha256=vOoEajer7nXw8ofAbgA0-p1WHEnzs0wVpaBgzCl-LwQ,15169
453
455
  msprobe/pytorch/online_dispatch/dump_compare.py,sha256=oTiAqAe9egksWEffnk-E6I2XUxGk1CtS0wbuitgXSng,6906
454
456
  msprobe/pytorch/online_dispatch/single_compare.py,sha256=EdP9sbxuZEFmKSUbXyL-89LOQTECkqFoNPeHp0GXcSQ,17437
455
457
  msprobe/pytorch/online_dispatch/torch_ops_config.yaml,sha256=nfPdtavR395pWZEypMayjE3VEB4SRsq1s2jEIjDXzlw,872
@@ -466,25 +468,25 @@ msprobe/pytorch/parse_tool/lib/parse_tool.py,sha256=nXX1b45o1AhpIR4oG1VpN56Jh02j
466
468
  msprobe/pytorch/parse_tool/lib/utils.py,sha256=c4tyO_QeeqdB5ysJKXcckfVshV5HuV9j7_Hr-a3cB6s,11718
467
469
  msprobe/pytorch/parse_tool/lib/visualization.py,sha256=_M1R4kiyc3zdxyoHRqFoxMEfm4klQtscXsOLBevWnEk,4071
468
470
  msprobe/visualization/__init__.py,sha256=rEvJTAx-jTGHBM7-bB6VZ7fwfWwYA961M1eZJj4sRcY,622
469
- msprobe/visualization/db_utils.py,sha256=LWQzEsCueraztXSV-rNv_Ny8Ae3Xvq1aASzux66XI0I,8664
470
- msprobe/visualization/graph_service.py,sha256=LE9d8X8C4hN4YbDwaMYOJxJ0x5OZqXhuJ4sOcwkAnyI,28148
471
+ msprobe/visualization/db_utils.py,sha256=GhazcnqNQ27n-kpfxcuW8nK83_uC336S3-C0zpoNZ2I,9449
472
+ msprobe/visualization/graph_service.py,sha256=_GfTbRtutN5Yk25cvV9kzD5kVWrgcHD5t6gkSbX5P5o,26302
471
473
  msprobe/visualization/utils.py,sha256=w40WEx16RrEh43h48KV2R1T48ydAZT08FNb6OUoB_3s,11899
472
474
  msprobe/visualization/builder/__init__.py,sha256=rEvJTAx-jTGHBM7-bB6VZ7fwfWwYA961M1eZJj4sRcY,622
473
- msprobe/visualization/builder/graph_builder.py,sha256=tBHp23Cy0iSa1XhtHyL4sO0jneKZ4XS3ajL892BJLCQ,15260
474
- msprobe/visualization/builder/graph_merger.py,sha256=ZdumNLnTJV13p4aLcOK4Ebu0valB0HDLzEdpqW0U_mI,50944
475
- msprobe/visualization/builder/msprobe_adapter.py,sha256=broJGxa2EDpvQNKhSxcnwVuWnTxoE93mwZtbu9HdjNM,9114
475
+ msprobe/visualization/builder/graph_builder.py,sha256=Sw3_weDDVJ5JT7Hs9YBNIH8xsGbIlbiLazl24IfZshk,20430
476
+ msprobe/visualization/builder/graph_merger.py,sha256=RbNJ8yFPwJDmMwtTRfccskqSxBGixzOsh6wRQ-LK_40,50849
477
+ msprobe/visualization/builder/msprobe_adapter.py,sha256=V-K90RqY02hmRJL_lxiyJjZIkwE-843hM1ruc6N2Wdc,9125
476
478
  msprobe/visualization/compare/__init__.py,sha256=vd0u6IEpGE1r-HC4CEhs3csiMaa0bxuFcHtyRlAX0kU,618
477
479
  msprobe/visualization/compare/graph_comparator.py,sha256=v1YbN5oIqcmnZZ7oZBJEH_EXen1Y9bvh9Itul7erb8o,10282
478
480
  msprobe/visualization/compare/mode_adapter.py,sha256=d7yjHzL1rwAg0E8RJRU0B0s7S90q4ZCxTex9EiHoyho,9839
479
481
  msprobe/visualization/graph/__init__.py,sha256=rEvJTAx-jTGHBM7-bB6VZ7fwfWwYA961M1eZJj4sRcY,622
480
- msprobe/visualization/graph/base_node.py,sha256=Y9kHGai_ZtckIXso3zfhf0bx2l_lm9FKWpKgQl8MwCA,4727
482
+ msprobe/visualization/graph/base_node.py,sha256=tai40AZ_0PXkpPgEQbnTAcf8K0XSMWfKkrnJF7VMrCc,3725
481
483
  msprobe/visualization/graph/distributed_analyzer.py,sha256=IVPaA6Z3uZxuOob7fibgc9zGFMjtC-LaqQBzaragWbw,19046
482
- msprobe/visualization/graph/graph.py,sha256=ZqmylVKyXjGTbZ83tQuzdWnrD-aXbx1Hz_AVTIEpgbU,8941
484
+ msprobe/visualization/graph/graph.py,sha256=5AokyZE1nGZD_grRJZL8_gmpH3zkns9WOeHyuc1r75g,8607
483
485
  msprobe/visualization/graph/node_colors.py,sha256=7LpurTuE3edKGilwLVsXD7Ue4bMT7Maz63Udq_6CADM,4504
484
486
  msprobe/visualization/graph/node_op.py,sha256=qkbw3ZJkKGQH071C1CLIXi4kavvsLxBTzt0KXncz6fY,1368
485
- mindstudio_probe-8.2.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
486
- mindstudio_probe-8.2.0.dist-info/METADATA,sha256=Bvf82Cyj2jRmG3lhikVtM-428jweYdSeE63JoZiNLBg,1435
487
- mindstudio_probe-8.2.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
488
- mindstudio_probe-8.2.0.dist-info/entry_points.txt,sha256=4ob3a9L018EBZFdlfgMW1lbgeIOhc4F-HCR8gBksaCQ,49
489
- mindstudio_probe-8.2.0.dist-info/top_level.txt,sha256=LxFEFqelENSyWmRtocCiEUF04IE8aZvwTl7ADB598Tk,8
490
- mindstudio_probe-8.2.0.dist-info/RECORD,,
487
+ mindstudio_probe-8.2.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
488
+ mindstudio_probe-8.2.1.dist-info/METADATA,sha256=mokGkctgy0FweYXTJ44Fs2qSncnlBKN7hod2hXFAzlY,1437
489
+ mindstudio_probe-8.2.1.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
490
+ mindstudio_probe-8.2.1.dist-info/entry_points.txt,sha256=4ob3a9L018EBZFdlfgMW1lbgeIOhc4F-HCR8gBksaCQ,49
491
+ mindstudio_probe-8.2.1.dist-info/top_level.txt,sha256=LxFEFqelENSyWmRtocCiEUF04IE8aZvwTl7ADB598Tk,8
492
+ mindstudio_probe-8.2.1.dist-info/RECORD,,
msprobe/README.md CHANGED
@@ -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