mindstudio-probe 1.2.1__py3-none-any.whl → 1.2.2__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.
- {mindstudio_probe-1.2.1.dist-info → mindstudio_probe-1.2.2.dist-info}/METADATA +1 -1
- {mindstudio_probe-1.2.1.dist-info → mindstudio_probe-1.2.2.dist-info}/RECORD +85 -66
- msprobe/README.md +2 -2
- msprobe/core/common/const.py +34 -9
- msprobe/core/common/inplace_ops.yaml +1 -0
- msprobe/core/common/utils.py +14 -0
- msprobe/core/compare/layer_mapping/data_scope_parser.py +1 -1
- msprobe/core/compare/merge_result/merge_result.py +8 -7
- msprobe/core/compare/merge_result/utils.py +81 -0
- msprobe/core/compare/utils.py +10 -0
- msprobe/core/data_dump/data_collector.py +58 -13
- msprobe/core/data_dump/data_processor/base.py +92 -8
- msprobe/core/data_dump/data_processor/factory.py +3 -0
- msprobe/core/data_dump/data_processor/mindspore_processor.py +17 -4
- msprobe/core/data_dump/data_processor/pytorch_processor.py +58 -7
- msprobe/core/data_dump/json_writer.py +26 -8
- msprobe/docs/01.installation.md +25 -0
- msprobe/docs/02.config_introduction.md +14 -12
- msprobe/docs/03.config_examples.md +24 -0
- msprobe/docs/05.data_dump_PyTorch.md +34 -15
- msprobe/docs/06.data_dump_MindSpore.md +45 -22
- msprobe/docs/09.accuracy_checker_MindSpore.md +4 -2
- msprobe/docs/19.monitor.md +257 -260
- msprobe/docs/21.visualization_PyTorch.md +10 -0
- msprobe/docs/22.visualization_MindSpore.md +11 -0
- msprobe/docs/27.dump_json_instruction.md +24 -20
- msprobe/docs/28.debugger_save_instruction.md +94 -0
- msprobe/docs/28.kernel_dump_MindSpore.md +69 -0
- msprobe/docs/img/monitor/step_count_per_record.png +0 -0
- msprobe/mindspore/__init__.py +1 -0
- msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +26 -6
- msprobe/mindspore/api_accuracy_checker/api_runner.py +54 -16
- msprobe/mindspore/api_accuracy_checker/compute_element.py +47 -1
- msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py +129 -0
- msprobe/mindspore/api_accuracy_checker/type_mapping.py +24 -1
- msprobe/mindspore/api_accuracy_checker/utils.py +6 -1
- msprobe/mindspore/common/utils.py +20 -2
- msprobe/mindspore/debugger/debugger_config.py +25 -2
- msprobe/mindspore/debugger/precision_debugger.py +25 -6
- msprobe/mindspore/dump/hook_cell/api_registry.py +2 -0
- msprobe/mindspore/dump/jit_dump.py +7 -6
- msprobe/mindspore/monitor/anomaly_detect.py +404 -0
- msprobe/mindspore/monitor/distributed/__init__.py +0 -0
- msprobe/mindspore/monitor/distributed/distributed_ops.yaml +15 -0
- msprobe/mindspore/monitor/distributed/stack_blacklist.yaml +5 -0
- msprobe/mindspore/monitor/distributed/wrap_distributed.py +300 -0
- msprobe/mindspore/monitor/features.py +63 -0
- msprobe/mindspore/monitor/module_hook.py +821 -0
- msprobe/mindspore/monitor/module_spec_verifier.py +94 -0
- msprobe/mindspore/monitor/utils.py +267 -0
- msprobe/mindspore/ms_config.py +8 -2
- msprobe/mindspore/service.py +95 -21
- msprobe/pytorch/__init__.py +0 -1
- msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py +1 -1
- msprobe/pytorch/bench_functions/apply_adam.py +215 -0
- msprobe/pytorch/bench_functions/group_norm_silu.py +27 -0
- msprobe/pytorch/bench_functions/mish.py +21 -0
- msprobe/pytorch/bench_functions/moe_gating_top_k_softmax.py +44 -0
- msprobe/pytorch/bench_functions/sort_v2.py +21 -0
- msprobe/pytorch/common/utils.py +71 -0
- msprobe/pytorch/debugger/debugger_config.py +19 -9
- msprobe/pytorch/debugger/precision_debugger.py +14 -0
- msprobe/pytorch/dump/module_dump/module_processer.py +10 -30
- msprobe/pytorch/function_factory.py +7 -1
- msprobe/pytorch/hook_module/support_wrap_ops.yaml +2 -1
- msprobe/pytorch/hook_module/wrap_distributed.py +4 -0
- msprobe/pytorch/monitor/anomaly_detect.py +14 -29
- msprobe/pytorch/monitor/csv2tb.py +10 -12
- msprobe/pytorch/monitor/module_hook.py +123 -104
- msprobe/pytorch/monitor/module_metric.py +6 -6
- msprobe/pytorch/monitor/optimizer_collect.py +45 -63
- msprobe/pytorch/monitor/utils.py +8 -43
- msprobe/pytorch/pt_config.py +19 -22
- msprobe/pytorch/service.py +103 -24
- msprobe/visualization/builder/graph_builder.py +31 -5
- msprobe/visualization/builder/msprobe_adapter.py +7 -5
- msprobe/visualization/graph/base_node.py +3 -2
- msprobe/visualization/graph/distributed_analyzer.py +80 -3
- msprobe/visualization/graph/node_op.py +4 -2
- msprobe/visualization/graph_service.py +3 -4
- msprobe/visualization/utils.py +10 -2
- {mindstudio_probe-1.2.1.dist-info → mindstudio_probe-1.2.2.dist-info}/LICENSE +0 -0
- {mindstudio_probe-1.2.1.dist-info → mindstudio_probe-1.2.2.dist-info}/WHEEL +0 -0
- {mindstudio_probe-1.2.1.dist-info → mindstudio_probe-1.2.2.dist-info}/entry_points.txt +0 -0
- {mindstudio_probe-1.2.1.dist-info → mindstudio_probe-1.2.2.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
msprobe/CMakeLists.txt,sha256=Cx_WsHVxbX2gWZ6Hxah2zYXz2eamSb4CgIlzKm9OQGA,125
|
|
2
|
-
msprobe/README.md,sha256=
|
|
2
|
+
msprobe/README.md,sha256=4m6s2yO_GPMOtQ-riYwHTBJbwoQfHJOhjzyABHxA2m8,7759
|
|
3
3
|
msprobe/__init__.py,sha256=q2S8b3VTSn1wTMrkf8Gm79OOq9EerMIK6Y26gFdu_0s,688
|
|
4
4
|
msprobe/config.json,sha256=QS37x2t0D-grehkpHLLxRAEZqOrkNe40GwwOaVMx3Yc,1061
|
|
5
5
|
msprobe/msprobe.py,sha256=NIt_qtxn3rdNgt4FJIXRk_gq4-dnVh98Sh6QnMlN-50,7143
|
|
@@ -8,33 +8,34 @@ msprobe/core/common_config.py,sha256=RZLr558VTs-l-R1MIZWA0LEw6uC2UOBe7veUoCyvqxs
|
|
|
8
8
|
msprobe/core/advisor/advisor.py,sha256=WP8rBF2F9pcSphZONJDgNfz9c6GiRxbkWwPS9wRU4Tc,5900
|
|
9
9
|
msprobe/core/advisor/advisor_const.py,sha256=thEEVYKPimv9WGxxaC4vBXQ-Coq6yBlZ394T_b49Ibw,2624
|
|
10
10
|
msprobe/core/advisor/advisor_result.py,sha256=yM78n6NXLP1bjTsGeSddwb1bWQwtg1ZqjnPHmTzVxHE,2359
|
|
11
|
-
msprobe/core/common/const.py,sha256=
|
|
11
|
+
msprobe/core/common/const.py,sha256=IlQMC-a0cZyvThnXvCuRxmpzfLGEvXbET696kvFXVyU,20727
|
|
12
12
|
msprobe/core/common/exceptions.py,sha256=pv1MxU5amB1dnCCmBJzF1WSQ8o4gC3FG9uAZ-qiug30,3942
|
|
13
13
|
msprobe/core/common/file_utils.py,sha256=eXXOdqq84G98V0dfLVaVMX75eQA6LZPqDKaApVp19Cc,25404
|
|
14
14
|
msprobe/core/common/inplace_op_checker.py,sha256=gwxpddOtPS2dRGbI2JB5ZixgoPLCYyDICb_07N9XVaM,1864
|
|
15
|
-
msprobe/core/common/inplace_ops.yaml,sha256=
|
|
15
|
+
msprobe/core/common/inplace_ops.yaml,sha256=Ta1zh6eF0A_Trd345gts2xlhFsU0-ZTXKEQOqUHT-54,3178
|
|
16
16
|
msprobe/core/common/log.py,sha256=6mvE2DQtIZ3X66y3pIi8RtMGlznXJaIlHWwKHxhMKGk,3173
|
|
17
|
-
msprobe/core/common/utils.py,sha256=
|
|
17
|
+
msprobe/core/common/utils.py,sha256=IdQeMjeUKhwZcBlU0m2wgGGTwHNGbFEiE9gepqALgns,19876
|
|
18
18
|
msprobe/core/compare/acc_compare.py,sha256=9Kyj8AMCoalKAW32clcgbCxd2v1TWL12c5jn7iT9ZYI,26851
|
|
19
19
|
msprobe/core/compare/check.py,sha256=ewU5EWKuR8z3PMcTUlQSD6Lycssuyq3TLjjLiulmc2I,7300
|
|
20
20
|
msprobe/core/compare/compare_cli.py,sha256=OHhHt-ojg0wVu-ZvNE54SAeWyibvB6yVFl1DDvauKmk,4061
|
|
21
21
|
msprobe/core/compare/highlight.py,sha256=EsA756Ab9NOsOYA2tuZiDvjKUjRQsd5mENe0C3GsJG0,18533
|
|
22
22
|
msprobe/core/compare/multiprocessing_compute.py,sha256=BRH01z56EtCEajEvTnaDKFgtenJ2jjkame2JK8dyW_w,6909
|
|
23
23
|
msprobe/core/compare/npy_compare.py,sha256=JWRZEtHwr9TcA-6xZ1xqbx6BTUE8I48vvjn6_0WJmOw,12312
|
|
24
|
-
msprobe/core/compare/utils.py,sha256=
|
|
24
|
+
msprobe/core/compare/utils.py,sha256=MeCxXjk5KoTlPeBgeCINm_fJaXK_sM_-frsKjRIc2rs,26050
|
|
25
25
|
msprobe/core/compare/layer_mapping/__init__.py,sha256=MLMlb-zcaZCmG7Ykh6cY28kBTw-3_waNBRKbajwQc74,776
|
|
26
|
-
msprobe/core/compare/layer_mapping/data_scope_parser.py,sha256=
|
|
26
|
+
msprobe/core/compare/layer_mapping/data_scope_parser.py,sha256=WU9nelUpbkPa7RH_G3QAHRUhiWSHQ7Bt7TTMGFy51eM,9429
|
|
27
27
|
msprobe/core/compare/layer_mapping/layer_mapping.py,sha256=7Fd1a76RwvuBU2olIz4x8FawwXlpEn_TZLXToDV_rPE,9992
|
|
28
28
|
msprobe/core/compare/layer_mapping/postprocess_pass.py,sha256=giIeDiGVjp0mBSWrCalCQt0-hwUsH1hDdEJ_d6cQCo8,3951
|
|
29
|
-
msprobe/core/compare/merge_result/merge_result.py,sha256=
|
|
29
|
+
msprobe/core/compare/merge_result/merge_result.py,sha256=2P34oz91O1J56yibfRN4B2Xg2ybt5qkUkE2XW-uGixo,15789
|
|
30
30
|
msprobe/core/compare/merge_result/merge_result_cli.py,sha256=QdQsaR6zp8SgE3thD1VXrlbkXF_slgN_pVf-7TNjlBs,1455
|
|
31
|
-
msprobe/core/
|
|
32
|
-
msprobe/core/data_dump/
|
|
31
|
+
msprobe/core/compare/merge_result/utils.py,sha256=z5YD34oLm9lxbRPQ74U2TzqMwmNOmKYr_NIihMQ1qpg,3523
|
|
32
|
+
msprobe/core/data_dump/data_collector.py,sha256=tcjP-PNEf5EZUJeSy_USMrlpqoU2MTVX_JTtSiEMOFY,10392
|
|
33
|
+
msprobe/core/data_dump/json_writer.py,sha256=Ug1zbQDbhUX2QPOVFwxLlHpy7JhUbjGr-F_E63hVNCg,6863
|
|
33
34
|
msprobe/core/data_dump/scope.py,sha256=VWn2G8m5f_zVraqTHshDDaRHD0eJhR-5hRoebOoJLF8,9897
|
|
34
|
-
msprobe/core/data_dump/data_processor/base.py,sha256=
|
|
35
|
-
msprobe/core/data_dump/data_processor/factory.py,sha256
|
|
36
|
-
msprobe/core/data_dump/data_processor/mindspore_processor.py,sha256=
|
|
37
|
-
msprobe/core/data_dump/data_processor/pytorch_processor.py,sha256=
|
|
35
|
+
msprobe/core/data_dump/data_processor/base.py,sha256=GCodvjBmVwqjNYYqE7DOTcbLKXPyCFw8YmY8P0DJgW0,19262
|
|
36
|
+
msprobe/core/data_dump/data_processor/factory.py,sha256=onl0M8URU8Tjuw6mMdAHEwg2G-kL1fWXb8vPP5lmH_Y,4381
|
|
37
|
+
msprobe/core/data_dump/data_processor/mindspore_processor.py,sha256=KHPAT8Hr8N3g9oVWnZjBhlW3zHjggldJDxNDP2PVtHY,14697
|
|
38
|
+
msprobe/core/data_dump/data_processor/pytorch_processor.py,sha256=G7Mw-7c3n0csixgs-icPx2ucOsqBDwhG46PkUbjf1HM,24437
|
|
38
39
|
msprobe/core/grad_probe/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
40
|
msprobe/core/grad_probe/constant.py,sha256=eS1IilPwNykxoXi8EvBXvG7_SfEnjWA9g7ca-RWqFBE,2292
|
|
40
41
|
msprobe/core/grad_probe/grad_compare.py,sha256=gYflG7NeE9g94ExvbwpukAj5EeQoD627-cA8mu2vzVc,8271
|
|
@@ -46,15 +47,15 @@ msprobe/core/overflow_check/filter.py,sha256=VyUNcLM89QmXUbUBzKJG4wMFPNPdLkwgK24
|
|
|
46
47
|
msprobe/core/overflow_check/ignore_rules.yaml,sha256=3k5HEKgF7_LtTexRk19AT1UZQ99IgItvctEsj4-5wYI,3021
|
|
47
48
|
msprobe/core/overflow_check/level.py,sha256=0w-X2zVshf4I_2qECXm4uz6LqkhY5NFyCdZYU0pC62U,741
|
|
48
49
|
msprobe/core/overflow_check/utils.py,sha256=1j5p2qWBOmOoat1v_Zi8krLOWz2NMCdUjrnD03AWTK8,991
|
|
49
|
-
msprobe/docs/01.installation.md,sha256=
|
|
50
|
-
msprobe/docs/02.config_introduction.md,sha256=
|
|
51
|
-
msprobe/docs/03.config_examples.md,sha256=
|
|
50
|
+
msprobe/docs/01.installation.md,sha256=3ol7pyfSGnSoxXBkrFktizKnMmGoOAlR7a3dfTw6W6s,7538
|
|
51
|
+
msprobe/docs/02.config_introduction.md,sha256=HAW_h_7doHomXoG5Cur0nSKXoJ_Fx6e0vUgiKvKuB_8,28084
|
|
52
|
+
msprobe/docs/03.config_examples.md,sha256=tV1n-bc3VOYmdK0qLczFQIRmSBo0yxk2Gxm7onc1vz0,3987
|
|
52
53
|
msprobe/docs/04.kernel_dump_PyTorch.md,sha256=dPURELEJabyNuSdsT_PWXXzqLsp2ZRGOu88qnkIi0x4,3002
|
|
53
|
-
msprobe/docs/05.data_dump_PyTorch.md,sha256=
|
|
54
|
-
msprobe/docs/06.data_dump_MindSpore.md,sha256=
|
|
54
|
+
msprobe/docs/05.data_dump_PyTorch.md,sha256=jlo7-8OoEfwV5POZnDS9_kGjUsEflHUbEVybshszMic,17426
|
|
55
|
+
msprobe/docs/06.data_dump_MindSpore.md,sha256=i72bmGWN5foY0il3C96FF8UxxCp5gNjX_QGMZFfNGqM,20563
|
|
55
56
|
msprobe/docs/07.accuracy_checker_PyTorch.md,sha256=AqAzlcQQK-DYZrwU2sDk0z2jsFCf7q86AoqS0gzwoDc,29339
|
|
56
57
|
msprobe/docs/08.accuracy_checker_online_PyTorch.md,sha256=sO4jhA-1No8Ewy8AQrcgQnt235XuJhecQExiLL5T_6g,11758
|
|
57
|
-
msprobe/docs/09.accuracy_checker_MindSpore.md,sha256=
|
|
58
|
+
msprobe/docs/09.accuracy_checker_MindSpore.md,sha256=tDwLFWD8LVWe7XBEQKwYuPHB0rhUGSAN8i8spXdHo-w,9747
|
|
58
59
|
msprobe/docs/10.accuracy_compare_PyTorch.md,sha256=pUx5w3MkkzhHb1KZ54OMrmbb458biZtrj345l2i2arI,28714
|
|
59
60
|
msprobe/docs/11.accuracy_compare_MindSpore.md,sha256=MLCjwjlkNM59fPCVQZunJ-idnSRXJvzNHxC1BEEkOh4,29761
|
|
60
61
|
msprobe/docs/12.overflow_check_PyTorch.md,sha256=fGPvMilLcG46UDOGMuysZ6GXc0YS5764yQc0oezLhB0,3656
|
|
@@ -64,15 +65,17 @@ msprobe/docs/15.free_benchmarking_PyTorch.md,sha256=Dh4j8OKAqvMdNg4P7JPJnvbIrtLj
|
|
|
64
65
|
msprobe/docs/16.free_benchmarking_MindSpore.md,sha256=swCOrnBSzU6Q5I0AHVwi2r0JfKp3VE1DgNHripyE01M,8195
|
|
65
66
|
msprobe/docs/17.grad_probe.md,sha256=aMCHKxHWkBesZNTK9ZOH5oY0pcVm1jkbooUz3uaROmM,9620
|
|
66
67
|
msprobe/docs/18.online_dispatch.md,sha256=KuQtWygBMNpc6B-nX2-z25ZBJUGXSXIlwwkcA_sM63A,4126
|
|
67
|
-
msprobe/docs/19.monitor.md,sha256=
|
|
68
|
+
msprobe/docs/19.monitor.md,sha256=MlZKsFntN_VVXl_Yntr5aVFJxJbydvzWzuEZj7VYs90,45128
|
|
68
69
|
msprobe/docs/20.monitor_performance_baseline.md,sha256=t-aM1s7BqEE8ls47gL1wmipkhdmB6CSPI90-r4abyXY,3672
|
|
69
|
-
msprobe/docs/21.visualization_PyTorch.md,sha256
|
|
70
|
-
msprobe/docs/22.visualization_MindSpore.md,sha256=
|
|
70
|
+
msprobe/docs/21.visualization_PyTorch.md,sha256=svYJ9JoVO0KW26N7IJ80cQSZ52i91FqbUka4VuuXr38,21597
|
|
71
|
+
msprobe/docs/22.visualization_MindSpore.md,sha256=CezHM2-02bRBGuExJ8mLi2WR6adQ6nwQbr6L18GG7sI,24697
|
|
71
72
|
msprobe/docs/23.generate_operator_PyTorch.md,sha256=a0M_fHJu3ZCvk_Yg_H549OX2TLjhIrn89j2K_vrT6rk,10118
|
|
72
73
|
msprobe/docs/24.code_mapping_Mindspore.md,sha256=FB4akTJce685-F9gO_ubKJf64sjsuhAzxQvYwtncFiA,1874
|
|
73
74
|
msprobe/docs/25.tool_function_introduction.md,sha256=_v-M6pVzyMr453Pa90NkYG6MkLagUqe9kTDqgcqtvuo,12453
|
|
74
75
|
msprobe/docs/26.data_dump_PyTorch_baseline.md,sha256=BD6rRKrN5WM8cEoD4LipMC0E6KE6xPan1IRFTDbdoUM,1666
|
|
75
|
-
msprobe/docs/27.dump_json_instruction.md,sha256=
|
|
76
|
+
msprobe/docs/27.dump_json_instruction.md,sha256=KMwqSH2GHMMewrUYItRakDpqUv4lHyz2NZM7GN97CDo,13915
|
|
77
|
+
msprobe/docs/28.debugger_save_instruction.md,sha256=R9h0tEF_mRfoTF_IdnLY9HhL-BdD6KWCLvxVmGqi98c,4026
|
|
78
|
+
msprobe/docs/28.kernel_dump_MindSpore.md,sha256=EMgw2g58ediZZoorXOyyCN-Oz2PTW68DzZP87jLUgzo,2531
|
|
76
79
|
msprobe/docs/FAQ.md,sha256=TQH2wl4GTf-1t1uHHsotv2hxq0IufloQdZZnsPQqnBE,11848
|
|
77
80
|
msprobe/docs/S02.report_free_benchmarking_validation_performance_baseline.md,sha256=4NkHEa8VN3ebeUgrw9T-7rlL-qL_xB63w81O5m29D6s,10799
|
|
78
81
|
msprobe/docs/accuracy_checker_MindSpore/accuracy_checker_MindSpore_baseline.md,sha256=-133ODcU0kr0K1WWyeghnxxMHM2DMdnNawLVymPqVXw,527
|
|
@@ -114,6 +117,7 @@ msprobe/docs/img/ms_dump.png,sha256=9tHk4gizGhkdycZRRiIRxBHJoPtCl9tsdMnl3PjVsk8,
|
|
|
114
117
|
msprobe/docs/img/ms_layer.png,sha256=aqlWHCMoiNDksJE7m_ilpM0ifDLt8fxgh-MGNxpfNOU,277469
|
|
115
118
|
msprobe/docs/img/pt_dump.png,sha256=c-YrWYiRERBj_x410-aq3-uMcxgII0ETVk-hT1KUr-4,70698
|
|
116
119
|
msprobe/docs/img/monitor/cpu_info.png,sha256=H9DfJgwotN3uukISOHQb8_tAiNISqt2_rSu4LKI5z4k,13826
|
|
120
|
+
msprobe/docs/img/monitor/step_count_per_record.png,sha256=kZGQVoxFCz597O5O36en1A_NXelV8XGeeFLvGP_VvE0,5140
|
|
117
121
|
msprobe/docs/img/visualization/fuzzy_match_ms.png,sha256=IanddWXLSrs5_SvtaAHRJWjPUJ7cGja3oF_PQCqfnKw,9222
|
|
118
122
|
msprobe/docs/img/visualization/fuzzy_match_pt.png,sha256=uAFmJk5bgvlLswZjWCoEfnErTP4ZMgxDnuowdGU5Z-0,9065
|
|
119
123
|
msprobe/docs/img/visualization/tensorboard_1.png,sha256=t3mafHzjcUHZbwJhbnri42B3mfoygLjaBIpli9KFLZg,8651
|
|
@@ -136,26 +140,27 @@ msprobe/docs/visualization/no_mapping.png,sha256=pz1Pz_azPG2m672l1Lq7eY0u0f5ymXe
|
|
|
136
140
|
msprobe/docs/visualization/no_mapping1.png,sha256=2E5hXlze23c7Ns4xeXYyaJQig95bBjl03QIFW18DFho,148652
|
|
137
141
|
msprobe/docs/visualization/no_mapping_analyze.png,sha256=GOqHERkQZQBzKbxTyYqQG7ZDQNdQ53kT9GLkZZsj5j0,218092
|
|
138
142
|
msprobe/docs/visualization/top_layer.png,sha256=an5TuWPvM_o5eLSUAmrGby3wcrS04pXfMX4fvydKaVI,13196
|
|
139
|
-
msprobe/mindspore/__init__.py,sha256=
|
|
143
|
+
msprobe/mindspore/__init__.py,sha256=k1ofyAaau6Nm4rpkuFiZwhskuC3xmWLu2-N8jFT3boQ,1110
|
|
140
144
|
msprobe/mindspore/cell_processor.py,sha256=4Hn3MLa37zVv3k-skIsv_j3k56XKgKv2bGKqCCMAupc,3037
|
|
141
|
-
msprobe/mindspore/ms_config.py,sha256=
|
|
145
|
+
msprobe/mindspore/ms_config.py,sha256=n8mt4Xbcb6BgHvAorzVriOMZKT9cIkDwD_ZajvXD94E,5832
|
|
142
146
|
msprobe/mindspore/runtime.py,sha256=1Jn94SMMmJPhcWvzukDELaFd6am9LQMz-kiFg9YS53A,714
|
|
143
|
-
msprobe/mindspore/service.py,sha256=
|
|
147
|
+
msprobe/mindspore/service.py,sha256=ma-LzkBiSCcDsmeY_gIG_oKyW0udPKexcAhaTfKmeU8,26125
|
|
144
148
|
msprobe/mindspore/task_handler_factory.py,sha256=0almyYmPoK76pZQDMooluH-ikeTcAr1uEEWSC0qgxWw,1564
|
|
145
149
|
msprobe/mindspore/api_accuracy_checker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
146
|
-
msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py,sha256=
|
|
150
|
+
msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py,sha256=oDxcB6sBaX76srgWrDn6POHpV6D3YWa6tEdKW473zWY,15787
|
|
147
151
|
msprobe/mindspore/api_accuracy_checker/api_info.py,sha256=XrHmU-22BOpYObX999NOOPzW7h0wCM5KW89-bZpVBYc,4858
|
|
148
|
-
msprobe/mindspore/api_accuracy_checker/api_runner.py,sha256=
|
|
152
|
+
msprobe/mindspore/api_accuracy_checker/api_runner.py,sha256=EFpJmT_SE6r6oMmunDLcFqetvzbgzD7B5fV3DUjzd1Q,11297
|
|
149
153
|
msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py,sha256=RMtJZd1qyw7AkWQlrL9Lp4F21P_TVPnRL8xs2nT7OgI,8428
|
|
150
154
|
msprobe/mindspore/api_accuracy_checker/checker_support_api.yaml,sha256=xs4auF9UUv7LSQS2fDfWCbh6CJeaJ_tKsXedt5hS0G4,1325
|
|
151
155
|
msprobe/mindspore/api_accuracy_checker/cmd_parser.py,sha256=Damqlg-hgIrxAodGb_QeQPqlCbXg576HosMZPoLVa1I,3355
|
|
152
|
-
msprobe/mindspore/api_accuracy_checker/compute_element.py,sha256=
|
|
156
|
+
msprobe/mindspore/api_accuracy_checker/compute_element.py,sha256=99MTomO7-u0eLZnM4pUWy33Wi-o_S0D6qQbzmwY9oX0,15067
|
|
153
157
|
msprobe/mindspore/api_accuracy_checker/data_manager.py,sha256=9gJNXnzl692FuA3rN-No12ZrztDm1Os8GLx9J2zuAHc,13421
|
|
154
158
|
msprobe/mindspore/api_accuracy_checker/main.py,sha256=ECA3HrNJHgEbOxOANNNl_c0EVq77IgiE45atfMICCF8,1295
|
|
155
159
|
msprobe/mindspore/api_accuracy_checker/multi_api_accuracy_checker.py,sha256=2Dc3goj3WK6sd8hgiIm8A75GdG1hnGcWICcZ12LbRho,9247
|
|
156
160
|
msprobe/mindspore/api_accuracy_checker/multi_data_manager.py,sha256=ry_pFW9dWMTsaMbCkA2g-8dNa3yd-5LX2FbShEzZ1Bs,2684
|
|
157
|
-
msprobe/mindspore/api_accuracy_checker/
|
|
158
|
-
msprobe/mindspore/api_accuracy_checker/
|
|
161
|
+
msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py,sha256=1t2-nUX2A5Oa4MVQy8dgcLVVsEyTTi41iUZZpbkCTrk,3445
|
|
162
|
+
msprobe/mindspore/api_accuracy_checker/type_mapping.py,sha256=FL5SIQ3dJRKVmicvOOUzZ0zDrLzqXGCb8-fgMCizd-A,4071
|
|
163
|
+
msprobe/mindspore/api_accuracy_checker/utils.py,sha256=uREcuxnIOy0Zeuqeo8wP4g33dcyqND_VtUIzKQBY2kQ,3951
|
|
159
164
|
msprobe/mindspore/code_mapping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
160
165
|
msprobe/mindspore/code_mapping/bind.py,sha256=NX_8SvfSa7PAFy_PVgR39CgkFz-OPqtbWQYCGBUFMek,8814
|
|
161
166
|
msprobe/mindspore/code_mapping/cmd_parser.py,sha256=QKwSVd6V05KJoNURO6BzpaLXQJci1742rZOzRSVa3qY,1493
|
|
@@ -165,20 +170,20 @@ msprobe/mindspore/code_mapping/main.py,sha256=VjxdvroXa5D58QUg56jQUXlJ-YNWmTMeri
|
|
|
165
170
|
msprobe/mindspore/code_mapping/processor.py,sha256=o-YQyl90NPCpoex3iWbNMGHiWTuqLx8C0UfY2RSZ2wg,1164
|
|
166
171
|
msprobe/mindspore/common/const.py,sha256=SUbEzA1JvjrVALIdOuwNfoqWe3ST-DvGU3zDfnfCpPA,3847
|
|
167
172
|
msprobe/mindspore/common/log.py,sha256=b-XZiXylAOK85DH3leCGC0zbxTBRIVTokLOYQAyHCII,1127
|
|
168
|
-
msprobe/mindspore/common/utils.py,sha256=
|
|
173
|
+
msprobe/mindspore/common/utils.py,sha256=ZV8sKBYtxVMv88-dcDvwXdoZ8HcvAgU6Op8fBsAaBhs,6607
|
|
169
174
|
msprobe/mindspore/compare/distributed_compare.py,sha256=dXGbAqIzUnLIpn1kpkPSsHoOCr8HZFl2W6qf09U8ks8,2861
|
|
170
175
|
msprobe/mindspore/compare/ms_compare.py,sha256=6PnK5PF4D46pG9UUsUDTyDT71CdLd1FBhAVvLYQCvg4,22382
|
|
171
176
|
msprobe/mindspore/compare/ms_graph_compare.py,sha256=854kWqwqWjMzmrgI2NsY_6M5VwGpV_y76AaoxxkbKEE,20012
|
|
172
177
|
msprobe/mindspore/compare/ms_to_pt_api.yaml,sha256=NGzy6_yIArM6V0zYsW3sg3KLMJe0sr9ljKiIcHujJus,13203
|
|
173
178
|
msprobe/mindspore/debugger/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
174
|
-
msprobe/mindspore/debugger/debugger_config.py,sha256=
|
|
175
|
-
msprobe/mindspore/debugger/precision_debugger.py,sha256=
|
|
179
|
+
msprobe/mindspore/debugger/debugger_config.py,sha256=NfcUS8F5u5s9yOQZaDf525cXWi5fP9a7QqZ_zmBuFT0,5248
|
|
180
|
+
msprobe/mindspore/debugger/precision_debugger.py,sha256=4qD5syPnORNLt3xeKu8p87m6rV8RwR3J08OhlHH3MIA,9319
|
|
176
181
|
msprobe/mindspore/dump/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
177
182
|
msprobe/mindspore/dump/dump_tool_factory.py,sha256=XRFc3LxqoFWpczkvOVlxwHV44GnaeSCgs4waduy3utA,2022
|
|
178
|
-
msprobe/mindspore/dump/jit_dump.py,sha256=
|
|
183
|
+
msprobe/mindspore/dump/jit_dump.py,sha256=WKgVB4PydXBggHoKDHV2QwAdBmkA84BdjNuLppsrbxs,4459
|
|
179
184
|
msprobe/mindspore/dump/kernel_graph_dump.py,sha256=DcQMwdGZeLU0WQ-ppOBzssZn8XFcpmRmY323vkjDGr0,3905
|
|
180
185
|
msprobe/mindspore/dump/kernel_kbyk_dump.py,sha256=ofsBjJyaPgVSczRuVzYmbAqpEFszK6EH3Xj9pcdxjLk,2911
|
|
181
|
-
msprobe/mindspore/dump/hook_cell/api_registry.py,sha256=
|
|
186
|
+
msprobe/mindspore/dump/hook_cell/api_registry.py,sha256=tuZyl336h3n8ffZwb-txxPwioKQJP3AUdEVPt2IC1tQ,10591
|
|
182
187
|
msprobe/mindspore/dump/hook_cell/hook_cell.py,sha256=-CeWMEg2-YqWq--oiIcezkwpWSJpnRnkTmJWTZ5MLjU,2426
|
|
183
188
|
msprobe/mindspore/dump/hook_cell/primitive_hooks.py,sha256=k5fU5wsno4l855cgaTz35ktJ1xChDy1GNl8af1anbjU,10380
|
|
184
189
|
msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml,sha256=Bn9e5d3n4rxkFwGZNh5Lr02XGrcumWobiVSpf_NvsCQ,13578
|
|
@@ -215,14 +220,23 @@ msprobe/mindspore/grad_probe/hook.py,sha256=jKQa9ag9rWV-sD1-31SOrJfKFLwEWRXBzEfO
|
|
|
215
220
|
msprobe/mindspore/grad_probe/utils.py,sha256=JNGOXZbey8b1YP99LUeAHV2XOJgTE3a7IHvVOybDU7M,1566
|
|
216
221
|
msprobe/mindspore/mindtorch/__init__.py,sha256=ReXDwvtuuKdJYec0YvcxTLL2bA9RdPukoR7_hvJywTc,811
|
|
217
222
|
msprobe/mindspore/mindtorch/mindtorch_adaptor.py,sha256=A8hssylam5fdwSz8dO5JN08OdtZurbCooHaVH-iVpn4,11291
|
|
223
|
+
msprobe/mindspore/monitor/anomaly_detect.py,sha256=38hCBx6YS5bsgOQbY2PGr3qN66TL_u52YKmCA-h_Xb0,14390
|
|
224
|
+
msprobe/mindspore/monitor/features.py,sha256=GYPsbqgVqOF54a-5Te1hpi945H0YnWzxAD7QIrT5NlQ,1543
|
|
225
|
+
msprobe/mindspore/monitor/module_hook.py,sha256=tP-Sk__vMQup9-vyxO0ewN8t_NA-yQOdkgn99uphsAA,34676
|
|
226
|
+
msprobe/mindspore/monitor/module_spec_verifier.py,sha256=TZltkpAlijosHT3M_rLs7rpcHZwzIW8QSekT9baGykM,3670
|
|
227
|
+
msprobe/mindspore/monitor/utils.py,sha256=EezD9YTliBmuHtRnG9KHmBAdbGHzVtUAB8Ey3Jb_hIY,9174
|
|
228
|
+
msprobe/mindspore/monitor/distributed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
229
|
+
msprobe/mindspore/monitor/distributed/distributed_ops.yaml,sha256=3mfRKCnhSio6TYsWQkNpr_Vae2a8oO5TGdFobNAdd0c,292
|
|
230
|
+
msprobe/mindspore/monitor/distributed/stack_blacklist.yaml,sha256=8Gx6Ot7sk69Z-hdWL8LC7KcXVv21EFCVmgSKzsNGcFo,111
|
|
231
|
+
msprobe/mindspore/monitor/distributed/wrap_distributed.py,sha256=AUB-D-fq0wTCQZiFQsLmBeiQZtr5lQt2yHgvC_cgbDI,9984
|
|
218
232
|
msprobe/mindspore/overflow_check/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
219
233
|
msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py,sha256=ZzVF13owq5F5D755b8CXduyJScdyuyr6TCtyttYe7H8,3064
|
|
220
234
|
msprobe/mindspore/overflow_check/overflow_check_tool_factory.py,sha256=fHWkpwHZuYOylVX8DxEgIt3XLf4VlP78UWYxZDyq89M,1820
|
|
221
|
-
msprobe/pytorch/__init__.py,sha256=
|
|
222
|
-
msprobe/pytorch/function_factory.py,sha256=
|
|
235
|
+
msprobe/pytorch/__init__.py,sha256=qIvhnAk61oSpvPU0QI0YAC4zyLKYyOcfNzdXJxN7Klo,1035
|
|
236
|
+
msprobe/pytorch/function_factory.py,sha256=_WWSE7vMWWnoS6VZxHdUbi6H4_B9WOjlpWcQV1iTgk8,4032
|
|
223
237
|
msprobe/pytorch/parse.py,sha256=TmMxmRfIfvvHzKGoDT5sKUdnt2PonwwwOKg1H7NsbVo,711
|
|
224
|
-
msprobe/pytorch/pt_config.py,sha256=
|
|
225
|
-
msprobe/pytorch/service.py,sha256=
|
|
238
|
+
msprobe/pytorch/pt_config.py,sha256=N7bRQdlcyN79HWKbYX5dXDTNxPbY6CVc3d0l61oiick,14149
|
|
239
|
+
msprobe/pytorch/service.py,sha256=svnjqUhgdg_DwJ-rNe_Bucg62pFUBd9agYvedPYLumY,21692
|
|
226
240
|
msprobe/pytorch/api_accuracy_checker/.keep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
227
241
|
msprobe/pytorch/api_accuracy_checker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
228
242
|
msprobe/pytorch/api_accuracy_checker/config.yaml,sha256=2kktin5NoWkSp2MOGDoxlz3MPv0lYXXD5r5SPYArEYs,144
|
|
@@ -240,7 +254,7 @@ msprobe/pytorch/api_accuracy_checker/compare/compare_column.py,sha256=2bQBWg8qVo
|
|
|
240
254
|
msprobe/pytorch/api_accuracy_checker/compare/compare_input.py,sha256=OG83KTsDpc-NzUCjtMj5SnzuBmOHaQaJYPoyPaaxKfU,2059
|
|
241
255
|
msprobe/pytorch/api_accuracy_checker/compare/compare_utils.py,sha256=K_YhER9znzATNCgCPBddbSfW5PJcFrKfjbRVyYIw4W8,9839
|
|
242
256
|
msprobe/pytorch/api_accuracy_checker/generate_op_script/config_op.json,sha256=qIwrmgYSnO08FFrfIPhTWwB5XssHfWWsoRFzKIQYHxc,195
|
|
243
|
-
msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py,sha256=
|
|
257
|
+
msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py,sha256=gAbykaAWTTBo8h7xB52c8AvwBw9RiCIerHwcKQTQo88,23787
|
|
244
258
|
msprobe/pytorch/api_accuracy_checker/generate_op_script/operator_replication.template,sha256=9DFDNBg-qFB3uYzi7wbBpx9n5q8x0L4rJFh1L_wJock,17317
|
|
245
259
|
msprobe/pytorch/api_accuracy_checker/precision_standard/absolute_threshold.py,sha256=4vtifRSecvSeTPjX_GVLDH75_phtfbkbhXUh2Y5H4O8,5535
|
|
246
260
|
msprobe/pytorch/api_accuracy_checker/precision_standard/accumulative_error_compare.py,sha256=e0qANZpdGFsiezICAkLnULA9GmP3kjdCMEq1Y1wTgxI,5662
|
|
@@ -268,33 +282,38 @@ msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/server.py,sha256=wf_
|
|
|
268
282
|
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/torch_ops_config.yaml,sha256=AAEAsbIK8R1O9c9kDb6svfeklqt2W8GHf19ewKpEROo,1057
|
|
269
283
|
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/utils.py,sha256=JBWBEp8mUyAYUjSuag-BQsvIn4luveOoRARput3dT7k,1791
|
|
270
284
|
msprobe/pytorch/bench_functions/__init__.py,sha256=BoY2ZOpo_mj2gQ8pcl8oLwFxfHpZidOflJ1aGYDmPrM,1157
|
|
285
|
+
msprobe/pytorch/bench_functions/apply_adam.py,sha256=CNL19fQjwcMMDl1SHv3E_LKUoawkhz8_Kac5iXACsRc,6583
|
|
271
286
|
msprobe/pytorch/bench_functions/apply_adam_w.py,sha256=tUkQEmmUf__kIkBTagtjphR7HaiZRpDjk_q7j6AGl00,1690
|
|
272
287
|
msprobe/pytorch/bench_functions/confusion_transpose.py,sha256=sx-BcnKAvNXSmXrURU7KlGfead7PHPKM7SBUkILdKHc,1434
|
|
273
288
|
msprobe/pytorch/bench_functions/fast_gelu.py,sha256=L3J2FNiHY_FCjWXLKuf3fCPLf7oE7kBVaYBjXUstR4s,1883
|
|
289
|
+
msprobe/pytorch/bench_functions/group_norm_silu.py,sha256=Uw5UEywR2GkKOltkEsKa2ZNabXfrgqHzs3a85F9hayg,1049
|
|
274
290
|
msprobe/pytorch/bench_functions/layer_norm_eval.py,sha256=kObMeu4JKPltaGFXqf64cFcNVEsH8W-jW1m2PHbPPzA,808
|
|
275
291
|
msprobe/pytorch/bench_functions/linear.py,sha256=jZ7C4jcKEBmM9t74P1AkPgJK1IXoawyxaQtultiO0nE,944
|
|
276
292
|
msprobe/pytorch/bench_functions/matmul_backward.py,sha256=KMye6SI9EQPgfezG1Zx6aoX0gQhwOp3530Dr8eVvjfs,3623
|
|
293
|
+
msprobe/pytorch/bench_functions/mish.py,sha256=R2wNrjfYdq1CMpv4ZUCq9DyHX3py8UI-TfCKJGG4ZW0,702
|
|
294
|
+
msprobe/pytorch/bench_functions/moe_gating_top_k_softmax.py,sha256=LSm0aBnPkfdOk37Uj1ROvvYLG--4xh1ldhES5r-_zxQ,1632
|
|
277
295
|
msprobe/pytorch/bench_functions/npu_fusion_attention.py,sha256=EBOUYxdm1aKABqPBo4dBWr5uTxA2mzN7FzWOMuVnvmQ,26657
|
|
278
296
|
msprobe/pytorch/bench_functions/rms_norm.py,sha256=H5ukqQoxSWAHJoFeyZP_Jl6qn-nFNPrIfKedLNWPwOk,1072
|
|
279
297
|
msprobe/pytorch/bench_functions/rotary_mul.py,sha256=RtyxNU1shFpUYJUvE0dRfFERaQ7SWq-qbirkZTmn4GY,2927
|
|
280
298
|
msprobe/pytorch/bench_functions/scaled_mask_softmax.py,sha256=OAZq05MRKhBYuJ-962QeQMgO1xuCdTNd__XAgDf_5qQ,1518
|
|
299
|
+
msprobe/pytorch/bench_functions/sort_v2.py,sha256=BogydF5yqN2c4d8YZrxUzBHkK2VqEls1NqVBMa-MZDg,765
|
|
281
300
|
msprobe/pytorch/bench_functions/swiglu.py,sha256=W3yBFgCsZkHu2BTx8JbObLYSR16xwV8ikqAtjmv1p5M,3319
|
|
282
301
|
msprobe/pytorch/common/__init__.py,sha256=87H-l6y1gbEL2EQiSbPceeJwKJdcsS6zv-9NmrTJlTo,709
|
|
283
302
|
msprobe/pytorch/common/compare_script.template,sha256=CsfmJ5IuPycAYa0-IfVPXrXVu-o6g8BeEF9v17UK_1w,286
|
|
284
303
|
msprobe/pytorch/common/log.py,sha256=yGLpZ6mGfB-s9sHj_gcL5_PMq_Ai4BJxumA0F0knAso,1121
|
|
285
304
|
msprobe/pytorch/common/parse_json.py,sha256=7HbrBdVCX8umYqa4u8JPHETAxUO1246jl7qhcE4FG1s,2286
|
|
286
|
-
msprobe/pytorch/common/utils.py,sha256=
|
|
305
|
+
msprobe/pytorch/common/utils.py,sha256=QfjQdhHKrPp3VJq_eDPhCUtqz9-Ey5mEsOeEQMgYUvE,17614
|
|
287
306
|
msprobe/pytorch/compare/distributed_compare.py,sha256=tYs-SxRXTWnHeJV9L6n9fOdbdXxMnlo92YY0ka8BUVc,2615
|
|
288
307
|
msprobe/pytorch/compare/mapping.yaml,sha256=Udlbf1dWDAdnTs8VcDTiSkqsMNj93o2qFUU2ocFgt2k,11697
|
|
289
308
|
msprobe/pytorch/compare/match.py,sha256=j6ydfhs9zNMu6vzxsp_qMei-7-zDMuPO8Uj9i_OIhSA,1886
|
|
290
309
|
msprobe/pytorch/compare/pt_compare.py,sha256=IkGLHnZnx3PhdU4SEg9GzXc7E7daFwN_JW7ZF576NzU,4676
|
|
291
310
|
msprobe/pytorch/debugger/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
292
|
-
msprobe/pytorch/debugger/debugger_config.py,sha256
|
|
293
|
-
msprobe/pytorch/debugger/precision_debugger.py,sha256=
|
|
311
|
+
msprobe/pytorch/debugger/debugger_config.py,sha256=FPvnZDYATDQY9cKYlg-IFZdTGLseAzjpux5EldFaqPQ,7061
|
|
312
|
+
msprobe/pytorch/debugger/precision_debugger.py,sha256=a-tAA8m-uAX6z6WtKxmV_9FmIv5zMt2F65V6E8prM3E,8487
|
|
294
313
|
msprobe/pytorch/dump/kernel_dump/kernel_config.py,sha256=6ktVRcNlqwEM5C8L-og5ABX2FayQJr37Qhru0spWcWs,1186
|
|
295
314
|
msprobe/pytorch/dump/module_dump/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
296
315
|
msprobe/pytorch/dump/module_dump/module_dump.py,sha256=EDBsNhf_1xr-GkkEAbD1_HyZzjERQG_eAh-PCd-PWbg,4014
|
|
297
|
-
msprobe/pytorch/dump/module_dump/module_processer.py,sha256=
|
|
316
|
+
msprobe/pytorch/dump/module_dump/module_processer.py,sha256=ot31p65GRQwT0d8agYbUeHmJyi6HyMWO8A5KIiyOpvg,9165
|
|
298
317
|
msprobe/pytorch/free_benchmark/__init__.py,sha256=N2xdPic80U-Rl1B_6c8j09EMuU5Xn0knJjgmKQ5uiXQ,904
|
|
299
318
|
msprobe/pytorch/free_benchmark/main.py,sha256=5SSJGQ-eYOsguCCHaCLiOPuSrlbEHuWkaIk6T4534UI,4634
|
|
300
319
|
msprobe/pytorch/free_benchmark/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -329,10 +348,10 @@ msprobe/pytorch/hook_module/__init__.py,sha256=ktS1W-6hBa1q8wF-DGz8kFsfVhiIPWBOj
|
|
|
329
348
|
msprobe/pytorch/hook_module/api_registry.py,sha256=V8bnCPlvrV2v3l2wtC3Dhr9SMeGp4HSc8K6i63K8Cd4,8104
|
|
330
349
|
msprobe/pytorch/hook_module/hook_module.py,sha256=0HqopD23RlrZC3X9Im3nQ4-jBZksXNG_6aqVhRZeZiQ,4786
|
|
331
350
|
msprobe/pytorch/hook_module/register_optimizer_hook.py,sha256=qQfUbltNNyBvKwGh13ECtSU0pJOcjQEz4MAxFB12ysg,2504
|
|
332
|
-
msprobe/pytorch/hook_module/support_wrap_ops.yaml,sha256=
|
|
351
|
+
msprobe/pytorch/hook_module/support_wrap_ops.yaml,sha256=nEI1TJ1OqiDplXylF-PXWFBc-0qKArj2NUII6EJbYSU,28454
|
|
333
352
|
msprobe/pytorch/hook_module/utils.py,sha256=_m3M3Ad_Xtkm_ZZCo7rJzX9qeG3ocDYZQQtMqTnOuoc,1101
|
|
334
353
|
msprobe/pytorch/hook_module/wrap_aten.py,sha256=tjD1CkresxQBr-iOhO5Hu4fGwSYpKNNhZv7XUBBFfus,3860
|
|
335
|
-
msprobe/pytorch/hook_module/wrap_distributed.py,sha256=
|
|
354
|
+
msprobe/pytorch/hook_module/wrap_distributed.py,sha256=tm0D5kI556W5u-MSuRGAG5qJ-dGtYBFyVY0RojGpTYw,2668
|
|
336
355
|
msprobe/pytorch/hook_module/wrap_functional.py,sha256=xtGVJBQMzkygYddGslcAjHbT7Ho5rUyWiQNzrCFMIDc,2205
|
|
337
356
|
msprobe/pytorch/hook_module/wrap_npu_custom.py,sha256=gzhBVSygl32puWMZKmmSQfh9_f0lY_-V24pBNPOjVLo,3058
|
|
338
357
|
msprobe/pytorch/hook_module/wrap_tensor.py,sha256=gWpEBg5BI1PqUYBz1XfSd9oPsau26w4iusmIrlH2m6c,2087
|
|
@@ -340,14 +359,14 @@ msprobe/pytorch/hook_module/wrap_torch.py,sha256=eJL_fTCm1K4NVKrjEqX-41zaa0aTqdN
|
|
|
340
359
|
msprobe/pytorch/hook_module/wrap_vf.py,sha256=YpL1aPtVMszXosHiMtJgvLdLu4mBc2xjnNp9WvBrjGQ,1831
|
|
341
360
|
msprobe/pytorch/monitor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
342
361
|
msprobe/pytorch/monitor/anomaly_analyse.py,sha256=_jLGhu7M_vdKuuuD5wqeNhKxXnsPrPHtr9xTRjVnQD4,7674
|
|
343
|
-
msprobe/pytorch/monitor/anomaly_detect.py,sha256=
|
|
344
|
-
msprobe/pytorch/monitor/csv2tb.py,sha256=
|
|
362
|
+
msprobe/pytorch/monitor/anomaly_detect.py,sha256=DZkxbSGUVFMtaW-reywn1TwubqfxJYhg_Gz8_iVdQHA,14285
|
|
363
|
+
msprobe/pytorch/monitor/csv2tb.py,sha256=1XFZ1gFPk01SY1OWV3EmPxOH6MxzHP0IIJioNyAleCE,6485
|
|
345
364
|
msprobe/pytorch/monitor/features.py,sha256=4C9I7nOKtMl5xYWtdu5bk5cRVtocJE88lYvtTOkcJ-Q,2946
|
|
346
|
-
msprobe/pytorch/monitor/module_hook.py,sha256=
|
|
347
|
-
msprobe/pytorch/monitor/module_metric.py,sha256=
|
|
365
|
+
msprobe/pytorch/monitor/module_hook.py,sha256=w2TJXcint1-ob-vTAb7tNfib7AjiPaKVFmQt1gXJ4EM,49020
|
|
366
|
+
msprobe/pytorch/monitor/module_metric.py,sha256=LDIi8-fcN2P5bysNyV8QngSkBrv6isREZvExbka56vA,5190
|
|
348
367
|
msprobe/pytorch/monitor/module_spec_verifier.py,sha256=0Dpfx0SlsfR__oLdgiuYytnMEZ9KCJzSaoDR4IPQ4ZQ,3741
|
|
349
|
-
msprobe/pytorch/monitor/optimizer_collect.py,sha256=
|
|
350
|
-
msprobe/pytorch/monitor/utils.py,sha256=
|
|
368
|
+
msprobe/pytorch/monitor/optimizer_collect.py,sha256=XXBKTPqfas2SvPR9Pk4ZyGIIqly0jpfic9sAsWOkJ_I,15831
|
|
369
|
+
msprobe/pytorch/monitor/utils.py,sha256=V5SCaX7VNGtsglLYxvjiUpof2drQo1kAEyYrXovAJzQ,10126
|
|
351
370
|
msprobe/pytorch/monitor/visualizer.py,sha256=HMjBMUUP96aYh2MFmqMD4eKM4QI_YD8STfU0ZdZhcb4,2661
|
|
352
371
|
msprobe/pytorch/monitor/distributed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
353
372
|
msprobe/pytorch/monitor/distributed/distributed_ops.yaml,sha256=LLZzEWyIx2dC-pLZ693HPwItReKqrZe_yAmgdyzHSpw,272
|
|
@@ -374,23 +393,23 @@ msprobe/pytorch/parse_tool/lib/parse_tool.py,sha256=nXX1b45o1AhpIR4oG1VpN56Jh02j
|
|
|
374
393
|
msprobe/pytorch/parse_tool/lib/utils.py,sha256=_Ssw89FkxT9dc15r8FZFUY3FPMAM4kYnAU7ceFnrJdc,11692
|
|
375
394
|
msprobe/pytorch/parse_tool/lib/visualization.py,sha256=8PAzoBGL8UWuF9Xryw-v6POBM4SczqBT3fcIBIugYWg,4102
|
|
376
395
|
msprobe/visualization/__init__.py,sha256=rEvJTAx-jTGHBM7-bB6VZ7fwfWwYA961M1eZJj4sRcY,622
|
|
377
|
-
msprobe/visualization/graph_service.py,sha256=
|
|
378
|
-
msprobe/visualization/utils.py,sha256=
|
|
396
|
+
msprobe/visualization/graph_service.py,sha256=f6ETGlzGtaw2ATXZg6jGKIJa-uhu_3eXU7GpwEW7nr0,14698
|
|
397
|
+
msprobe/visualization/utils.py,sha256=ys3ece6FIkxpvhcTvHJR26Bn5RV-xWGZQX6S7OdSSK0,7683
|
|
379
398
|
msprobe/visualization/builder/__init__.py,sha256=rEvJTAx-jTGHBM7-bB6VZ7fwfWwYA961M1eZJj4sRcY,622
|
|
380
|
-
msprobe/visualization/builder/graph_builder.py,sha256=
|
|
381
|
-
msprobe/visualization/builder/msprobe_adapter.py,sha256=
|
|
399
|
+
msprobe/visualization/builder/graph_builder.py,sha256=FipPs7_pTpehNA2_1ZZ4jPfqlv8AXa2vrr_pDMKHJDk,11688
|
|
400
|
+
msprobe/visualization/builder/msprobe_adapter.py,sha256=PzPrKbcwhftkAEc7ChL-Rp2XVhPIfWxdaTaD3MrcF4Q,9047
|
|
382
401
|
msprobe/visualization/compare/__init__.py,sha256=vd0u6IEpGE1r-HC4CEhs3csiMaa0bxuFcHtyRlAX0kU,618
|
|
383
402
|
msprobe/visualization/compare/graph_comparator.py,sha256=BcJFr6eMznR76JIAUdaPLAr7SWSe2ZNA3AuL9C4o5b4,9115
|
|
384
403
|
msprobe/visualization/compare/mode_adapter.py,sha256=4P-55tOxfBkfZ2n8nKlBmtOYnA4w7tg3CKNIsyymJB0,9195
|
|
385
404
|
msprobe/visualization/graph/__init__.py,sha256=rEvJTAx-jTGHBM7-bB6VZ7fwfWwYA961M1eZJj4sRcY,622
|
|
386
|
-
msprobe/visualization/graph/base_node.py,sha256=
|
|
387
|
-
msprobe/visualization/graph/distributed_analyzer.py,sha256=
|
|
405
|
+
msprobe/visualization/graph/base_node.py,sha256=ncOP0F6TGHLFdRspWuqToIAfCqbfJynsKYwZRrYuZbw,4207
|
|
406
|
+
msprobe/visualization/graph/distributed_analyzer.py,sha256=8B-9ecYxKw97nsVEzSsFZigQx3Dk2SgpuDtP9ZwzUnc,19408
|
|
388
407
|
msprobe/visualization/graph/graph.py,sha256=hveibNDS7XVrXnipaDkOyZnqWCdjv1V2BlT1J4Wpinw,7752
|
|
389
408
|
msprobe/visualization/graph/node_colors.py,sha256=7LpurTuE3edKGilwLVsXD7Ue4bMT7Maz63Udq_6CADM,4504
|
|
390
|
-
msprobe/visualization/graph/node_op.py,sha256=
|
|
391
|
-
mindstudio_probe-1.2.
|
|
392
|
-
mindstudio_probe-1.2.
|
|
393
|
-
mindstudio_probe-1.2.
|
|
394
|
-
mindstudio_probe-1.2.
|
|
395
|
-
mindstudio_probe-1.2.
|
|
396
|
-
mindstudio_probe-1.2.
|
|
409
|
+
msprobe/visualization/graph/node_op.py,sha256=8tzGjAnEWb7yXpqrONsu0sNx8aPVmBmjk-aVx1xRtI0,1371
|
|
410
|
+
mindstudio_probe-1.2.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
411
|
+
mindstudio_probe-1.2.2.dist-info/METADATA,sha256=KdIxVBLp5yy7zG7LAZSL6OylWr7BQLxRV2sBd_-2OGc,1366
|
|
412
|
+
mindstudio_probe-1.2.2.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
413
|
+
mindstudio_probe-1.2.2.dist-info/entry_points.txt,sha256=4ob3a9L018EBZFdlfgMW1lbgeIOhc4F-HCR8gBksaCQ,49
|
|
414
|
+
mindstudio_probe-1.2.2.dist-info/top_level.txt,sha256=LxFEFqelENSyWmRtocCiEUF04IE8aZvwTl7ADB598Tk,8
|
|
415
|
+
mindstudio_probe-1.2.2.dist-info/RECORD,,
|
msprobe/README.md
CHANGED
|
@@ -15,7 +15,7 @@ debugger = PrecisionDebugger(config_path='./config.json')
|
|
|
15
15
|
...
|
|
16
16
|
debugger.start() # 一般在训练循环开头启动工具
|
|
17
17
|
... # 循环体
|
|
18
|
-
debugger.stop() #
|
|
18
|
+
debugger.stop() # 一般在训练循环末尾结束工具。必须调用,否则可能导致精度数据落盘不全
|
|
19
19
|
debugger.step() # 在训练循环的最后需要重置工具,非循环场景不需要
|
|
20
20
|
```
|
|
21
21
|
|
|
@@ -127,7 +127,7 @@ MindSpore 动态图场景的[离线预检](./docs/09.accuracy_checker_MindSpore.
|
|
|
127
127
|
|
|
128
128
|
该功能收集和聚合模型训练过程中的网络层,优化器, 通信算子的中间值,帮助诊断模型训练过程中计算, 通信,优化器各部分出现的异常情况。
|
|
129
129
|
|
|
130
|
-
[PyTorch
|
|
130
|
+
[兼容 PyTorch 和 MindSpore 框架的训练状态监控](./docs/19.monitor.md)
|
|
131
131
|
|
|
132
132
|
### 10 分级可视化构图比对
|
|
133
133
|
|
msprobe/core/common/const.py
CHANGED
|
@@ -103,14 +103,16 @@ class Const:
|
|
|
103
103
|
FREE_BENCHMARK = "free_benchmark"
|
|
104
104
|
RUN_UT = "run_ut"
|
|
105
105
|
GRAD_PROBE = "grad_probe"
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
STRUCTURE = "structure"
|
|
107
|
+
TASK_LIST = [TENSOR, STATISTICS, OVERFLOW_CHECK, FREE_BENCHMARK, RUN_UT, GRAD_PROBE, STRUCTURE]
|
|
108
|
+
DUMP_DATA_COLLECTION_LIST = [STATISTICS, TENSOR, STRUCTURE]
|
|
108
109
|
DUMP_DATA_MODE_LIST = [ALL, INPUT, OUTPUT, FORWARD, BACKWARD]
|
|
109
110
|
LEVEL_L0 = "L0"
|
|
110
111
|
LEVEL_L1 = "L1"
|
|
111
112
|
LEVEL_L2 = "L2"
|
|
112
113
|
LEVEL_MIX = "mix"
|
|
113
|
-
|
|
114
|
+
LEVEL_DEBUG = "debug"
|
|
115
|
+
LEVEL_LIST = [LEVEL_L0, LEVEL_L1, LEVEL_L2, LEVEL_MIX, LEVEL_DEBUG]
|
|
114
116
|
ATTR_NAME_PREFIX = "wrap_"
|
|
115
117
|
ATTR_NAME_PREFIX_LEN = len(ATTR_NAME_PREFIX)
|
|
116
118
|
KERNEL_DUMP = "kernel_dump"
|
|
@@ -543,9 +545,24 @@ class MsCompareConst:
|
|
|
543
545
|
TENSOR_API = "Tensor"
|
|
544
546
|
|
|
545
547
|
API_NAME_STR_LENGTH = 4
|
|
548
|
+
MAX_RECURSION_DEPTH = 20
|
|
549
|
+
|
|
550
|
+
# Mindtorch api_info field
|
|
551
|
+
MINDTORCH_TENSOR = "Tensor"
|
|
552
|
+
MINDTORCH = "Torch"
|
|
553
|
+
MINDTORCH_FUNC = "Functional"
|
|
554
|
+
MINDTORCH_NPU = "NPU"
|
|
555
|
+
MINDTORCH_DIST = "Distributed"
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
MT_VALID_API_TYPES = [
|
|
560
|
+
MINDTORCH, MINDTORCH_FUNC, MINDTORCH_TENSOR
|
|
561
|
+
]
|
|
546
562
|
|
|
547
563
|
TASK_FIELD = "task"
|
|
548
564
|
STATISTICS_TASK = "statistics"
|
|
565
|
+
FRAMEWORK = "framework"
|
|
549
566
|
TENSOR_TASK = "tensor"
|
|
550
567
|
DUMP_DATA_DIR_FIELD = "dump_data_dir"
|
|
551
568
|
DATA_FIELD = "data"
|
|
@@ -623,29 +640,37 @@ class MonitorConst:
|
|
|
623
640
|
"DeepSpeedZeroOptimizer_Stage1_or_2",
|
|
624
641
|
"DeepSpeedZeroOptimizer_Stage3"
|
|
625
642
|
)
|
|
643
|
+
DEEPSPEED_ZERO_OPT_FILTER = "DeepSpeedZeroOptimizer"
|
|
626
644
|
RULE_NAME = ['AnomalyTurbulence']
|
|
627
645
|
|
|
628
646
|
SLICE_SIZE = 20480
|
|
647
|
+
# used for name
|
|
629
648
|
DOT = "."
|
|
630
|
-
|
|
649
|
+
NAME_SEP = ":"
|
|
650
|
+
INPUT_GRAD = "input_grad"
|
|
651
|
+
OUTPUT_GRAD = "output_grad"
|
|
631
652
|
ACTV_IN = "input"
|
|
632
653
|
ACTV_OUT = "output"
|
|
633
654
|
ACTVGRAD_IN = "input_grad"
|
|
634
655
|
ACTVGRAD_OUT = "output_grad"
|
|
656
|
+
# used for tasks
|
|
657
|
+
ACTV = "actv"
|
|
658
|
+
ACTVGRAD = "actv_grad"
|
|
635
659
|
POST_GRAD = "post_grad"
|
|
636
660
|
PRE_GRAD = "pre_grad"
|
|
637
661
|
ACC_GRAD = "acc_grad"
|
|
638
662
|
PREFIX_POST = "post"
|
|
639
663
|
PREFIX_PRE = "pre"
|
|
640
|
-
OUTPUT_DIR_PATTERN = r"([\w-]{0,20})-rank(\d{1,5})-"
|
|
641
|
-
|
|
642
664
|
EXP_AVG = "exp_avg"
|
|
643
|
-
|
|
665
|
+
EXP_AVG_SQ = "exp_avg_sq"
|
|
666
|
+
PARAM = "param"
|
|
644
667
|
|
|
668
|
+
CSV_HEADER = ["vpp_stage", "name", "step"]
|
|
669
|
+
CSV_HEADER_XY = ["vpp_stage", "name", "step", "micro_step"]
|
|
670
|
+
OUTPUT_DIR_PATTERN = r"([\w-]{0,20})-rank(\d{1,5})-"
|
|
645
671
|
ANOMALY_JSON = "anomaly.json"
|
|
646
672
|
ANALYSE_JSON = "anomaly_analyse.json"
|
|
647
673
|
TENSORBOARD = "tensorboard"
|
|
648
674
|
CSV = "csv"
|
|
649
675
|
API = "api"
|
|
650
|
-
|
|
651
|
-
HEADER_NAME_INDEX = 1
|
|
676
|
+
HEADER_NAME = 'name'
|
msprobe/core/common/utils.py
CHANGED
|
@@ -239,6 +239,8 @@ def md5_find(data):
|
|
|
239
239
|
for data_detail in data[key_op][api_info]:
|
|
240
240
|
if data_detail and 'md5' in data_detail:
|
|
241
241
|
return True
|
|
242
|
+
if isinstance(data[key_op][api_info], bool):
|
|
243
|
+
continue
|
|
242
244
|
elif data[key_op][api_info] and 'md5' in data[key_op][api_info]:
|
|
243
245
|
return True
|
|
244
246
|
return False
|
|
@@ -303,6 +305,9 @@ def get_dump_mode(input_param):
|
|
|
303
305
|
if npu_task == Const.TENSOR:
|
|
304
306
|
return Const.ALL
|
|
305
307
|
|
|
308
|
+
if npu_task == Const.STRUCTURE:
|
|
309
|
+
return Const.STRUCTURE
|
|
310
|
+
|
|
306
311
|
if npu_task == Const.STATISTICS:
|
|
307
312
|
npu_md5_compare = md5_find(npu_json_data['data'])
|
|
308
313
|
bench_md5_compare = md5_find(bench_json_data['data'])
|
|
@@ -496,3 +501,12 @@ def check_str_param(param):
|
|
|
496
501
|
if not re.match(Const.REGEX_PREFIX_PATTERN, param):
|
|
497
502
|
logger.error('The parameter {} contains special characters.'.format(param))
|
|
498
503
|
raise MsprobeBaseException(MsprobeBaseException.INVALID_CHAR_ERROR)
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
class DumpPathAggregation:
|
|
507
|
+
dump_file_path = None
|
|
508
|
+
stack_file_path = None
|
|
509
|
+
construct_file_path = None
|
|
510
|
+
dump_tensor_data_dir = None
|
|
511
|
+
free_benchmark_file_path = None
|
|
512
|
+
debug_file_path = None
|
|
@@ -112,7 +112,7 @@ class DumpDataItem:
|
|
|
112
112
|
self.layer_scope = Const.SEP.join(data_list[:Const.TYPE_NAME_INDEX])
|
|
113
113
|
else:
|
|
114
114
|
self.layer_scope = Const.TOP_LAYER
|
|
115
|
-
if construct_info:
|
|
115
|
+
if construct_info and Const.SEP in construct_info:
|
|
116
116
|
construct_list = construct_info.split(Const.SEP)
|
|
117
117
|
if len(construct_list) < abs(Const.LAYER_NAME_INDEX):
|
|
118
118
|
logger.error(
|
|
@@ -25,6 +25,7 @@ from msprobe.core.common.file_utils import load_yaml, logger, FileChecker, save_
|
|
|
25
25
|
from msprobe.core.common.const import FileCheckConst, Const, CompareConst
|
|
26
26
|
from msprobe.core.common.utils import CompareException, add_time_with_xlsx
|
|
27
27
|
from msprobe.core.compare.utils import table_value_is_valid
|
|
28
|
+
from msprobe.core.compare.merge_result.utils import replace_compare_index_dict, check_config
|
|
28
29
|
|
|
29
30
|
|
|
30
31
|
def check_compare_result_name(file_name):
|
|
@@ -170,6 +171,8 @@ def search_api_index_result(api_list, compare_index_list, result_df, rank_num, c
|
|
|
170
171
|
table_value_check(index_value)
|
|
171
172
|
api_index_dict.setdefault(api_full_name, {})[rank_num] = index_value # update api_index_dict
|
|
172
173
|
compare_index_dict[compare_index] = api_index_dict
|
|
174
|
+
|
|
175
|
+
compare_index_dict = replace_compare_index_dict(compare_index_dict, compare_index_list, rank_num)
|
|
173
176
|
return compare_index_dict
|
|
174
177
|
|
|
175
178
|
|
|
@@ -203,10 +206,13 @@ def result_process(compare_result_path_list, api_list):
|
|
|
203
206
|
compare_index_list = check_index_dump_mode_consistent(dump_mode, rank_num)
|
|
204
207
|
if len(compare_index_list) == 0:
|
|
205
208
|
return [], [], []
|
|
206
|
-
|
|
209
|
+
compare_index_list.extend([CompareConst.NPU_MAX, CompareConst.BENCH_MAX])
|
|
210
|
+
compare_index_dict = search_api_index_result(api_list, compare_index_list,
|
|
207
211
|
result_df, rank_num, compare_index_dict)
|
|
208
212
|
compare_index_dict_list.append(compare_index_dict)
|
|
209
213
|
rank_num_list.append(rank_num)
|
|
214
|
+
compare_index_list.pop()
|
|
215
|
+
compare_index_list.pop()
|
|
210
216
|
else:
|
|
211
217
|
logger.warning(f"Rank{rank_num} compare result is empty and will not shown in merged result.")
|
|
212
218
|
|
|
@@ -362,13 +368,8 @@ def merge_result(input_dir, output_dir, config_path):
|
|
|
362
368
|
compare_result_path_list = get_result_path(input_dir) # 获得的input_dir中所有比对结果件的全路径,数量少于2,便提示退出
|
|
363
369
|
|
|
364
370
|
config = load_yaml(config_path)
|
|
365
|
-
|
|
366
|
-
logger.error('config.yaml is empty, please check.')
|
|
367
|
-
raise CompareException(CompareException.MERGE_COMPARE_RESULT_ERROR)
|
|
371
|
+
config = check_config(config)
|
|
368
372
|
api_list = config.get('api')
|
|
369
|
-
if not api_list:
|
|
370
|
-
logger.error('The APIs required to merge data were not found')
|
|
371
|
-
raise CompareException(CompareException.MERGE_COMPARE_RESULT_ERROR)
|
|
372
373
|
|
|
373
374
|
# 初始化共享全局变量share_compare_index_list
|
|
374
375
|
initialize_compare_index(config)
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Copyright (c) 2025-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 msprobe.core.common.const import CompareConst
|
|
17
|
+
from msprobe.core.common.file_utils import logger
|
|
18
|
+
from msprobe.core.common.utils import CompareException
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def replace_compare_index_dict(compare_index_dict, compare_index_list, rank_num):
|
|
22
|
+
"""
|
|
23
|
+
比对指标值为N/A、unsupported、Nan,将比对指标值替换成NPU max 和 Bench max(几个统计量相同)
|
|
24
|
+
|
|
25
|
+
示例:
|
|
26
|
+
Distributed.all_reduce.0.forward.output.group的比对指标值是N/A
|
|
27
|
+
替换后:
|
|
28
|
+
比对指标值为:
|
|
29
|
+
NPU: tp-0-1-2-3
|
|
30
|
+
Bench: tp-0-1-2-3
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
if CompareConst.NPU_MAX not in compare_index_dict or CompareConst.BENCH_MAX not in compare_index_dict:
|
|
34
|
+
compare_index_dict.pop(CompareConst.NPU_MAX, None)
|
|
35
|
+
compare_index_dict.pop(CompareConst.BENCH_MAX, None)
|
|
36
|
+
return compare_index_dict
|
|
37
|
+
|
|
38
|
+
# 遍历比对指标列表,排除最后两个指标NPU max, Bench max
|
|
39
|
+
for compare_index in compare_index_list[:-2]:
|
|
40
|
+
op_name_index_dict = compare_index_dict[compare_index]
|
|
41
|
+
# 遍历op_item名称和对应的比对指标值
|
|
42
|
+
for op_name, index_value in op_name_index_dict.items():
|
|
43
|
+
npu_max = compare_index_dict[CompareConst.NPU_MAX][op_name][rank_num]
|
|
44
|
+
bench_max = compare_index_dict[CompareConst.BENCH_MAX][op_name][rank_num]
|
|
45
|
+
# 如果当前比对指标值是N/A、unsupported、Nan,并且NPU和Bench的最大值是类型相同,进行替换
|
|
46
|
+
if index_value[rank_num] in [CompareConst.N_A, CompareConst.UNSUPPORTED, CompareConst.NAN]:
|
|
47
|
+
compare_index_dict[compare_index][op_name][rank_num] = f'NPU:{str(npu_max)} Bench:{str(bench_max)}'
|
|
48
|
+
|
|
49
|
+
# 删除NPU_MAX和BENCH_MAX
|
|
50
|
+
compare_index_dict.pop(CompareConst.NPU_MAX, None)
|
|
51
|
+
compare_index_dict.pop(CompareConst.BENCH_MAX, None)
|
|
52
|
+
return compare_index_dict
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def check_config(config):
|
|
56
|
+
"""
|
|
57
|
+
config.yaml 内容检查
|
|
58
|
+
Args: config:
|
|
59
|
+
Returns: config
|
|
60
|
+
"""
|
|
61
|
+
if not config:
|
|
62
|
+
logger.error('config.yaml is empty, please check.')
|
|
63
|
+
raise CompareException(CompareException.MERGE_COMPARE_RESULT_ERROR)
|
|
64
|
+
|
|
65
|
+
api_list = config.get('api')
|
|
66
|
+
if not api_list:
|
|
67
|
+
logger.error('The APIs required to merge data were not found.')
|
|
68
|
+
raise CompareException(CompareException.MERGE_COMPARE_RESULT_ERROR)
|
|
69
|
+
if not isinstance(api_list, list):
|
|
70
|
+
logger.error("The config format of 'api' is incorrect, please check.")
|
|
71
|
+
raise CompareException(CompareException.MERGE_COMPARE_RESULT_ERROR)
|
|
72
|
+
|
|
73
|
+
compare_index_list = config.get('compare_index', [])
|
|
74
|
+
if compare_index_list is None:
|
|
75
|
+
compare_index_list = []
|
|
76
|
+
config['compare_index'] = compare_index_list
|
|
77
|
+
if not isinstance(compare_index_list, list):
|
|
78
|
+
logger.error("The config format of 'compare_index' is incorrect, please check.")
|
|
79
|
+
raise CompareException(CompareException.MERGE_COMPARE_RESULT_ERROR)
|
|
80
|
+
|
|
81
|
+
return config
|