mindstudio-probe 1.0.4__py3-none-any.whl → 1.1.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 (278) hide show
  1. {mindstudio_probe-1.0.4.dist-info → mindstudio_probe-1.1.1.dist-info}/METADATA +5 -5
  2. mindstudio_probe-1.1.1.dist-info/RECORD +341 -0
  3. {mindstudio_probe-1.0.4.dist-info → mindstudio_probe-1.1.1.dist-info}/WHEEL +1 -1
  4. {mindstudio_probe-1.0.4.dist-info → mindstudio_probe-1.1.1.dist-info}/entry_points.txt +0 -1
  5. msprobe/README.md +84 -18
  6. msprobe/__init__.py +16 -1
  7. msprobe/config.json +1 -5
  8. msprobe/core/advisor/advisor.py +16 -11
  9. msprobe/core/advisor/advisor_const.py +6 -7
  10. msprobe/core/advisor/advisor_result.py +12 -12
  11. msprobe/core/common/const.py +164 -3
  12. msprobe/core/common/exceptions.py +26 -4
  13. msprobe/core/common/file_utils.py +196 -27
  14. msprobe/core/common/inplace_op_checker.py +53 -0
  15. msprobe/core/common/inplace_ops.yaml +251 -0
  16. msprobe/core/common/log.py +46 -18
  17. msprobe/core/common/utils.py +308 -209
  18. msprobe/core/common_config.py +60 -38
  19. msprobe/core/compare/acc_compare.py +332 -94
  20. msprobe/core/compare/check.py +104 -22
  21. msprobe/core/compare/compare_cli.py +42 -5
  22. msprobe/core/compare/highlight.py +162 -57
  23. msprobe/core/compare/layer_mapping/__init__.py +19 -0
  24. msprobe/core/compare/layer_mapping/data_scope_parser.py +235 -0
  25. msprobe/core/compare/layer_mapping/layer_mapping.py +242 -0
  26. msprobe/core/compare/layer_mapping/postprocess_pass.py +94 -0
  27. msprobe/core/compare/multiprocessing_compute.py +33 -8
  28. msprobe/core/compare/npy_compare.py +73 -29
  29. msprobe/core/compare/utils.py +306 -247
  30. msprobe/core/data_dump/data_collector.py +44 -43
  31. msprobe/core/data_dump/data_processor/base.py +88 -35
  32. msprobe/core/data_dump/data_processor/factory.py +20 -3
  33. msprobe/core/data_dump/data_processor/mindspore_processor.py +14 -8
  34. msprobe/core/data_dump/data_processor/pytorch_processor.py +180 -66
  35. msprobe/core/data_dump/json_writer.py +63 -42
  36. msprobe/core/data_dump/scope.py +143 -48
  37. msprobe/core/grad_probe/constant.py +31 -13
  38. msprobe/core/grad_probe/grad_compare.py +20 -4
  39. msprobe/core/grad_probe/utils.py +44 -3
  40. msprobe/core/overflow_check/abnormal_scene.py +185 -0
  41. msprobe/core/overflow_check/api_info.py +55 -0
  42. msprobe/core/overflow_check/checker.py +138 -0
  43. msprobe/core/overflow_check/filter.py +157 -0
  44. msprobe/core/overflow_check/ignore_rules.yaml +55 -0
  45. msprobe/core/overflow_check/level.py +22 -0
  46. msprobe/core/overflow_check/utils.py +28 -0
  47. msprobe/docs/01.installation.md +29 -9
  48. msprobe/docs/02.config_introduction.md +83 -84
  49. msprobe/docs/03.config_examples.md +3 -20
  50. msprobe/docs/04.kernel_dump_PyTorch.md +73 -0
  51. msprobe/docs/05.data_dump_PyTorch.md +143 -13
  52. msprobe/docs/06.data_dump_MindSpore.md +197 -88
  53. msprobe/docs/07.accuracy_checker_PyTorch.md +69 -46
  54. msprobe/docs/08.accuracy_checker_online_PyTorch.md +52 -17
  55. msprobe/docs/09.accuracy_checker_MindSpore.md +51 -15
  56. msprobe/docs/10.accuracy_compare_PyTorch.md +187 -99
  57. msprobe/docs/11.accuracy_compare_MindSpore.md +253 -31
  58. msprobe/docs/12.overflow_check_PyTorch.md +1 -1
  59. msprobe/docs/13.overflow_check_MindSpore.md +6 -6
  60. msprobe/docs/15.free_benchmarking_PyTorch.md +60 -55
  61. msprobe/docs/16.free_benchmarking_MindSpore.md +159 -0
  62. msprobe/docs/17.grad_probe.md +19 -22
  63. msprobe/docs/18.online_dispatch.md +89 -0
  64. msprobe/docs/19.monitor.md +468 -0
  65. msprobe/docs/20.monitor_performance_baseline.md +52 -0
  66. msprobe/docs/21.visualization_PyTorch.md +386 -0
  67. msprobe/docs/22.visualization_MindSpore.md +384 -0
  68. msprobe/docs/23.tool_function_introduction.md +28 -0
  69. msprobe/docs/{FAQ_PyTorch.md → FAQ.md} +25 -10
  70. msprobe/docs/data_dump_Mindspore/dynamic_graph_quick_start_example.md +211 -0
  71. msprobe/docs/img/compare_result.png +0 -0
  72. msprobe/docs/img/monitor/cpu_info.png +0 -0
  73. msprobe/docs/img/ms_dump.png +0 -0
  74. msprobe/docs/img/ms_layer.png +0 -0
  75. msprobe/docs/img/pt_dump.png +0 -0
  76. msprobe/mindspore/__init__.py +16 -0
  77. msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +130 -138
  78. msprobe/mindspore/api_accuracy_checker/api_info.py +27 -5
  79. msprobe/mindspore/api_accuracy_checker/api_runner.py +43 -18
  80. msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py +21 -7
  81. msprobe/mindspore/api_accuracy_checker/checker_support_api.yaml +77 -0
  82. msprobe/mindspore/api_accuracy_checker/cmd_parser.py +63 -1
  83. msprobe/mindspore/api_accuracy_checker/compute_element.py +59 -24
  84. msprobe/mindspore/api_accuracy_checker/data_manager.py +264 -0
  85. msprobe/mindspore/api_accuracy_checker/main.py +27 -3
  86. msprobe/mindspore/api_accuracy_checker/multi_api_accuracy_checker.py +206 -0
  87. msprobe/mindspore/api_accuracy_checker/multi_data_manager.py +58 -0
  88. msprobe/mindspore/api_accuracy_checker/type_mapping.py +22 -5
  89. msprobe/mindspore/api_accuracy_checker/utils.py +34 -17
  90. msprobe/mindspore/cell_processor.py +58 -13
  91. msprobe/mindspore/common/const.py +35 -13
  92. msprobe/mindspore/common/log.py +5 -9
  93. msprobe/mindspore/common/utils.py +60 -5
  94. msprobe/mindspore/compare/distributed_compare.py +15 -28
  95. msprobe/mindspore/compare/ms_compare.py +319 -158
  96. msprobe/mindspore/compare/ms_graph_compare.py +99 -49
  97. msprobe/mindspore/debugger/debugger_config.py +20 -14
  98. msprobe/mindspore/debugger/precision_debugger.py +43 -13
  99. msprobe/mindspore/dump/dump_tool_factory.py +18 -1
  100. msprobe/mindspore/dump/hook_cell/api_registry.py +23 -3
  101. msprobe/mindspore/dump/hook_cell/primitive_hooks.py +203 -0
  102. msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml +107 -10
  103. msprobe/mindspore/dump/hook_cell/wrap_api.py +21 -13
  104. msprobe/mindspore/dump/jit_dump.py +56 -20
  105. msprobe/mindspore/dump/kernel_graph_dump.py +19 -5
  106. msprobe/mindspore/dump/kernel_kbyk_dump.py +19 -6
  107. msprobe/mindspore/dym_loader/hook_dynamic_loader.cc +140 -0
  108. msprobe/mindspore/dym_loader/hook_dynamic_loader.h +53 -0
  109. msprobe/mindspore/free_benchmark/api_pynative_self_check.py +162 -41
  110. msprobe/mindspore/free_benchmark/common/config.py +15 -0
  111. msprobe/mindspore/free_benchmark/common/handler_params.py +15 -1
  112. msprobe/mindspore/free_benchmark/common/utils.py +37 -8
  113. msprobe/mindspore/free_benchmark/data/support_wrap_ops.yaml +0 -204
  114. msprobe/mindspore/free_benchmark/handler/base_handler.py +20 -5
  115. msprobe/mindspore/free_benchmark/handler/check_handler.py +21 -7
  116. msprobe/mindspore/free_benchmark/handler/fix_handler.py +18 -3
  117. msprobe/mindspore/free_benchmark/handler/handler_factory.py +21 -6
  118. msprobe/mindspore/free_benchmark/perturbation/add_noise.py +23 -8
  119. msprobe/mindspore/free_benchmark/perturbation/base_perturbation.py +29 -5
  120. msprobe/mindspore/free_benchmark/perturbation/bit_noise.py +25 -10
  121. msprobe/mindspore/free_benchmark/perturbation/exchange_value.py +45 -19
  122. msprobe/mindspore/free_benchmark/perturbation/improve_precision.py +29 -8
  123. msprobe/mindspore/free_benchmark/perturbation/no_change.py +16 -1
  124. msprobe/mindspore/free_benchmark/perturbation/perturbation_factory.py +22 -7
  125. msprobe/mindspore/free_benchmark/self_check_tool_factory.py +17 -2
  126. msprobe/mindspore/grad_probe/global_context.py +44 -14
  127. msprobe/mindspore/grad_probe/grad_analyzer.py +27 -13
  128. msprobe/mindspore/grad_probe/grad_monitor.py +16 -1
  129. msprobe/mindspore/grad_probe/grad_stat_csv.py +33 -5
  130. msprobe/mindspore/grad_probe/hook.py +24 -10
  131. msprobe/mindspore/grad_probe/utils.py +18 -5
  132. msprobe/mindspore/ms_config.py +22 -15
  133. msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py +20 -6
  134. msprobe/mindspore/overflow_check/overflow_check_tool_factory.py +15 -0
  135. msprobe/mindspore/runtime.py +15 -0
  136. msprobe/mindspore/service.py +75 -150
  137. msprobe/mindspore/task_handler_factory.py +15 -0
  138. msprobe/msprobe.py +24 -7
  139. msprobe/pytorch/__init__.py +23 -3
  140. msprobe/pytorch/api_accuracy_checker/common/config.py +81 -2
  141. msprobe/pytorch/api_accuracy_checker/common/utils.py +53 -21
  142. msprobe/pytorch/api_accuracy_checker/compare/algorithm.py +19 -2
  143. msprobe/pytorch/api_accuracy_checker/compare/api_precision_compare.py +50 -25
  144. msprobe/pytorch/api_accuracy_checker/compare/compare.py +51 -21
  145. msprobe/pytorch/api_accuracy_checker/compare/compare_column.py +23 -6
  146. msprobe/pytorch/api_accuracy_checker/compare/compare_utils.py +28 -8
  147. msprobe/pytorch/api_accuracy_checker/config.yaml +1 -1
  148. msprobe/pytorch/api_accuracy_checker/generate_op_script/config_op.json +9 -0
  149. msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py +454 -0
  150. msprobe/pytorch/api_accuracy_checker/generate_op_script/operator_replication.template +365 -0
  151. msprobe/pytorch/api_accuracy_checker/run_ut/data_generate.py +73 -33
  152. msprobe/pytorch/api_accuracy_checker/run_ut/multi_run_ut.py +44 -18
  153. msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py +32 -11
  154. msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py +122 -172
  155. msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py +158 -4
  156. msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/attl.py +30 -24
  157. msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/client.py +68 -31
  158. msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/device_dispatch.py +27 -4
  159. msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/dump_dispatch.py +115 -0
  160. msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/server.py +26 -9
  161. msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/torch_ops_config.yaml +63 -0
  162. msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/utils.py +44 -0
  163. msprobe/pytorch/bench_functions/__init__.py +18 -3
  164. msprobe/pytorch/bench_functions/apply_adam_w.py +15 -0
  165. msprobe/pytorch/bench_functions/confusion_transpose.py +20 -1
  166. msprobe/pytorch/bench_functions/fast_gelu.py +15 -0
  167. msprobe/pytorch/bench_functions/layer_norm_eval.py +15 -0
  168. msprobe/pytorch/bench_functions/linear.py +15 -0
  169. msprobe/pytorch/bench_functions/matmul_backward.py +33 -6
  170. msprobe/pytorch/bench_functions/npu_fusion_attention.py +280 -157
  171. msprobe/pytorch/bench_functions/rms_norm.py +15 -0
  172. msprobe/pytorch/bench_functions/rotary_mul.py +32 -9
  173. msprobe/pytorch/bench_functions/scaled_mask_softmax.py +15 -0
  174. msprobe/pytorch/bench_functions/swiglu.py +29 -6
  175. msprobe/pytorch/common/__init__.py +15 -0
  176. msprobe/pytorch/common/log.py +18 -6
  177. msprobe/pytorch/common/parse_json.py +31 -16
  178. msprobe/pytorch/common/utils.py +96 -40
  179. msprobe/pytorch/compare/distributed_compare.py +13 -14
  180. msprobe/pytorch/compare/match.py +15 -0
  181. msprobe/pytorch/compare/pt_compare.py +44 -10
  182. msprobe/pytorch/debugger/debugger_config.py +69 -52
  183. msprobe/pytorch/debugger/precision_debugger.py +72 -24
  184. msprobe/pytorch/dump/kernel_dump/kernel_config.py +33 -0
  185. msprobe/pytorch/free_benchmark/__init__.py +20 -5
  186. msprobe/pytorch/free_benchmark/common/constant.py +15 -0
  187. msprobe/pytorch/free_benchmark/common/counter.py +15 -0
  188. msprobe/pytorch/free_benchmark/common/enums.py +43 -0
  189. msprobe/pytorch/free_benchmark/common/params.py +23 -1
  190. msprobe/pytorch/free_benchmark/common/utils.py +43 -5
  191. msprobe/pytorch/free_benchmark/compare/grad_saver.py +47 -9
  192. msprobe/pytorch/free_benchmark/compare/single_benchmark.py +17 -0
  193. msprobe/pytorch/free_benchmark/main.py +19 -4
  194. msprobe/pytorch/free_benchmark/perturbed_layers/base_layer.py +15 -0
  195. msprobe/pytorch/free_benchmark/perturbed_layers/layer_factory.py +19 -4
  196. msprobe/pytorch/free_benchmark/perturbed_layers/npu/add_noise.py +18 -1
  197. msprobe/pytorch/free_benchmark/perturbed_layers/npu/bit_noise.py +21 -4
  198. msprobe/pytorch/free_benchmark/perturbed_layers/npu/change_value.py +28 -2
  199. msprobe/pytorch/free_benchmark/perturbed_layers/npu/improve_precision.py +19 -0
  200. msprobe/pytorch/free_benchmark/perturbed_layers/npu/no_change.py +15 -0
  201. msprobe/pytorch/free_benchmark/perturbed_layers/npu/npu_base_layser.py +15 -0
  202. msprobe/pytorch/free_benchmark/perturbed_layers/run_cpu.py +15 -0
  203. msprobe/pytorch/free_benchmark/result_handlers/base_handler.py +65 -16
  204. msprobe/pytorch/free_benchmark/result_handlers/check_handler.py +15 -0
  205. msprobe/pytorch/free_benchmark/result_handlers/fix_handler.py +21 -5
  206. msprobe/pytorch/free_benchmark/result_handlers/handler_factory.py +15 -0
  207. msprobe/pytorch/free_benchmark/result_handlers/preheat_handler.py +19 -4
  208. msprobe/pytorch/function_factory.py +17 -2
  209. msprobe/pytorch/functional/module_dump.py +84 -0
  210. msprobe/pytorch/grad_probe/grad_monitor.py +23 -6
  211. msprobe/pytorch/grad_probe/grad_stat_csv.py +40 -10
  212. msprobe/pytorch/hook_module/__init__.py +16 -1
  213. msprobe/pytorch/hook_module/api_registry.py +13 -8
  214. msprobe/pytorch/hook_module/hook_module.py +17 -19
  215. msprobe/pytorch/hook_module/support_wrap_ops.yaml +1 -0
  216. msprobe/pytorch/hook_module/utils.py +4 -6
  217. msprobe/pytorch/hook_module/wrap_aten.py +12 -11
  218. msprobe/pytorch/hook_module/wrap_distributed.py +6 -7
  219. msprobe/pytorch/hook_module/wrap_functional.py +21 -20
  220. msprobe/pytorch/hook_module/wrap_npu_custom.py +9 -17
  221. msprobe/pytorch/hook_module/wrap_tensor.py +4 -6
  222. msprobe/pytorch/hook_module/wrap_torch.py +4 -6
  223. msprobe/pytorch/hook_module/wrap_vf.py +4 -6
  224. msprobe/pytorch/module_processer.py +18 -6
  225. msprobe/pytorch/monitor/anomaly_analyse.py +201 -0
  226. msprobe/pytorch/monitor/anomaly_detect.py +340 -0
  227. msprobe/pytorch/monitor/distributed/distributed_ops.yaml +19 -0
  228. msprobe/pytorch/monitor/distributed/stack_blacklist.yaml +5 -0
  229. msprobe/pytorch/monitor/distributed/wrap_distributed.py +272 -0
  230. msprobe/pytorch/monitor/features.py +108 -0
  231. msprobe/pytorch/monitor/module_hook.py +870 -0
  232. msprobe/pytorch/monitor/module_metric.py +193 -0
  233. msprobe/pytorch/monitor/module_spec_verifier.py +93 -0
  234. msprobe/pytorch/monitor/optimizer_collect.py +295 -0
  235. msprobe/pytorch/monitor/unittest/__init__.py +0 -0
  236. msprobe/pytorch/monitor/unittest/test_monitor.py +145 -0
  237. msprobe/pytorch/monitor/utils.py +250 -0
  238. msprobe/pytorch/monitor/visualizer.py +59 -0
  239. msprobe/pytorch/online_dispatch/__init__.py +2 -3
  240. msprobe/pytorch/online_dispatch/compare.py +38 -48
  241. msprobe/pytorch/online_dispatch/dispatch.py +50 -25
  242. msprobe/pytorch/online_dispatch/dump_compare.py +21 -9
  243. msprobe/pytorch/online_dispatch/single_compare.py +60 -39
  244. msprobe/pytorch/online_dispatch/torch_ops_config.yaml +9 -1
  245. msprobe/pytorch/online_dispatch/utils.py +48 -23
  246. msprobe/pytorch/parse.py +15 -0
  247. msprobe/pytorch/parse_tool/cli.py +5 -6
  248. msprobe/pytorch/parse_tool/lib/compare.py +19 -26
  249. msprobe/pytorch/parse_tool/lib/config.py +1 -1
  250. msprobe/pytorch/parse_tool/lib/parse_tool.py +4 -2
  251. msprobe/pytorch/parse_tool/lib/utils.py +40 -55
  252. msprobe/pytorch/parse_tool/lib/visualization.py +3 -1
  253. msprobe/pytorch/pt_config.py +192 -40
  254. msprobe/pytorch/service.py +110 -35
  255. msprobe/visualization/__init__.py +14 -0
  256. msprobe/visualization/builder/__init__.py +14 -0
  257. msprobe/visualization/builder/graph_builder.py +165 -0
  258. msprobe/visualization/builder/msprobe_adapter.py +205 -0
  259. msprobe/visualization/compare/__init__.py +14 -0
  260. msprobe/visualization/compare/graph_comparator.py +130 -0
  261. msprobe/visualization/compare/mode_adapter.py +211 -0
  262. msprobe/visualization/graph/__init__.py +14 -0
  263. msprobe/visualization/graph/base_node.py +124 -0
  264. msprobe/visualization/graph/graph.py +200 -0
  265. msprobe/visualization/graph/node_colors.py +95 -0
  266. msprobe/visualization/graph/node_op.py +39 -0
  267. msprobe/visualization/graph_service.py +214 -0
  268. msprobe/visualization/utils.py +232 -0
  269. mindstudio_probe-1.0.4.dist-info/RECORD +0 -276
  270. msprobe/docs/04.acl_config_examples.md +0 -76
  271. msprobe/mindspore/free_benchmark/decorator/dec_forward.py +0 -43
  272. msprobe/mindspore/free_benchmark/decorator/decorator_factory.py +0 -107
  273. msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/ssl_config.py +0 -10
  274. msprobe/pytorch/functional/dump_module.py +0 -39
  275. {mindstudio_probe-1.0.4.dist-info → mindstudio_probe-1.1.1.dist-info}/LICENSE +0 -0
  276. {mindstudio_probe-1.0.4.dist-info → mindstudio_probe-1.1.1.dist-info}/top_level.txt +0 -0
  277. /msprobe/{mindspore/free_benchmark/decorator → pytorch/monitor}/__init__.py +0 -0
  278. /msprobe/pytorch/{functional/data_processor.py → monitor/distributed/__init__.py} +0 -0
@@ -1,11 +1,4 @@
1
1
  # List of apis that support self check
2
-
3
- communication:
4
- - all_gather_into_tensor
5
- - gather_into_tensor
6
- - all_reduce
7
- - reduce
8
- - reduce_scatter_tensor
9
2
 
10
3
  ops:
11
4
  - adaptive_avg_pool1d
@@ -18,18 +11,10 @@ ops:
18
11
  - avg_pool3d
19
12
  - batch_norm
20
13
  - bias_add
21
- - ctc_greedy_decoder
22
14
  - conv1d
23
15
  - conv2d
24
16
  - conv3d
25
17
  - deformable_conv2d
26
- - dense
27
- - dropout
28
- - dropout1d
29
- - dropout2d
30
- - dropout3d
31
- - flatten
32
- - fold
33
18
  - fractional_max_pool3d
34
19
  - lp_pool1d
35
20
  - lp_pool2d
@@ -39,7 +24,6 @@ ops:
39
24
  - max_unpool1d
40
25
  - max_unpool2d
41
26
  - max_unpool3d
42
- - unfold
43
27
  - binary_cross_entropy
44
28
  - binary_cross_entropy_with_logits
45
29
  - cosine_embedding_loss
@@ -105,8 +89,6 @@ ops:
105
89
  - pixel_shuffle
106
90
  - pixel_unshuffle
107
91
  - upsample
108
- - abs
109
- - absolute
110
92
  - accumulate_n
111
93
  - acos
112
94
  - arccos
@@ -143,16 +125,9 @@ ops:
143
125
  - bessel_k1e
144
126
  - bessel_y0
145
127
  - bessel_y1
146
- - bitwise_and
147
- - bitwise_left_shift
148
- - bitwise_or
149
- - bitwise_right_shift
150
- - bitwise_xor
151
128
  - ceil
152
129
  - clamp
153
130
  - clip
154
- - combinations
155
- - copysign
156
131
  - cos
157
132
  - cosh
158
133
  - cosine_similarity
@@ -200,12 +175,8 @@ ops:
200
175
  - mul
201
176
  - multiply
202
177
  - mvlgamma
203
- - neg
204
- - negative
205
- - nextafter
206
178
  - polar
207
179
  - polygamma
208
- - positive
209
180
  - pow
210
181
  - rad2deg
211
182
  - ravel
@@ -225,7 +196,6 @@ ops:
225
196
  - square
226
197
  - sub
227
198
  - subtract
228
- - t
229
199
  - tan
230
200
  - tanhshrink
231
201
  - trapz
@@ -238,11 +208,9 @@ ops:
238
208
  - xdivy
239
209
  - xlogy
240
210
  - zeta
241
- - all
242
211
  - amax
243
212
  - amin
244
213
  - aminmax
245
- - any
246
214
  - argmax
247
215
  - argmin
248
216
  - cummax
@@ -264,28 +232,10 @@ ops:
264
232
  - var_mean
265
233
  - argsort
266
234
  - approximate_equal
267
- - equal
268
- - ge
269
- - greater
270
- - greater_equal
271
- - gt
272
235
  - intopk
273
- - isclose
274
- - isfinite
275
- - isinf
276
- - isnan
277
- - isneginf
278
- - isposinf
279
- - isreal
280
- - le
281
- - less
282
- - less_equal
283
- - lt
284
236
  - maximum
285
237
  - minimum
286
238
  - msort
287
- - ne
288
- - not_equal
289
239
  - searchsorted
290
240
  - topk
291
241
  - bmm
@@ -329,30 +279,12 @@ ops:
329
279
  - hamming_window
330
280
  - hann_window
331
281
  - kaiser_window
332
- - eye
333
- - fill
334
- - full
335
- - full_like
336
- - linspace
337
- - logspace
338
- - one_hot
339
- - arange
340
- - range
341
282
  - heaviside
342
283
  - bernoulli
343
284
  - gamma
344
285
  - laplace
345
286
  - multinomial
346
287
  - multinomial_with_replacement
347
- - rand
348
- - rand_like
349
- - randint
350
- - randint_like
351
- - randn
352
- - randn_like
353
- - random_gamma
354
- - random_poisson
355
- - randperm
356
288
  - standard_laplace
357
289
  - standard_normal
358
290
  - uniform
@@ -361,14 +293,10 @@ ops:
361
293
  - bincount
362
294
  - block_diag
363
295
  - broadcast_to
364
- - cat
365
296
  - channel_shuffle
366
- - chunk
367
297
  - column_stack
368
- - concat
369
298
  - conj
370
299
  - count_nonzero
371
- - deepcopy
372
300
  - diag
373
301
  - diagflat
374
302
  - diagonal
@@ -395,49 +323,22 @@ ops:
395
323
  - nan_to_num
396
324
  - nansum
397
325
  - normal
398
- - nonzero
399
326
  - population_count
400
- - rank
401
- - repeat_elements
402
- - repeat_interleave
403
- - reshape
404
- - reverse
405
- - reverse_sequence
406
- - roll
407
- - select
408
327
  - sequence_mask
409
- - shuffle
410
- - size
411
- - slice
412
- - sort
413
328
  - space_to_batch_nd
414
329
  - sparse_segment_mean
415
- - split
416
- - squeeze
417
- - stack
418
- - strided_slice
419
330
  - sum
420
331
  - swapaxes
421
332
  - swapdims
422
- - tensor_split
423
- - tile
424
333
  - tril
425
334
  - triu
426
- - transpose
427
335
  - unbind
428
- - unique
429
- - unique_consecutive
430
- - unique_with_pad
431
336
  - unsorted_segment_max
432
337
  - unsorted_segment_min
433
338
  - unsorted_segment_prod
434
339
  - unsorted_segment_sum
435
- - unsqueeze
436
- - unstack
437
- - view_as_real
438
340
  - vsplit
439
341
  - vstack
440
- - where
441
342
  - cross
442
343
  - renorm
443
344
  - tuple_to_array
@@ -447,7 +348,6 @@ ops:
447
348
  - jet
448
349
 
449
350
  Tensor:
450
- - __abs__
451
351
  - __add__
452
352
  - __and__
453
353
  - __iadd__
@@ -459,8 +359,6 @@ Tensor:
459
359
  - __matmul__
460
360
  - __mod__
461
361
  - __mul__
462
- - __neg__
463
- - __or__
464
362
  - __pow__
465
363
  - __radd__
466
364
  - __rmatmul__
@@ -471,8 +369,6 @@ Tensor:
471
369
  - __sub__
472
370
  - __truediv__
473
371
  - __xor__
474
- - abs
475
- - absolute
476
372
  - acos
477
373
  - acosh
478
374
  - add
@@ -504,18 +400,11 @@ Tensor:
504
400
  - baddbmm
505
401
  - bernoulli
506
402
  - bincount
507
- - bitwise_and
508
- - bitwise_or
509
- - bitwise_xor
510
403
  - bmm
511
404
  - broadcast_to
512
- - ceil
513
405
  - cholesky_solve
514
406
  - cholesky
515
- - clamp
516
- - clip
517
407
  - conj
518
- - copysign
519
408
  - cos
520
409
  - cosh
521
410
  - cross
@@ -530,7 +419,6 @@ Tensor:
530
419
  - digamma
531
420
  - div
532
421
  - divide
533
- - equal
534
422
  - erf
535
423
  - erfc
536
424
  - erfinv
@@ -541,14 +429,11 @@ Tensor:
541
429
  - fliplr
542
430
  - flipud
543
431
  - float_power
544
- - floor
545
432
  - fmod
546
433
  - frac
547
434
  - gather_elements
548
435
  - geqrf
549
436
  - ger
550
- - greater
551
- - greater_equal
552
437
  - half
553
438
  - hardshrink
554
439
  - heaviside
@@ -559,13 +444,7 @@ Tensor:
559
444
  - igammac
560
445
  - imag
561
446
  - index_add
562
- - index_fill
563
- - index_put
564
- - index_select
565
447
  - inner
566
- - int
567
- - inverse
568
- - item
569
448
  - lcm
570
449
  - ldexp
571
450
  - lerp
@@ -587,30 +466,17 @@ Tensor:
587
466
  - masked_scatter
588
467
  - masked_select
589
468
  - matmul
590
- - max
591
- - maximum
592
469
  - mean
593
470
  - median
594
- - min
595
- - minimum
596
471
  - moveaxis
597
472
  - movedim
598
- - msort
599
473
  - multinomial
600
474
  - multiply
601
475
  - mvlgamma
602
- - nan_to_num
603
476
  - nansum
604
477
  - narrow
605
- - neg
606
- - negative
607
478
  - nelement
608
- - new_ones
609
- - new_zeros
610
- - nextafter
611
479
  - norm
612
- - nonzero
613
- - not_equal
614
480
  - ormqr
615
481
  - permute
616
482
  - pow
@@ -622,10 +488,6 @@ Tensor:
622
488
  - remainder
623
489
  - renorm
624
490
  - rad2deg
625
- - tile
626
- - repeat_interleave
627
- - reshape
628
- - reshape
629
491
  - round
630
492
  - rot90
631
493
  - rsqrt
@@ -641,73 +503,44 @@ Tensor:
641
503
  - sinh
642
504
  - slogdet
643
505
  - sort
644
- - split
645
506
  - sqrt
646
507
  - square
647
- - squeeze
648
508
  - std
649
509
  - subtract
650
510
  - subtract
651
511
  - svd
652
512
  - swapaxes
653
513
  - swapdims
654
- - t
655
- - take
656
514
  - tan
657
515
  - tanh
658
516
  - trace
659
517
  - swapaxes
660
- - tile
661
518
  - topk
662
519
  - tril
663
- - tensor_split
664
- - transpose
665
520
  - true_divide
666
521
  - trunc
667
522
  - unbind
668
523
  - unique_consecutive
669
- - unsqueeze
670
524
  - var
671
- - view
672
- - where
673
525
  - xlogy
674
526
  - from_numpy
675
527
  - std
676
- - take
677
528
  - var
678
- - all
679
- - any
680
- - copy
681
529
  - diagonal
682
- - flatten
683
- - resize
684
530
  - sum
685
531
 
686
532
  mint:
687
- - abs
688
- - absolute_import
689
533
  - add
690
534
  - add_ex
691
- - all
692
- - any
693
535
  - any_ex
694
- - arange
695
536
  - argmax
696
537
  - avg_pool2d
697
538
  - baddbmm
698
539
  - baddbmm_ex
699
540
  - batch_norm
700
541
  - binary_cross_entropy_with_logits
701
- - bitwise_and
702
- - bitwise_or
703
- - bitwise_xor
704
542
  - bmm
705
543
  - broadcast_to
706
- - cat
707
- - cat_ex
708
- - ceil
709
- - chunk
710
- - clamp
711
544
  - conv2d
712
545
  - conv_transpose2d
713
546
  - cos
@@ -717,59 +550,32 @@ mint:
717
550
  - cumsum
718
551
  - div
719
552
  - divide
720
- - dropout
721
553
  - embedding
722
- - eq
723
554
  - erf
724
555
  - erfinv
725
556
  - exp
726
- - flatten
727
- - flip
728
- - flip_ex
729
- - fold
730
- - full
731
557
  - gather
732
558
  - gelu
733
559
  - greater
734
560
  - grid_sample
735
561
  - group_norm
736
- - gt
737
562
  - index_select
738
563
  - interpolate
739
- - isclose
740
- - isfinite
741
564
  - layer_norm
742
- - le
743
565
  - leaky_relu
744
- - less
745
- - less_equal
746
566
  - linear
747
567
  - linspace
748
568
  - log
749
569
  - logical_and
750
570
  - logical_not
751
571
  - logical_or
752
- - lt
753
572
  - masked_select
754
573
  - matmul
755
- - max
756
574
  - max_pool2d
757
- - maximum
758
575
  - mean
759
576
  - mean_ex
760
- - min
761
- - minimum
762
577
  - mul
763
- - ne
764
- - neg
765
- - negative
766
- - nonzero
767
578
  - normal
768
- - one_hot
769
- - ones
770
- - ones_ex
771
- - ones_like
772
- - pad
773
579
  - permute
774
580
  - permute_ex
775
581
  - pow
@@ -786,7 +592,6 @@ mint:
786
592
  - softmax
787
593
  - softplus
788
594
  - sort
789
- - split
790
595
  - sqrt
791
596
  - sqrt_ex
792
597
  - square
@@ -795,17 +600,9 @@ mint:
795
600
  - sub_ex
796
601
  - sum
797
602
  - tanh
798
- - tile
799
603
  - topk
800
- - tril
801
604
  - triu
802
- - unfold
803
- - unique
804
- - where
805
605
  - xlogy
806
- - zeros
807
- - zeros_ex
808
- - zeros_like
809
606
 
810
607
  mint.nn.functional:
811
608
  - absolute_import
@@ -816,7 +613,6 @@ mint.nn.functional:
816
613
  - binary_cross_entropy_with_logits
817
614
  - conv_transpose2d
818
615
  - dense
819
- - dropout
820
616
  - embedding
821
617
  - fold
822
618
  - gelu
@@ -1,20 +1,35 @@
1
+ # Copyright (c) 2024-2024, 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
+
1
16
  import math
2
17
  from abc import ABC, abstractmethod
3
- from typing import Any, Tuple, Optional
18
+ from typing import Any, Optional, Tuple
4
19
 
5
20
  import mindspore as ms
6
21
  from mindspore import Tensor, ops
7
22
 
8
- from msprobe.mindspore.common.log import logger
9
- from msprobe.mindspore.free_benchmark.common.utils import Tools
10
23
  from msprobe.mindspore.common.const import FreeBenchmarkConst
24
+ from msprobe.mindspore.common.log import logger
11
25
  from msprobe.mindspore.free_benchmark.common.handler_params import HandlerParams
26
+ from msprobe.mindspore.free_benchmark.common.utils import Tools
12
27
 
13
28
 
14
29
  class BaseHandler(ABC):
15
30
 
16
- def __init__(self, api_name: str):
17
- self.api_name = api_name
31
+ def __init__(self, api_name_with_id: str):
32
+ self.api_name_with_id = api_name_with_id
18
33
 
19
34
  @staticmethod
20
35
  def pre_calculate(original_output, fuzzed_output):
@@ -1,14 +1,29 @@
1
- from typing import Any
1
+ # Copyright (c) 2024-2024, 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
+
2
16
  from dataclasses import asdict
17
+ from typing import Any
3
18
 
4
19
  from mindspore import Tensor, ops
5
20
 
21
+ from msprobe.core.data_dump.json_writer import DataWriter
6
22
  from msprobe.mindspore.common.log import logger
7
23
  from msprobe.mindspore.free_benchmark.common.config import Config
8
- from msprobe.mindspore.free_benchmark.handler.base_handler import BaseHandler
9
24
  from msprobe.mindspore.free_benchmark.common.handler_params import HandlerParams
10
25
  from msprobe.mindspore.free_benchmark.common.utils import make_unequal_row
11
- from msprobe.core.data_dump.json_writer import DataWriter
26
+ from msprobe.mindspore.free_benchmark.handler.base_handler import BaseHandler
12
27
 
13
28
 
14
29
  class CheckHandler(BaseHandler):
@@ -17,19 +32,19 @@ class CheckHandler(BaseHandler):
17
32
  is_consistent, ratio = self.npu_compare(original_output, fuzzed_output)
18
33
  params.is_consistent = params.is_consistent and is_consistent
19
34
  if not is_consistent:
20
- row = make_unequal_row(self.api_name, params, ratio, output_index)
35
+ row = make_unequal_row(self.api_name_with_id, params, ratio, output_index)
21
36
  data_dict = asdict(row)
22
37
  DataWriter.write_data_to_csv(
23
38
  data_dict.values(),
24
39
  data_dict.keys(),
25
40
  Config.dump_path
26
41
  )
27
- logger.error(f"{self.api_name} is not consistent")
42
+ logger.error(f"{self.api_name_with_id} is not consistent")
28
43
 
29
44
  def handle(self, params: HandlerParams) -> Any:
30
45
  try:
31
46
  if not self.is_float_tensor(params.fuzzed_result):
32
- return params.original_result
47
+ return
33
48
  if isinstance(params.fuzzed_result, Tensor):
34
49
  self.npu_compare_and_save(params.original_result, params.fuzzed_result, params)
35
50
  elif isinstance(params.fuzzed_result, (list, tuple)):
@@ -38,4 +53,3 @@ class CheckHandler(BaseHandler):
38
53
  self.npu_compare_and_save(item, params.fuzzed_result[i], params, output_index=i)
39
54
  except Exception as e:
40
55
  logger.error(str(e))
41
- return params.original_result
@@ -1,3 +1,18 @@
1
+ # Copyright (c) 2024-2024, 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
+
1
16
  from typing import Any
2
17
 
3
18
  from mindspore import Tensor
@@ -8,8 +23,8 @@ from msprobe.mindspore.free_benchmark.common.handler_params import HandlerParams
8
23
 
9
24
  class FixHandler:
10
25
 
11
- def __init__(self, api_name: str):
12
- self.api_name = api_name
26
+ def __init__(self, api_name_with_id: str):
27
+ self.api_name_with_id = api_name_with_id
13
28
 
14
29
  @staticmethod
15
30
  def use_fuzzed_result(original_result, fuzzed_result):
@@ -31,6 +46,6 @@ class FixHandler:
31
46
  try:
32
47
  return FixHandler.use_fuzzed_result(params.original_result, params.fuzzed_result)
33
48
  except Exception as e:
34
- logger.error(f"{self.api_name} failed to fix.")
49
+ logger.error(f"{self.api_name_with_id} failed to fix.")
35
50
  logger.error(str(e))
36
51
  return params.original_result
@@ -1,21 +1,36 @@
1
+ # Copyright (c) 2024-2024, 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.mindspore.common.const import FreeBenchmarkConst
1
17
  from msprobe.mindspore.common.log import logger
2
18
  from msprobe.mindspore.free_benchmark.common.config import Config
3
- from msprobe.mindspore.common.const import FreeBenchmarkConst
4
- from .check_handler import CheckHandler
5
- from .fix_handler import FixHandler
19
+ from msprobe.mindspore.free_benchmark.handler.check_handler import CheckHandler
20
+ from msprobe.mindspore.free_benchmark.handler.fix_handler import FixHandler
6
21
 
7
22
 
8
23
  class HandlerFactory:
9
24
  result_handlers = {
10
25
  FreeBenchmarkConst.CHECK: CheckHandler,
11
- FreeBenchmarkConst.FIX: FixHandler,
26
+ FreeBenchmarkConst.FIX: FixHandler
12
27
  }
13
28
 
14
29
  @staticmethod
15
- def create(api_name: str):
30
+ def create(api_name_with_id: str):
16
31
  handler = HandlerFactory.result_handlers.get(Config.handler_type)
17
32
  if handler:
18
- return handler(api_name)
33
+ return handler(api_name_with_id)
19
34
  else:
20
35
  logger.error(f"{Config.handler_type} is not supported.")
21
36
  raise Exception