mindspore 2.6.0__cp310-cp310-win_amd64.whl → 2.7.0__cp310-cp310-win_amd64.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.

Potentially problematic release.


This version of mindspore might be problematic. Click here for more details.

Files changed (455) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
  3. mindspore/Newtonsoft.Json.dll +0 -0
  4. mindspore/__init__.py +2 -2
  5. mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
  8. mindspore/_checkparam.py +42 -11
  9. mindspore/_extends/builtin_operations.py +3 -3
  10. mindspore/{_deprecated → _extends/optimize}/__init__.py +9 -3
  11. mindspore/_extends/optimize/cell_utils.py +96 -0
  12. mindspore/_extends/parallel_compile/akg_compiler/custom.py +1109 -0
  13. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
  14. mindspore/_extends/parse/__init__.py +3 -3
  15. mindspore/_extends/parse/compile_config.py +44 -22
  16. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +1 -2
  17. mindspore/_extends/parse/parser.py +64 -83
  18. mindspore/_extends/parse/resources.py +39 -0
  19. mindspore/_extends/parse/standard_method.py +47 -14
  20. mindspore/_extends/parse/trope.py +8 -1
  21. mindspore/_extends/pijit/__init__.py +1 -2
  22. mindspore/_extends/pijit/pijit_func_white_list.py +2 -5
  23. mindspore/amp.py +4 -22
  24. mindspore/atlprov.dll +0 -0
  25. mindspore/avcodec-59.dll +0 -0
  26. mindspore/avdevice-59.dll +0 -0
  27. mindspore/avfilter-8.dll +0 -0
  28. mindspore/avformat-59.dll +0 -0
  29. mindspore/avutil-57.dll +0 -0
  30. mindspore/boost/adasum.py +1 -1
  31. mindspore/boost/boost_cell_wrapper.py +4 -4
  32. mindspore/c1.dll +0 -0
  33. mindspore/c1xx.dll +0 -0
  34. mindspore/c2.dll +0 -0
  35. mindspore/common/__init__.py +43 -12
  36. mindspore/common/_grad_function.py +2 -1
  37. mindspore/common/_pijit_context.py +28 -7
  38. mindspore/common/_stub_tensor.py +1 -209
  39. mindspore/common/_tensor_cpp_method.py +1 -1
  40. mindspore/common/_tensor_docs.py +177 -52
  41. mindspore/common/_utils.py +9 -1
  42. mindspore/common/api.py +338 -208
  43. mindspore/common/dtype.py +108 -57
  44. mindspore/common/dump.py +11 -16
  45. mindspore/common/dynamic_shape/__init__.py +0 -0
  46. mindspore/common/{auto_dynamic_shape.py → dynamic_shape/auto_dynamic_shape.py} +17 -23
  47. mindspore/common/dynamic_shape/enable_dynamic.py +197 -0
  48. mindspore/common/file_system.py +59 -9
  49. mindspore/common/generator.py +2 -3
  50. mindspore/common/hook_handle.py +33 -5
  51. mindspore/common/jit_config.py +1 -1
  52. mindspore/common/jit_trace.py +84 -105
  53. mindspore/common/np_dtype.py +3 -3
  54. mindspore/common/parameter.py +27 -29
  55. mindspore/common/recompute.py +5 -7
  56. mindspore/common/sparse_tensor.py +0 -3
  57. mindspore/common/symbol.py +0 -1
  58. mindspore/common/tensor.py +84 -133
  59. mindspore/communication/_comm_helper.py +46 -4
  60. mindspore/communication/management.py +79 -7
  61. mindspore/context.py +47 -38
  62. mindspore/dataset/__init__.py +1 -1
  63. mindspore/dataset/audio/transforms.py +1 -1
  64. mindspore/dataset/core/config.py +38 -4
  65. mindspore/dataset/engine/datasets.py +350 -322
  66. mindspore/dataset/engine/datasets_user_defined.py +69 -23
  67. mindspore/dataset/engine/iterators.py +2 -2
  68. mindspore/dataset/engine/obs/config_loader.py +2 -2
  69. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +8 -0
  70. mindspore/dataset/transforms/c_transforms.py +2 -2
  71. mindspore/dataset/transforms/py_transforms.py +7 -3
  72. mindspore/dataset/transforms/transforms.py +10 -6
  73. mindspore/dataset/vision/__init__.py +1 -1
  74. mindspore/dataset/vision/py_transforms.py +8 -8
  75. mindspore/dataset/vision/transforms.py +17 -5
  76. mindspore/dataset/vision/utils.py +632 -21
  77. mindspore/dataset/vision/validators.py +1 -0
  78. mindspore/device_context/ascend/device.py +1 -1
  79. mindspore/device_context/ascend/op_tuning.py +35 -1
  80. mindspore/device_context/gpu/__init__.py +2 -2
  81. mindspore/device_context/gpu/device.py +1 -1
  82. mindspore/device_context/gpu/op_precision.py +4 -2
  83. mindspore/device_context/gpu/op_tuning.py +6 -3
  84. mindspore/device_manager.py +16 -9
  85. mindspore/dnnl.dll +0 -0
  86. mindspore/dpcmi.dll +0 -0
  87. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +5 -4
  88. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  89. mindspore/experimental/optim/adadelta.py +13 -20
  90. mindspore/experimental/optim/adagrad.py +15 -22
  91. mindspore/experimental/optim/adam.py +17 -24
  92. mindspore/experimental/optim/adamax.py +14 -22
  93. mindspore/experimental/optim/adamw.py +28 -34
  94. mindspore/experimental/optim/asgd.py +15 -25
  95. mindspore/experimental/optim/lr_scheduler.py +27 -45
  96. mindspore/experimental/optim/nadam.py +14 -24
  97. mindspore/experimental/optim/optimizer.py +13 -23
  98. mindspore/experimental/optim/radam.py +18 -24
  99. mindspore/experimental/optim/rmsprop.py +14 -25
  100. mindspore/experimental/optim/rprop.py +15 -26
  101. mindspore/experimental/optim/sgd.py +9 -19
  102. mindspore/hal/__init__.py +4 -4
  103. mindspore/hal/contiguous_tensors_handle.py +2 -2
  104. mindspore/hal/memory.py +1 -0
  105. mindspore/include/api/cell.h +65 -5
  106. mindspore/include/api/cfg.h +24 -7
  107. mindspore/include/api/context.h +1 -0
  108. mindspore/include/api/delegate.h +10 -2
  109. mindspore/include/api/dual_abi_helper.h +100 -19
  110. mindspore/include/api/graph.h +14 -1
  111. mindspore/include/api/kernel.h +16 -3
  112. mindspore/include/api/kernel_api.h +9 -1
  113. mindspore/include/api/metrics/accuracy.h +9 -0
  114. mindspore/include/api/model.h +8 -1
  115. mindspore/include/api/model_group.h +4 -0
  116. mindspore/include/api/model_parallel_runner.h +2 -0
  117. mindspore/include/api/status.h +48 -10
  118. mindspore/include/api/types.h +8 -3
  119. mindspore/include/c_api/model_c.h +0 -58
  120. mindspore/include/c_api/tensor_c.h +0 -26
  121. mindspore/include/dataset/constants.h +9 -0
  122. mindspore/include/dataset/vision_ascend.h +1 -1
  123. mindspore/jpeg62.dll +0 -0
  124. mindspore/mindrecord/tools/cifar10.py +61 -11
  125. mindspore/mindrecord/tools/cifar10_to_mr.py +5 -0
  126. mindspore/mindspore_backend_common.dll +0 -0
  127. mindspore/mindspore_backend_manager.dll +0 -0
  128. mindspore/mindspore_common.dll +0 -0
  129. mindspore/mindspore_core.dll +0 -0
  130. mindspore/mindspore_cpu_res_manager.dll +0 -0
  131. mindspore/mindspore_dump.dll +0 -0
  132. mindspore/mindspore_frontend.dll +0 -0
  133. mindspore/mindspore_glog.dll +0 -0
  134. mindspore/mindspore_memory_pool.dll +0 -0
  135. mindspore/mindspore_ms_backend.dll +0 -0
  136. mindspore/mindspore_ops.dll +0 -0
  137. mindspore/mindspore_ops_host.dll +0 -0
  138. mindspore/mindspore_ops_kernel_common.dll +0 -0
  139. mindspore/mindspore_profiler.dll +0 -0
  140. mindspore/mindspore_pyboost.dll +0 -0
  141. mindspore/mindspore_pynative.dll +0 -0
  142. mindspore/mindspore_res_manager.dll +0 -0
  143. mindspore/mindspore_runtime_pipeline.dll +0 -0
  144. mindspore/mint/__init__.py +4 -44
  145. mindspore/mint/distributed/__init__.py +5 -0
  146. mindspore/mint/distributed/distributed.py +425 -19
  147. mindspore/mint/nn/__init__.py +1 -1
  148. mindspore/mint/nn/functional.py +53 -6
  149. mindspore/mint/nn/layer/_functions.py +163 -294
  150. mindspore/mint/nn/layer/activation.py +8 -6
  151. mindspore/mint/nn/layer/conv.py +125 -101
  152. mindspore/mint/nn/layer/normalization.py +11 -25
  153. mindspore/mint/optim/adam.py +19 -18
  154. mindspore/mint/optim/adamw.py +14 -8
  155. mindspore/mint/optim/sgd.py +5 -5
  156. mindspore/msobj140.dll +0 -0
  157. mindspore/mspdb140.dll +0 -0
  158. mindspore/mspdbcore.dll +0 -0
  159. mindspore/mspdbst.dll +0 -0
  160. mindspore/mspft140.dll +0 -0
  161. mindspore/msvcdis140.dll +0 -0
  162. mindspore/msvcp140_1.dll +0 -0
  163. mindspore/msvcp140_2.dll +0 -0
  164. mindspore/msvcp140_atomic_wait.dll +0 -0
  165. mindspore/msvcp140_codecvt_ids.dll +0 -0
  166. mindspore/nn/cell.py +488 -620
  167. mindspore/nn/grad/cell_grad.py +11 -12
  168. mindspore/nn/layer/activation.py +36 -36
  169. mindspore/nn/layer/basic.py +74 -77
  170. mindspore/nn/layer/channel_shuffle.py +4 -4
  171. mindspore/nn/layer/combined.py +4 -2
  172. mindspore/nn/layer/conv.py +86 -85
  173. mindspore/nn/layer/dense.py +9 -7
  174. mindspore/nn/layer/embedding.py +50 -52
  175. mindspore/nn/layer/image.py +38 -40
  176. mindspore/nn/layer/math.py +111 -112
  177. mindspore/nn/layer/normalization.py +56 -44
  178. mindspore/nn/layer/pooling.py +58 -63
  179. mindspore/nn/layer/rnn_cells.py +33 -33
  180. mindspore/nn/layer/rnns.py +56 -56
  181. mindspore/nn/layer/thor_layer.py +74 -73
  182. mindspore/nn/layer/transformer.py +11 -1
  183. mindspore/nn/learning_rate_schedule.py +20 -20
  184. mindspore/nn/loss/loss.py +79 -81
  185. mindspore/nn/optim/adam.py +2 -4
  186. mindspore/nn/optim/adasum.py +2 -2
  187. mindspore/nn/optim/lamb.py +1 -3
  188. mindspore/nn/optim/optimizer.py +1 -1
  189. mindspore/nn/optim/tft_wrapper.py +2 -3
  190. mindspore/nn/optim/thor.py +2 -2
  191. mindspore/nn/probability/distribution/_utils/utils.py +2 -2
  192. mindspore/nn/probability/distribution/exponential.py +2 -1
  193. mindspore/nn/probability/distribution/poisson.py +2 -1
  194. mindspore/nn/sparse/sparse.py +3 -3
  195. mindspore/nn/wrap/cell_wrapper.py +73 -42
  196. mindspore/nn/wrap/grad_reducer.py +37 -52
  197. mindspore/nn/wrap/loss_scale.py +72 -74
  198. mindspore/numpy/array_creations.py +7 -7
  199. mindspore/numpy/fft.py +1 -1
  200. mindspore/numpy/math_ops.py +1 -1
  201. mindspore/numpy/utils_const.py +1 -1
  202. mindspore/opencv_core452.dll +0 -0
  203. mindspore/opencv_imgcodecs452.dll +0 -0
  204. mindspore/opencv_imgproc452.dll +0 -0
  205. mindspore/ops/_grad_experimental/grad_comm_ops.py +51 -13
  206. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -0
  207. mindspore/ops/_grad_experimental/grad_inner_ops.py +0 -9
  208. mindspore/ops/_op_impl/cpu/__init__.py +1 -0
  209. mindspore/{experimental/es/__init__.py → ops/_op_impl/cpu/joinedstr_op.py} +12 -6
  210. mindspore/ops/_vmap/vmap_array_ops.py +6 -13
  211. mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
  212. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +29 -10
  213. mindspore/ops/auto_generate/gen_extend_func.py +5 -55
  214. mindspore/ops/auto_generate/gen_ops_def.py +753 -273
  215. mindspore/ops/auto_generate/gen_ops_prim.py +1687 -958
  216. mindspore/ops/auto_generate/pyboost_inner_prim.py +31 -1
  217. mindspore/ops/composite/__init__.py +10 -0
  218. mindspore/ops/composite/base.py +9 -5
  219. mindspore/ops/composite/multitype_ops/__init__.py +12 -1
  220. mindspore/ops/composite/multitype_ops/_compile_utils.py +132 -108
  221. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -1
  222. mindspore/ops/composite/multitype_ops/add_impl.py +70 -2
  223. mindspore/ops/composite/multitype_ops/div_impl.py +49 -0
  224. mindspore/ops/composite/multitype_ops/floordiv_impl.py +29 -0
  225. mindspore/ops/composite/multitype_ops/getitem_impl.py +11 -0
  226. mindspore/ops/composite/multitype_ops/mod_impl.py +5 -3
  227. mindspore/ops/composite/multitype_ops/mul_impl.py +49 -0
  228. mindspore/ops/composite/multitype_ops/setitem_impl.py +57 -0
  229. mindspore/ops/composite/multitype_ops/sub_impl.py +34 -0
  230. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +14 -0
  231. mindspore/ops/function/__init__.py +4 -1
  232. mindspore/ops/function/_add_attr_func.py +11 -6
  233. mindspore/ops/function/array_func.py +17 -100
  234. mindspore/ops/function/debug_func.py +8 -5
  235. mindspore/ops/function/grad/grad_func.py +5 -13
  236. mindspore/ops/function/math_func.py +65 -399
  237. mindspore/ops/function/nn_func.py +44 -61
  238. mindspore/ops/function/other_func.py +4 -1
  239. mindspore/ops/function/random_func.py +31 -4
  240. mindspore/ops/functional.py +2 -3
  241. mindspore/ops/functional_overload.py +486 -18
  242. mindspore/ops/op_info_register.py +21 -0
  243. mindspore/ops/operations/__init__.py +5 -2
  244. mindspore/ops/operations/_custom_ops_utils.py +675 -8
  245. mindspore/ops/operations/_inner_ops.py +14 -18
  246. mindspore/ops/operations/_sequence_ops.py +1 -1
  247. mindspore/ops/operations/array_ops.py +4 -50
  248. mindspore/ops/operations/comm_ops.py +186 -41
  249. mindspore/ops/operations/custom_ops.py +244 -175
  250. mindspore/ops/operations/debug_ops.py +55 -4
  251. mindspore/ops/operations/image_ops.py +13 -13
  252. mindspore/ops/operations/manually_defined/ops_def.py +27 -28
  253. mindspore/ops/operations/math_ops.py +8 -9
  254. mindspore/ops/operations/nn_ops.py +6 -7
  255. mindspore/ops/primitive.py +9 -20
  256. mindspore/ops/tensor_method.py +52 -11
  257. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +1 -1
  258. mindspore/ops_generate/api/functional_map_cpp_generator.py +10 -9
  259. mindspore/ops_generate/api/functions_cc_generator.py +58 -10
  260. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +1 -1
  261. mindspore/ops_generate/common/base_generator.py +14 -0
  262. mindspore/ops_generate/common/gen_constants.py +7 -2
  263. mindspore/ops_generate/common/gen_utils.py +0 -19
  264. mindspore/ops_generate/common/op_proto.py +11 -4
  265. mindspore/ops_generate/common/template.py +88 -11
  266. mindspore/ops_generate/gen_ops.py +1 -1
  267. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +4 -4
  268. mindspore/ops_generate/op_def/ops_name_h_generator.py +0 -3
  269. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +0 -4
  270. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -2
  271. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +49 -8
  272. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +2 -2
  273. mindspore/ops_generate/pyboost/gen_pyboost_func.py +31 -16
  274. mindspore/ops_generate/pyboost/op_template_parser.py +98 -72
  275. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +70 -273
  276. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +14 -6
  277. mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +316 -0
  278. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +1 -1
  279. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +5 -3
  280. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +1 -1
  281. mindspore/ops_generate/pyboost/pyboost_internal_functions_cpp_generator.py +76 -0
  282. mindspore/ops_generate/pyboost/pyboost_internal_functions_h_generator.py +76 -0
  283. mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +125 -0
  284. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +4 -3
  285. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +348 -61
  286. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +1 -1
  287. mindspore/ops_generate/pyboost/pyboost_utils.py +118 -9
  288. mindspore/ops_generate/tensor_py_cc_generator.py +1 -24
  289. mindspore/parallel/_auto_parallel_context.py +9 -17
  290. mindspore/parallel/_cell_wrapper.py +106 -40
  291. mindspore/parallel/_parallel_serialization.py +4 -3
  292. mindspore/parallel/_ps_context.py +4 -6
  293. mindspore/parallel/_tensor.py +167 -12
  294. mindspore/parallel/_transformer/moe.py +1 -1
  295. mindspore/parallel/_transformer/transformer.py +17 -12
  296. mindspore/parallel/_utils.py +5 -11
  297. mindspore/parallel/auto_parallel.py +33 -12
  298. mindspore/parallel/checkpoint_convert.py +3 -3
  299. mindspore/parallel/checkpoint_transform.py +5 -1
  300. mindspore/parallel/cluster/process_entity/_api.py +88 -49
  301. mindspore/parallel/cluster/process_entity/_utils.py +95 -7
  302. mindspore/parallel/cluster/run.py +48 -7
  303. mindspore/parallel/function/__init__.py +8 -1
  304. mindspore/parallel/function/reshard_func.py +7 -6
  305. mindspore/parallel/nn/__init__.py +15 -2
  306. mindspore/parallel/nn/parallel_cell_wrapper.py +50 -14
  307. mindspore/parallel/nn/parallel_grad_reducer.py +7 -14
  308. mindspore/parallel/shard.py +9 -23
  309. mindspore/parallel/transform_safetensors.py +468 -174
  310. mindspore/pgodb140.dll +0 -0
  311. mindspore/pgort140.dll +0 -0
  312. mindspore/profiler/__init__.py +2 -1
  313. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -7
  314. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +3 -0
  315. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +3 -0
  316. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +3 -3
  317. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  318. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +4 -4
  319. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +3 -3
  320. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +4 -1
  321. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +2 -1
  322. mindspore/profiler/analysis/task_manager.py +1 -1
  323. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +5 -1
  324. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +2 -1
  325. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +10 -9
  326. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +43 -23
  327. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +3 -2
  328. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +9 -5
  329. mindspore/profiler/analysis/viewer/ms_operator_details_viewer.py +132 -0
  330. mindspore/profiler/common/constant.py +16 -0
  331. mindspore/profiler/common/msprof_cmd_tool.py +2 -2
  332. mindspore/profiler/common/path_manager.py +9 -0
  333. mindspore/profiler/common/profiler_context.py +50 -29
  334. mindspore/profiler/common/profiler_info.py +0 -16
  335. mindspore/profiler/common/profiler_meta_data.py +1 -0
  336. mindspore/profiler/common/profiler_op_analyse.py +239 -0
  337. mindspore/profiler/common/profiler_output_path.py +23 -8
  338. mindspore/profiler/common/profiler_parameters.py +128 -35
  339. mindspore/profiler/dynamic_profile/__init__.py +0 -0
  340. mindspore/profiler/dynamic_profile/dynamic_monitor_proxy.py +39 -0
  341. mindspore/profiler/dynamic_profile/dynamic_profiler_config_context.py +666 -0
  342. mindspore/profiler/dynamic_profile/dynamic_profiler_utils.py +62 -0
  343. mindspore/profiler/dynamic_profiler.py +374 -338
  344. mindspore/profiler/envprofiler.py +42 -12
  345. mindspore/profiler/experimental_config.py +112 -7
  346. mindspore/profiler/mstx.py +33 -12
  347. mindspore/profiler/platform/__init__.py +2 -3
  348. mindspore/profiler/platform/cpu_profiler.py +10 -4
  349. mindspore/profiler/platform/npu_profiler.py +30 -20
  350. mindspore/profiler/profiler.py +218 -154
  351. mindspore/profiler/profiler_action_controller.py +65 -77
  352. mindspore/profiler/profiler_interface.py +2 -2
  353. mindspore/profiler/schedule.py +10 -4
  354. mindspore/rewrite/common/config.py +1 -0
  355. mindspore/rewrite/common/namer.py +1 -0
  356. mindspore/rewrite/common/namespace.py +1 -0
  357. mindspore/rewrite/node/node.py +31 -11
  358. mindspore/rewrite/parsers/assign_parser.py +1 -1
  359. mindspore/rewrite/symbol_tree/symbol_tree.py +2 -2
  360. mindspore/run_check/_check_version.py +7 -10
  361. mindspore/runtime/__init__.py +8 -6
  362. mindspore/runtime/event.py +10 -4
  363. mindspore/runtime/executor.py +87 -45
  364. mindspore/runtime/memory.py +22 -30
  365. mindspore/runtime/thread_bind_core.py +299 -165
  366. mindspore/safeguard/rewrite_obfuscation.py +12 -13
  367. mindspore/swresample-4.dll +0 -0
  368. mindspore/swscale-6.dll +0 -0
  369. mindspore/tbbmalloc.dll +0 -0
  370. mindspore/tinyxml2.dll +0 -0
  371. mindspore/train/_utils.py +9 -5
  372. mindspore/train/amp.py +43 -23
  373. mindspore/train/callback/__init__.py +5 -5
  374. mindspore/train/callback/_callback.py +2 -1
  375. mindspore/train/callback/_checkpoint.py +4 -14
  376. mindspore/train/callback/_flops_collector.py +11 -7
  377. mindspore/train/callback/_landscape.py +0 -1
  378. mindspore/train/callback/_train_fault_tolerance.py +72 -18
  379. mindspore/train/data_sink.py +15 -6
  380. mindspore/train/dataset_helper.py +14 -5
  381. mindspore/train/model.py +49 -47
  382. mindspore/train/serialization.py +168 -126
  383. mindspore/train/summary/summary_record.py +13 -2
  384. mindspore/train/train_thor/model_thor.py +2 -2
  385. mindspore/turbojpeg.dll +0 -0
  386. mindspore/utils/__init__.py +3 -2
  387. mindspore/utils/dryrun.py +0 -6
  388. mindspore/utils/runtime_execution_order_check.py +162 -78
  389. mindspore/utils/sdc_detect.py +68 -0
  390. mindspore/utils/utils.py +14 -17
  391. mindspore/vcmeta.dll +0 -0
  392. mindspore/vcruntime140.dll +0 -0
  393. mindspore/vcruntime140_1.dll +0 -0
  394. mindspore/version.py +1 -1
  395. {mindspore-2.6.0.dist-info → mindspore-2.7.0.dist-info}/METADATA +5 -4
  396. {mindspore-2.6.0.dist-info → mindspore-2.7.0.dist-info}/RECORD +400 -439
  397. mindspore/_deprecated/jit.py +0 -198
  398. mindspore/_extends/remote/kernel_build_server_ascend.py +0 -75
  399. mindspore/communication/_hccl_management.py +0 -297
  400. mindspore/experimental/es/embedding_service.py +0 -891
  401. mindspore/experimental/es/embedding_service_layer.py +0 -581
  402. mindspore/profiler/common/validator/__init__.py +0 -14
  403. mindspore/profiler/common/validator/validate_path.py +0 -84
  404. mindspore/profiler/parser/__init__.py +0 -14
  405. mindspore/profiler/parser/aicpu_data_parser.py +0 -272
  406. mindspore/profiler/parser/ascend_analysis/__init__.py +0 -14
  407. mindspore/profiler/parser/ascend_analysis/constant.py +0 -71
  408. mindspore/profiler/parser/ascend_analysis/file_manager.py +0 -180
  409. mindspore/profiler/parser/ascend_analysis/function_event.py +0 -185
  410. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +0 -136
  411. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +0 -131
  412. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +0 -104
  413. mindspore/profiler/parser/ascend_analysis/path_manager.py +0 -313
  414. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +0 -123
  415. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +0 -86
  416. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +0 -75
  417. mindspore/profiler/parser/ascend_cluster_generator.py +0 -116
  418. mindspore/profiler/parser/ascend_communicate_generator.py +0 -314
  419. mindspore/profiler/parser/ascend_flops_generator.py +0 -116
  420. mindspore/profiler/parser/ascend_fpbp_generator.py +0 -82
  421. mindspore/profiler/parser/ascend_hccl_generator.py +0 -271
  422. mindspore/profiler/parser/ascend_integrate_generator.py +0 -42
  423. mindspore/profiler/parser/ascend_memory_generator.py +0 -185
  424. mindspore/profiler/parser/ascend_msprof_exporter.py +0 -282
  425. mindspore/profiler/parser/ascend_msprof_generator.py +0 -187
  426. mindspore/profiler/parser/ascend_op_generator.py +0 -334
  427. mindspore/profiler/parser/ascend_steptrace_generator.py +0 -94
  428. mindspore/profiler/parser/ascend_timeline_generator.py +0 -545
  429. mindspore/profiler/parser/base_timeline_generator.py +0 -483
  430. mindspore/profiler/parser/container.py +0 -229
  431. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +0 -697
  432. mindspore/profiler/parser/flops_parser.py +0 -531
  433. mindspore/profiler/parser/framework_enum.py +0 -111
  434. mindspore/profiler/parser/framework_parser.py +0 -464
  435. mindspore/profiler/parser/framework_struct.py +0 -61
  436. mindspore/profiler/parser/gpu_analysis/__init__.py +0 -14
  437. mindspore/profiler/parser/gpu_analysis/function_event.py +0 -44
  438. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +0 -89
  439. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +0 -72
  440. mindspore/profiler/parser/hccl_parser.py +0 -573
  441. mindspore/profiler/parser/hwts_log_parser.py +0 -122
  442. mindspore/profiler/parser/integrator.py +0 -526
  443. mindspore/profiler/parser/memory_usage_parser.py +0 -277
  444. mindspore/profiler/parser/minddata_analyzer.py +0 -800
  445. mindspore/profiler/parser/minddata_parser.py +0 -186
  446. mindspore/profiler/parser/minddata_pipeline_parser.py +0 -299
  447. mindspore/profiler/parser/op_intermediate_parser.py +0 -149
  448. mindspore/profiler/parser/optime_parser.py +0 -250
  449. mindspore/profiler/parser/profiler_info.py +0 -213
  450. mindspore/profiler/parser/step_trace_parser.py +0 -666
  451. mindspore/utils/hooks.py +0 -81
  452. /mindspore/common/{_auto_dynamic.py → dynamic_shape/_auto_dynamic.py} +0 -0
  453. {mindspore-2.6.0.dist-info → mindspore-2.7.0.dist-info}/WHEEL +0 -0
  454. {mindspore-2.6.0.dist-info → mindspore-2.7.0.dist-info}/entry_points.txt +0 -0
  455. {mindspore-2.6.0.dist-info → mindspore-2.7.0.dist-info}/top_level.txt +0 -0
@@ -1,282 +0,0 @@
1
- # Copyright 2023 Huawei Technologies Co., Ltd
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # ============================================================================
15
- """msprof PROF data export api file"""
16
- import os
17
- import glob
18
- import shutil
19
- import json
20
- from json import JSONDecodeError
21
- from collections import defaultdict
22
- from subprocess import CalledProcessError, TimeoutExpired
23
- from subprocess import Popen, PIPE
24
- import csv
25
- from mindspore import log as logger
26
- from mindspore.profiler.common.util import get_newest_file
27
- from mindspore.profiler.common.util import timeit
28
-
29
-
30
- class AscendMsprofExporter:
31
- """
32
- msprof exporter. export cann edge profiling data.
33
-
34
- args:
35
- source_path: the root path of PROF_* files
36
-
37
- files under prof_root_dir is like:
38
- profiler/PROF_*/device_{id}/data/xxx
39
- profiler/PROF_*/host/data/xxx
40
- ...
41
-
42
- usage:
43
- >> ms_exporter = AscendMsprofExporter("path/to/profiler/data")
44
- >> ms_exporter.export(start_time)
45
- """
46
- DRV_VERSION = 467473
47
- _hiai_msprof_tail = "Ascend/latest/tools/profiler/bin"
48
- _msprof_cmd = "msprof"
49
- _ascend_mark = "Ascend"
50
- _step_trace_mark = "step_trace"
51
- _op_summary_mark = "op_summary"
52
- _op_statistic_mark = "op_statistic"
53
-
54
- def __init__(self, mindstudio_profiler_output, time_out=3600):
55
- self._time_out = time_out
56
- self.mindstudio_profiler_output = mindstudio_profiler_output # mindstudio_profiler_output dir
57
- # PROF* dir
58
- self.prof_root_dir = os.path.realpath(os.path.join(self.mindstudio_profiler_output, os.path.pardir))
59
-
60
- AscendMsprofExporter.check_msprof_env()
61
-
62
- @classmethod
63
- def check_msprof_env(cls):
64
- """Check the existence of msprof binary tool"""
65
-
66
- def _check_msprof(temp_path: str):
67
- if not os.path.isdir(temp_path):
68
- return False
69
- sub_files = os.listdir(temp_path)
70
- if cls._msprof_cmd in sub_files:
71
- return True
72
- return False
73
-
74
- outs, _ = cls.run_cmd(["which", cls._msprof_cmd])
75
- if outs != "":
76
- return
77
- logger.warning("[Profiler]The msprof command was not found. Searching from environment variables...")
78
-
79
- msprof_path = None
80
- envs = os.environ
81
- if envs.get("ASCEND_TOOLKIT_HOME"):
82
- temp_path = os.path.join(envs.get("ASCEND_TOOLKIT_HOME"), "bin")
83
- if _check_msprof(temp_path):
84
- msprof_path = temp_path
85
-
86
- if not msprof_path and envs.get("PATH"):
87
- path_list = envs.get("PATH").split(":")
88
- for path in path_list:
89
- if cls._ascend_mark in path:
90
- prefix = path.split(cls._ascend_mark)[0]
91
- temp_path = os.path.join(prefix, cls._hiai_msprof_tail)
92
- if _check_msprof(temp_path):
93
- msprof_path = temp_path
94
- break
95
- if msprof_path:
96
- envs["PATH"] = msprof_path + ":" + envs.get("PATH", "")
97
- else:
98
- raise FileNotFoundError("The msprof command was not found!")
99
-
100
- logger.info("The msprof command has been added to the path!")
101
-
102
- @classmethod
103
- def get_msprof_script_path(cls, script_path=""):
104
- """Check the existence of msprof script"""
105
- if not script_path:
106
- return ""
107
- outs, _ = AscendMsprofExporter.run_cmd(["which", cls._msprof_cmd])
108
- if not outs:
109
- return ""
110
- msprof_path = os.path.realpath(outs.strip())
111
- sup_path = msprof_path.split("tools")[0]
112
- script_path = os.path.join(sup_path, script_path)
113
- if not os.path.exists(script_path):
114
- return ""
115
- return script_path
116
-
117
- @classmethod
118
- def get_msprof_info_path(cls):
119
- """Check the existence of get_msprof_info.py script"""
120
- return cls.get_msprof_script_path("tools/profiler/profiler_tool/analysis/interface/get_msprof_info.py")
121
-
122
- @classmethod
123
- def get_msprof_py_script_path(cls):
124
- """Check the existence of msprof.py script"""
125
- return cls.get_msprof_script_path("tools/profiler/profiler_tool/analysis/msprof/msprof.py")
126
-
127
- @classmethod
128
- def run_cmd(cls, cmd, timeout=300):
129
- """run shell command"""
130
- try:
131
- with Popen(cmd, stdout=PIPE, stderr=PIPE, text=True) as proc:
132
- outs, errs = proc.communicate(timeout=timeout)
133
- except (FileNotFoundError, PermissionError, CalledProcessError) as exc:
134
- raise RuntimeError(exc) from exc
135
- except TimeoutExpired as err:
136
- proc.kill()
137
- msg = "The possible cause is that too much data is collected " \
138
- "and the export time is too long."
139
- logger.error(msg)
140
- raise TimeoutError(msg) from err
141
- logger.info(outs)
142
- return outs, errs
143
-
144
- def get_drv_version(self):
145
- """Get the drv_version for choosing the export mode."""
146
- try:
147
- script_path = AscendMsprofExporter.get_msprof_info_path()
148
- if not script_path:
149
- logger.warning("Can`t find get_msprof_info.py path, use single-export mode instead.")
150
- return False
151
- logger.info("get_msprof_info.py path is : %s", script_path)
152
- host_dir = os.path.join(self.prof_root_dir, 'host')
153
- cmd = ['python', script_path, '-dir', host_dir]
154
- outs, _ = AscendMsprofExporter.run_cmd(cmd)
155
- if not outs:
156
- logger.warning('Check the drvVersion can`t find the result, use single-export mode instead.')
157
- return False
158
- result = json.loads(outs)
159
- logger.info('get drv_version result is : %s', result)
160
- status = result.get('status', 1)
161
- if status == 1:
162
- return False
163
- drv_version = result.get('data', {}).get('version_info', {}).get('drv_version', 0)
164
- if drv_version >= self.DRV_VERSION:
165
- return True
166
- return False
167
- except (RuntimeError, JSONDecodeError, AttributeError, TimeoutError) as err:
168
- logger.warning('Get the drvVersion error, use single-export mode instead. detail : %s', err)
169
- return False
170
-
171
- @timeit("CANN export done")
172
- def export(self, model_iteration_dict=None):
173
- """start_time is the time to collect PROF data"""
174
-
175
- flag = self.get_drv_version()
176
- if not flag or model_iteration_dict:
177
- flag = False
178
- if not model_iteration_dict:
179
- model_iteration_dict = self._generate_step_trace()
180
-
181
- if model_iteration_dict:
182
- for model_id, iter_list in model_iteration_dict.items():
183
- self._run_msprof_export_cmd(self.prof_root_dir, model_id, iter_list)
184
- else:
185
- msprof_export_cmd = self._msprof_command_generator(self.prof_root_dir)
186
- AscendMsprofExporter.run_cmd(msprof_export_cmd, self._time_out)
187
-
188
- self._check_export_files()
189
-
190
- msprof_analyze_cmd = [self._msprof_cmd, "--analyze=on", "--rule=communication,communication_matrix",
191
- "--output={}".format(self.prof_root_dir)]
192
- AscendMsprofExporter.run_cmd(msprof_analyze_cmd, self._time_out)
193
-
194
- return flag
195
-
196
- def _run_msprof_export_cmd(self, prof_root_dir, model_id, iter_list):
197
- """run msprof.py export cmd"""
198
- script_path = AscendMsprofExporter.get_msprof_py_script_path()
199
- if not script_path:
200
- raise FileNotFoundError("Can not find msprof.py path, please check the cann environment.")
201
- export_cmd = ['python', script_path]
202
- iter_param = []
203
- if isinstance(model_id, int) and model_id >= 0:
204
- iter_param.extend(["--model-id", str(model_id)])
205
- if iter_list and isinstance(iter_list, list):
206
- iter_list.sort()
207
- iter_param.extend(["--iteration-id", str(iter_list[0]), "--iteration-count", str(len(iter_list))])
208
- for export_type in ("timeline", "summary"):
209
- cmd = export_cmd + ["export", export_type, "-dir", prof_root_dir] + iter_param
210
- AscendMsprofExporter.run_cmd(cmd, self._time_out)
211
-
212
- def _msprof_command_generator_old(self, output, model_id=None, iter_id=None):
213
- """msprof export helper"""
214
- export_cmd = [self._msprof_cmd, "--export=on", "--output={}".format(output)]
215
- if isinstance(model_id, int) and model_id >= 0:
216
- export_cmd.append("--model-id={}".format(model_id))
217
- if isinstance(iter_id, int) and iter_id >= 0:
218
- export_cmd.append("--iteration-id={}".format(iter_id))
219
- return export_cmd
220
-
221
- def _msprof_command_generator(self, output):
222
- """msprof export helper"""
223
- return [self._msprof_cmd, "--export=on", "--output={}".format(output)]
224
-
225
- def _generate_step_trace(self):
226
- """"generate model_id iteration_id dict"""
227
-
228
- AscendMsprofExporter.run_cmd(self._msprof_command_generator_old(self.prof_root_dir), self._time_out)
229
-
230
- if not os.path.isdir(self.mindstudio_profiler_output):
231
- msg = "Path {} is not a existing directory. Make sure there is " \
232
- "valid profiling data directory!".format(self.mindstudio_profiler_output)
233
- raise FileNotFoundError(msg)
234
-
235
- step_trace_name = fr'{self.mindstudio_profiler_output}/step_trace_*.csv'
236
- step_trace_file = get_newest_file(glob.glob(step_trace_name))
237
-
238
- if not step_trace_file:
239
- logger.info("Do not found step trace csv file in {} .".format(self.mindstudio_profiler_output))
240
- return None
241
-
242
- step_trace = defaultdict(list)
243
- with os.fdopen(os.open(step_trace_file[0], os.O_RDONLY, 0o600), newline='', mode='r') as csvfile:
244
- reader = csv.reader(csvfile, delimiter=',', quotechar='"')
245
- for index, value in enumerate(next(reader)):
246
- if value == 'Model ID':
247
- model_id = index
248
- if value == 'Iteration ID':
249
- iteration_id = index
250
- for row in reader:
251
- step_trace[int(row[model_id])].append(int(row[iteration_id]))
252
-
253
- shutil.rmtree(self.mindstudio_profiler_output)
254
-
255
- return step_trace
256
-
257
- def _check_export_files(self):
258
- """Check the existence of op_summary & op_statistic files."""
259
- if not os.path.isdir(self.mindstudio_profiler_output):
260
- raise RuntimeError("Path {} is not a existing directory.".format(self.mindstudio_profiler_output))
261
- op_summary = set()
262
- op_statistic = set()
263
- msprof_json = set()
264
-
265
- for f in os.listdir(self.mindstudio_profiler_output):
266
- if f.endswith('.csv'):
267
- if f.startswith(self._op_summary_mark):
268
- op_summary.add(f)
269
- elif f.startswith(self._op_statistic_mark):
270
- op_statistic.add(f)
271
-
272
- elif f.endswith('.json') and f.startswith('msprof'):
273
- msprof_json.add(f)
274
-
275
- if not op_summary:
276
- logger.warning("The op_summary csv file was not found, perhaps the original data was not collected.")
277
- if not op_statistic:
278
- logger.warning("The op_statistics csv file was not found, perhaps the original data was not collected.")
279
- if not msprof_json:
280
- logger.warning("The msprof json file was not found, perhaps the original data was not collected.")
281
-
282
- logger.info("Finish checking files.")
@@ -1,187 +0,0 @@
1
- # Copyright 2023 Huawei Technologies Co., Ltd
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # ============================================================================
15
- """msprof data generate model"""
16
- import csv
17
- import glob
18
- import numpy as np
19
- from mindspore.profiler.common.util import get_newest_file
20
-
21
-
22
- class AscendMsprofDataGenerator:
23
- """Generate ascend data from files."""
24
-
25
- _mindspore_model_id = 4294967295
26
-
27
- def __init__(self, mindstudio_profiler_output):
28
- self.mindstudio_profiler_output = mindstudio_profiler_output
29
- self.op_summary = None
30
- self.op_statistic = None
31
- self.steptrace = []
32
- self.steptrace_model = []
33
-
34
- self.op_summary_type = [
35
- ('Model ID', float),
36
- ('Task ID', int),
37
- ('Stream ID', int),
38
- ('Op Name', object),
39
- ('Op Type', object),
40
- ('Task Type', object),
41
- ('Task Start Time', object),
42
- ('Task Duration', float),
43
- ('Task Wait Time', float),
44
- ('Input Shapes', object),
45
- ('Input Data Types', object),
46
- ('Input Formats', object),
47
- ('Output Shapes', object),
48
- ('Output Data Types', object),
49
- ('Output Formats', object),
50
- ('Task Start Time(us)', object)
51
- ]
52
-
53
- self.op_statistic_type = [
54
- ('Op Type', object),
55
- ('Count', int),
56
- ('Total Time', float),
57
- ]
58
-
59
- self.steptrace_type = [
60
- ('Iteration ID', int),
61
- ('FP Start', float),
62
- ('BP End', float),
63
- ('Iteration End', float),
64
- ('Iteration Time', float),
65
- ('FP to BP Time', float),
66
- ('Iteration Refresh', float),
67
- ('Data Aug Bound', float),
68
- ('Model ID', float),
69
- ]
70
-
71
- def parse(self):
72
- """read msprof data generate DataFrame data"""
73
- self._read_op_summary()
74
-
75
- self._read_op_statistic()
76
-
77
- self._read_steptrace()
78
-
79
- self.steptrace_model = self.steptrace[self.steptrace['Model ID'] == self._mindspore_model_id]
80
-
81
- self.steptrace = self.steptrace[self.steptrace['Model ID'] != self._mindspore_model_id]
82
-
83
- result = (self.op_summary, self.op_statistic, self.steptrace, self.steptrace_model)
84
-
85
- return result
86
-
87
- def _read_op_summary(self):
88
- """read op summary to memory"""
89
- op_summary = []
90
- op_summary_name = fr'{self.mindstudio_profiler_output}/op_summary_*.csv'
91
- op_summary_files = glob.glob(op_summary_name)
92
- if not op_summary_files:
93
- return
94
- op_summary_file = get_newest_file(op_summary_files)[0]
95
- with open(op_summary_file, newline='') as csvfile:
96
- reader = csv.DictReader(csvfile, delimiter=',', quotechar='"')
97
- for row in reader:
98
- vector_fops = row.get('vector_fops', None)
99
- cube_fops = row.get('cube_fops', None)
100
- aiv_vector_fops = row.get('aiv_vector_fops', None)
101
- aic_cube_fops = row.get('aic_cube_fops', None)
102
-
103
- new_row = [row.get('Model ID'), row.get('Task ID'), row.get('Stream ID'), row.get('Op Name'),
104
- row.get('OP Type'), row.get('Task Type'), row.get('Task Start Time(us)'),
105
- row.get('Task Duration(us)'), row.get('Task Wait Time(us)'), row.get('Input Shapes'),
106
- row.get('Input Data Types'), row.get('Input Formats'), row.get('Output Shapes'),
107
- row.get('Output Data Types'), row.get('Output Formats'), '0.000']
108
- if vector_fops is not None and cube_fops is not None:
109
- new_row.append(vector_fops)
110
- new_row.append(cube_fops)
111
- elif aiv_vector_fops is not None and aic_cube_fops is not None:
112
- new_row.append(aiv_vector_fops)
113
- new_row.append(aic_cube_fops)
114
- op_summary.append(tuple(['0' if d == 'N/A' else d for d in new_row]))
115
-
116
- if op_summary and len(op_summary[0]) > len(self.op_summary_type):
117
- self.op_summary_type.extend([
118
- ('vector_fops', float),
119
- ('cube_fops', float)
120
- ])
121
-
122
- op_summary_dt = np.dtype(self.op_summary_type)
123
-
124
- self.op_summary = np.array(op_summary, dtype=op_summary_dt)
125
- high_acc_time = self.op_summary['Task Start Time'].copy()
126
- self.op_summary['Task Start Time(us)'] = high_acc_time
127
- self.op_summary['Task Start Time'] = self.op_summary['Task Start Time'].astype(float) * 1e-3
128
- self.op_summary['Task Duration'] = self.op_summary['Task Duration'] * 1e-3
129
- self.op_summary['Task Wait Time'] = self.op_summary['Task Wait Time'] * 1e-3
130
-
131
- def _read_op_statistic(self):
132
- """read op statistic to memory"""
133
- op_statistic = []
134
- op_statistic_name = fr'{self.mindstudio_profiler_output}/op_statistic_*.csv'
135
- op_statistic_files = glob.glob(op_statistic_name)
136
- if not op_statistic_files:
137
- return
138
- op_statistic_file = get_newest_file(op_statistic_files)[0]
139
- with open(op_statistic_file, newline='') as csvfile:
140
- reader = csv.DictReader(csvfile, delimiter=',', quotechar='"')
141
- for row in reader:
142
- new_row = (
143
- row.get('OP Type'),
144
- row.get('Count'),
145
- row.get('Total Time(us)'),
146
- )
147
- new_row = tuple(['0' if d == 'N/A' else d for d in new_row])
148
- op_statistic.append(new_row)
149
- if not op_statistic:
150
- return
151
- op_statistic_dt = np.dtype(self.op_statistic_type)
152
- self.op_statistic = np.array(op_statistic, dtype=op_statistic_dt)
153
- self.op_statistic['Total Time'] *= 1e-3
154
-
155
- def _read_steptrace(self):
156
- """read steptrace to memory"""
157
- step_trace = []
158
- step_trace_name = fr'{self.mindstudio_profiler_output}/step_trace_*.csv'
159
- step_trace_file_list = get_newest_file(glob.glob(step_trace_name))
160
- for step_trace_file in step_trace_file_list:
161
- with open(step_trace_file, newline='') as csvfile:
162
- reader = csv.DictReader(csvfile, delimiter=',', quotechar='"')
163
- for row in reader:
164
- new_row = [
165
- row.get('Iteration ID'),
166
- row.get('FP Start(us)'),
167
- row.get('BP End(us)'),
168
- row.get('Iteration End(us)'),
169
- row.get('Iteration Time(us)'),
170
- row.get('FP to BP Time(us)'),
171
- row.get('Iteration Refresh(us)'),
172
- row.get('Data Aug Bound(us)'),
173
- row.get('Model ID'),
174
- ]
175
- step_trace.append(tuple(['0' if i == 'N/A' else i for i in new_row]))
176
- break
177
-
178
- steptrace_dt = np.dtype(self.steptrace_type)
179
-
180
- self.steptrace = np.array(step_trace, dtype=steptrace_dt)
181
- self.steptrace['FP Start'] = self.steptrace['FP Start'] * 1e-3
182
- self.steptrace['BP End'] = self.steptrace['BP End'] * 1e-3
183
- self.steptrace['Iteration End'] = self.steptrace['Iteration End'] * 1e-3
184
- self.steptrace['Iteration Time'] = self.steptrace['Iteration Time'] * 1e-3
185
- self.steptrace['FP to BP Time'] = self.steptrace['FP to BP Time'] * 1e-3
186
- self.steptrace['Iteration Refresh'] = self.steptrace['Iteration Refresh'] * 1e-3
187
- self.steptrace['Data Aug Bound'] = self.steptrace['Data Aug Bound'] * 1e-3