mindspore 2.4.10__cp311-cp311-win_amd64.whl → 2.5.0__cp311-cp311-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 (366) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +8 -3
  3. mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
  4. mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
  5. mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
  6. mindspore/_checkparam.py +0 -5
  7. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
  8. mindspore/_extends/parse/compile_config.py +64 -0
  9. mindspore/_extends/parse/deprecated/__init__.py +0 -0
  10. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +375 -0
  11. mindspore/_extends/parse/parser.py +23 -5
  12. mindspore/_extends/parse/standard_method.py +123 -27
  13. mindspore/_extends/pijit/pijit_func_white_list.py +1 -1
  14. mindspore/amp.py +7 -1
  15. mindspore/avcodec-59.dll +0 -0
  16. mindspore/avdevice-59.dll +0 -0
  17. mindspore/avfilter-8.dll +0 -0
  18. mindspore/avformat-59.dll +0 -0
  19. mindspore/avutil-57.dll +0 -0
  20. mindspore/boost/boost_cell_wrapper.py +136 -41
  21. mindspore/common/__init__.py +3 -1
  22. mindspore/common/_register_for_tensor.py +0 -1
  23. mindspore/common/_stub_tensor.py +25 -4
  24. mindspore/common/_tensor_cpp_method.py +17 -0
  25. mindspore/common/_tensor_docs.py +6132 -0
  26. mindspore/common/api.py +98 -21
  27. mindspore/common/dtype.py +34 -34
  28. mindspore/common/dump.py +2 -1
  29. mindspore/common/file_system.py +8 -3
  30. mindspore/common/generator.py +2 -0
  31. mindspore/common/hook_handle.py +3 -1
  32. mindspore/common/initializer.py +3 -4
  33. mindspore/common/lazy_inline.py +8 -2
  34. mindspore/common/mindir_util.py +10 -2
  35. mindspore/common/parameter.py +31 -15
  36. mindspore/common/tensor.py +713 -1337
  37. mindspore/communication/__init__.py +1 -1
  38. mindspore/communication/_comm_helper.py +5 -0
  39. mindspore/communication/comm_func.py +215 -173
  40. mindspore/communication/management.py +23 -20
  41. mindspore/context.py +285 -191
  42. mindspore/dataset/__init__.py +23 -19
  43. mindspore/dataset/callback/ds_callback.py +2 -1
  44. mindspore/dataset/core/config.py +84 -3
  45. mindspore/dataset/engine/cache_admin.py +3 -3
  46. mindspore/dataset/engine/cache_client.py +5 -4
  47. mindspore/dataset/engine/datasets.py +192 -149
  48. mindspore/dataset/engine/datasets_audio.py +14 -0
  49. mindspore/dataset/engine/datasets_standard_format.py +11 -11
  50. mindspore/dataset/engine/datasets_text.py +38 -1
  51. mindspore/dataset/engine/datasets_user_defined.py +100 -66
  52. mindspore/dataset/engine/datasets_vision.py +81 -8
  53. mindspore/dataset/engine/iterators.py +281 -63
  54. mindspore/dataset/engine/obs/util.py +8 -0
  55. mindspore/dataset/engine/queue.py +40 -0
  56. mindspore/dataset/engine/samplers.py +26 -2
  57. mindspore/dataset/engine/serializer_deserializer.py +1 -1
  58. mindspore/dataset/engine/validators.py +43 -11
  59. mindspore/dataset/transforms/py_transforms_util.py +17 -0
  60. mindspore/dataset/transforms/transforms.py +29 -12
  61. mindspore/dataset/vision/validators.py +1 -2
  62. mindspore/device_context/__init__.py +21 -0
  63. mindspore/device_context/ascend/__init__.py +25 -0
  64. mindspore/device_context/ascend/device.py +72 -0
  65. mindspore/device_context/ascend/op_debug.py +94 -0
  66. mindspore/device_context/ascend/op_precision.py +193 -0
  67. mindspore/device_context/ascend/op_tuning.py +127 -0
  68. mindspore/device_context/cpu/__init__.py +25 -0
  69. mindspore/device_context/cpu/device.py +62 -0
  70. mindspore/device_context/cpu/op_tuning.py +43 -0
  71. mindspore/device_context/gpu/__init__.py +21 -0
  72. mindspore/device_context/gpu/device.py +70 -0
  73. mindspore/device_context/gpu/op_precision.py +67 -0
  74. mindspore/device_context/gpu/op_tuning.py +175 -0
  75. mindspore/device_manager.py +134 -0
  76. mindspore/dnnl.dll +0 -0
  77. mindspore/experimental/llm_boost/__init__.py +1 -0
  78. mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
  79. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +211 -0
  80. mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
  81. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  82. mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
  83. mindspore/experimental/llm_boost/register.py +1 -0
  84. mindspore/experimental/optim/adadelta.py +26 -22
  85. mindspore/experimental/optim/adam.py +3 -0
  86. mindspore/experimental/optim/lr_scheduler.py +33 -24
  87. mindspore/experimental/optim/radam.py +33 -30
  88. mindspore/hal/device.py +28 -0
  89. mindspore/hal/event.py +17 -0
  90. mindspore/hal/memory.py +94 -3
  91. mindspore/hal/stream.py +91 -6
  92. mindspore/include/api/context.h +0 -1
  93. mindspore/jpeg62.dll +0 -0
  94. mindspore/log.py +12 -0
  95. mindspore/mindrecord/__init__.py +1 -1
  96. mindspore/mindrecord/config.py +17 -316
  97. mindspore/mindrecord/filereader.py +1 -9
  98. mindspore/mindrecord/filewriter.py +5 -15
  99. mindspore/mindrecord/mindpage.py +1 -9
  100. mindspore/mindspore_backend.dll +0 -0
  101. mindspore/mindspore_common.dll +0 -0
  102. mindspore/mindspore_core.dll +0 -0
  103. mindspore/mindspore_glog.dll +0 -0
  104. mindspore/mindspore_ops.dll +0 -0
  105. mindspore/mint/__init__.py +824 -218
  106. mindspore/mint/distributed/__init__.py +66 -4
  107. mindspore/mint/distributed/distributed.py +2594 -44
  108. mindspore/mint/linalg/__init__.py +6 -0
  109. mindspore/mint/nn/__init__.py +473 -14
  110. mindspore/mint/nn/functional.py +486 -11
  111. mindspore/mint/nn/layer/__init__.py +17 -4
  112. mindspore/mint/nn/layer/_functions.py +330 -0
  113. mindspore/mint/nn/layer/activation.py +169 -1
  114. mindspore/mint/nn/layer/basic.py +123 -0
  115. mindspore/mint/nn/layer/conv.py +727 -0
  116. mindspore/mint/nn/layer/normalization.py +215 -19
  117. mindspore/mint/nn/layer/padding.py +797 -0
  118. mindspore/mint/nn/layer/pooling.py +170 -0
  119. mindspore/mint/optim/__init__.py +2 -1
  120. mindspore/mint/optim/adam.py +223 -0
  121. mindspore/mint/optim/adamw.py +26 -19
  122. mindspore/mint/special/__init__.py +2 -1
  123. mindspore/multiprocessing/__init__.py +5 -0
  124. mindspore/nn/cell.py +126 -19
  125. mindspore/nn/dynamic_lr.py +2 -1
  126. mindspore/nn/layer/activation.py +6 -6
  127. mindspore/nn/layer/basic.py +35 -25
  128. mindspore/nn/layer/channel_shuffle.py +3 -3
  129. mindspore/nn/layer/embedding.py +3 -3
  130. mindspore/nn/layer/normalization.py +8 -7
  131. mindspore/nn/layer/padding.py +4 -3
  132. mindspore/nn/layer/pooling.py +47 -13
  133. mindspore/nn/layer/rnn_cells.py +1 -1
  134. mindspore/nn/layer/rnns.py +2 -1
  135. mindspore/nn/layer/timedistributed.py +5 -5
  136. mindspore/nn/layer/transformer.py +48 -26
  137. mindspore/nn/learning_rate_schedule.py +5 -3
  138. mindspore/nn/loss/loss.py +31 -36
  139. mindspore/nn/optim/ada_grad.py +1 -0
  140. mindspore/nn/optim/adadelta.py +2 -2
  141. mindspore/nn/optim/adam.py +1 -1
  142. mindspore/nn/optim/lars.py +1 -4
  143. mindspore/nn/optim/optimizer.py +1 -1
  144. mindspore/nn/optim/rprop.py +2 -2
  145. mindspore/nn/optim/thor.py +2 -1
  146. mindspore/nn/utils/init.py +13 -11
  147. mindspore/nn/wrap/cell_wrapper.py +4 -6
  148. mindspore/nn/wrap/loss_scale.py +3 -4
  149. mindspore/numpy/array_creations.py +60 -62
  150. mindspore/numpy/array_ops.py +148 -143
  151. mindspore/numpy/logic_ops.py +41 -42
  152. mindspore/numpy/math_ops.py +361 -359
  153. mindspore/numpy/utils.py +16 -16
  154. mindspore/numpy/utils_const.py +4 -4
  155. mindspore/opencv_core452.dll +0 -0
  156. mindspore/opencv_imgcodecs452.dll +0 -0
  157. mindspore/opencv_imgproc452.dll +0 -0
  158. mindspore/ops/__init__.py +2 -1
  159. mindspore/ops/_grad_experimental/grad_comm_ops.py +94 -13
  160. mindspore/ops/_grad_experimental/grad_debug_ops.py +6 -1
  161. mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
  162. mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
  163. mindspore/ops/_op_impl/cpu/__init__.py +1 -0
  164. mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
  165. mindspore/ops/_vmap/vmap_array_ops.py +20 -19
  166. mindspore/ops/_vmap/vmap_base.py +0 -2
  167. mindspore/ops/_vmap/vmap_grad_nn_ops.py +19 -13
  168. mindspore/ops/_vmap/vmap_math_ops.py +11 -9
  169. mindspore/ops/_vmap/vmap_nn_ops.py +20 -34
  170. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +149 -12
  171. mindspore/ops/auto_generate/gen_arg_handler.py +0 -61
  172. mindspore/ops/auto_generate/gen_extend_func.py +554 -60
  173. mindspore/ops/auto_generate/gen_ops_def.py +1621 -115
  174. mindspore/ops/auto_generate/gen_ops_prim.py +8024 -3409
  175. mindspore/ops/auto_generate/pyboost_inner_prim.py +183 -79
  176. mindspore/ops/composite/base.py +1 -1
  177. mindspore/ops/composite/multitype_ops/_compile_utils.py +229 -30
  178. mindspore/ops/composite/multitype_ops/pow_impl.py +0 -29
  179. mindspore/ops/function/__init__.py +12 -0
  180. mindspore/ops/function/array_func.py +561 -159
  181. mindspore/ops/function/clip_func.py +64 -0
  182. mindspore/ops/function/debug_func.py +28 -20
  183. mindspore/ops/function/image_func.py +1 -1
  184. mindspore/ops/function/linalg_func.py +5 -4
  185. mindspore/ops/function/math_func.py +1659 -290
  186. mindspore/ops/function/nn_func.py +988 -317
  187. mindspore/ops/function/parameter_func.py +3 -56
  188. mindspore/ops/function/random_func.py +243 -33
  189. mindspore/ops/function/sparse_unary_func.py +1 -1
  190. mindspore/ops/functional.py +18 -5
  191. mindspore/ops/functional_overload.py +897 -0
  192. mindspore/ops/operations/__init__.py +3 -2
  193. mindspore/ops/operations/_embedding_cache_ops.py +4 -4
  194. mindspore/ops/operations/_grad_ops.py +2 -34
  195. mindspore/ops/operations/_infer_ops.py +2 -1
  196. mindspore/ops/operations/_inner_ops.py +38 -8
  197. mindspore/ops/operations/array_ops.py +45 -303
  198. mindspore/ops/operations/comm_ops.py +19 -16
  199. mindspore/ops/operations/custom_ops.py +11 -55
  200. mindspore/ops/operations/debug_ops.py +42 -47
  201. mindspore/ops/operations/inner_ops.py +6 -4
  202. mindspore/ops/operations/linalg_ops.py +3 -2
  203. mindspore/ops/operations/manually_defined/ops_def.py +185 -104
  204. mindspore/ops/operations/math_ops.py +11 -216
  205. mindspore/ops/operations/nn_ops.py +146 -308
  206. mindspore/ops/primitive.py +23 -21
  207. mindspore/ops/tensor_method.py +1669 -0
  208. mindspore/ops_generate/aclnn_kernel_register_auto_cc_generator.py +110 -0
  209. mindspore/ops_generate/add_tensor_docs_generator.py +54 -0
  210. mindspore/ops_generate/arg_handler.py +0 -61
  211. mindspore/ops_generate/auto_grad_impl_cc_generator.py +135 -0
  212. mindspore/ops_generate/auto_grad_reg_cc_generator.py +93 -0
  213. mindspore/ops_generate/base_generator.py +11 -0
  214. mindspore/ops_generate/cpp_create_prim_instance_helper_generator.py +108 -0
  215. mindspore/ops_generate/functional_map_cpp_generator.py +491 -0
  216. mindspore/ops_generate/functional_overload_py_generator.py +110 -0
  217. mindspore/ops_generate/functions_cc_generator.py +233 -0
  218. mindspore/ops_generate/gen_aclnn_implement.py +110 -114
  219. mindspore/ops_generate/gen_constants.py +157 -3
  220. mindspore/ops_generate/gen_ops.py +245 -990
  221. mindspore/ops_generate/gen_pyboost_func.py +97 -998
  222. mindspore/ops_generate/gen_utils.py +119 -33
  223. mindspore/ops_generate/lite_ops_cpp_generator.py +155 -0
  224. mindspore/ops_generate/op_api_proto.py +206 -0
  225. mindspore/ops_generate/op_def_py_generator.py +131 -0
  226. mindspore/ops_generate/op_prim_py_generator.py +480 -0
  227. mindspore/ops_generate/op_proto.py +373 -108
  228. mindspore/ops_generate/op_template_parser.py +436 -0
  229. mindspore/ops_generate/ops_def_cc_generator.py +288 -0
  230. mindspore/ops_generate/ops_def_h_generator.py +74 -0
  231. mindspore/ops_generate/ops_name_h_generator.py +68 -0
  232. mindspore/ops_generate/ops_primitive_h_generator.py +81 -0
  233. mindspore/ops_generate/pyboost_functions_cpp_generator.py +370 -0
  234. mindspore/ops_generate/pyboost_functions_h_generator.py +68 -0
  235. mindspore/ops_generate/pyboost_functions_py_generator.py +148 -0
  236. mindspore/ops_generate/pyboost_grad_function_cpp_generator.py +154 -0
  237. mindspore/ops_generate/pyboost_inner_prim_generator.py +131 -0
  238. mindspore/ops_generate/pyboost_native_grad_functions_generator.py +268 -0
  239. mindspore/ops_generate/pyboost_op_cpp_code_generator.py +851 -0
  240. mindspore/ops_generate/pyboost_overload_functions_cpp_generator.py +344 -0
  241. mindspore/ops_generate/pyboost_utils.py +92 -33
  242. mindspore/ops_generate/template.py +294 -44
  243. mindspore/ops_generate/tensor_func_reg_cpp_generator.py +422 -0
  244. mindspore/parallel/__init__.py +3 -3
  245. mindspore/parallel/_auto_parallel_context.py +24 -33
  246. mindspore/parallel/_parallel_serialization.py +13 -2
  247. mindspore/parallel/_utils.py +4 -1
  248. mindspore/parallel/algo_parameter_config.py +1 -1
  249. mindspore/parallel/checkpoint_transform.py +44 -0
  250. mindspore/parallel/cluster/process_entity/_api.py +131 -37
  251. mindspore/parallel/cluster/process_entity/_utils.py +41 -6
  252. mindspore/parallel/cluster/run.py +20 -3
  253. mindspore/parallel/parameter_broadcast.py +1 -1
  254. mindspore/parallel/shard.py +3 -0
  255. mindspore/parallel/transform_safetensors.py +119 -253
  256. mindspore/profiler/__init__.py +17 -4
  257. mindspore/profiler/analysis/__init__.py +0 -0
  258. mindspore/profiler/analysis/parser/__init__.py +0 -0
  259. mindspore/profiler/analysis/parser/ascend_cann_parser.py +166 -0
  260. mindspore/profiler/analysis/parser/base_parser.py +158 -0
  261. mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
  262. mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
  263. mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
  264. mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
  265. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +261 -0
  266. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
  267. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +84 -0
  268. mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
  269. mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
  270. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
  271. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
  272. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
  273. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
  274. mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
  275. mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
  276. mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
  277. mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
  278. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +260 -0
  279. mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
  280. mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
  281. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
  282. mindspore/profiler/analysis/task_manager.py +131 -0
  283. mindspore/profiler/analysis/time_converter.py +84 -0
  284. mindspore/profiler/analysis/viewer/__init__.py +0 -0
  285. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +333 -0
  286. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
  287. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +252 -0
  288. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +313 -0
  289. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +322 -0
  290. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +265 -0
  291. mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
  292. mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
  293. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +97 -0
  294. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
  295. mindspore/profiler/analysis/work_flow.py +73 -0
  296. mindspore/profiler/common/ascend_msprof_exporter.py +138 -0
  297. mindspore/profiler/common/command_executor.py +90 -0
  298. mindspore/profiler/common/constant.py +174 -3
  299. mindspore/profiler/common/file_manager.py +208 -0
  300. mindspore/profiler/common/log.py +130 -0
  301. mindspore/profiler/common/msprof_cmd_tool.py +202 -0
  302. mindspore/profiler/common/path_manager.py +371 -0
  303. mindspore/profiler/common/process_bar.py +168 -0
  304. mindspore/profiler/common/process_pool.py +9 -3
  305. mindspore/profiler/common/profiler_context.py +476 -0
  306. mindspore/profiler/common/profiler_info.py +304 -0
  307. mindspore/profiler/common/profiler_output_path.py +284 -0
  308. mindspore/profiler/common/profiler_parameters.py +210 -0
  309. mindspore/profiler/common/profiler_path_manager.py +120 -0
  310. mindspore/profiler/common/record_function.py +76 -0
  311. mindspore/profiler/common/tlv_decoder.py +76 -0
  312. mindspore/profiler/common/util.py +75 -2
  313. mindspore/profiler/dynamic_profiler.py +270 -37
  314. mindspore/profiler/envprofiler.py +138 -0
  315. mindspore/profiler/mstx.py +199 -0
  316. mindspore/profiler/platform/__init__.py +21 -0
  317. mindspore/profiler/platform/base_profiler.py +40 -0
  318. mindspore/profiler/platform/cpu_profiler.py +124 -0
  319. mindspore/profiler/platform/gpu_profiler.py +74 -0
  320. mindspore/profiler/platform/npu_profiler.py +309 -0
  321. mindspore/profiler/profiler.py +580 -93
  322. mindspore/profiler/profiler_action_controller.py +187 -0
  323. mindspore/profiler/profiler_interface.py +114 -0
  324. mindspore/profiler/schedule.py +208 -0
  325. mindspore/rewrite/api/symbol_tree.py +1 -2
  326. mindspore/run_check/_check_version.py +2 -6
  327. mindspore/runtime/__init__.py +37 -0
  328. mindspore/runtime/device.py +27 -0
  329. mindspore/runtime/event.py +209 -0
  330. mindspore/runtime/executor.py +148 -0
  331. mindspore/runtime/memory.py +392 -0
  332. mindspore/runtime/stream.py +460 -0
  333. mindspore/runtime/thread_bind_core.py +401 -0
  334. mindspore/swresample-4.dll +0 -0
  335. mindspore/swscale-6.dll +0 -0
  336. mindspore/tinyxml2.dll +0 -0
  337. mindspore/train/__init__.py +2 -2
  338. mindspore/train/_utils.py +53 -18
  339. mindspore/train/amp.py +8 -4
  340. mindspore/train/callback/_checkpoint.py +32 -18
  341. mindspore/train/callback/_early_stop.py +1 -1
  342. mindspore/train/callback/_flops_collector.py +105 -69
  343. mindspore/train/callback/_history.py +1 -1
  344. mindspore/train/callback/_summary_collector.py +44 -6
  345. mindspore/train/callback/_tft_register.py +31 -10
  346. mindspore/train/dataset_helper.py +11 -11
  347. mindspore/train/metrics/precision.py +4 -5
  348. mindspore/train/mind_ir_pb2.py +167 -46
  349. mindspore/train/model.py +13 -15
  350. mindspore/train/serialization.py +462 -76
  351. mindspore/train/summary/summary_record.py +1 -2
  352. mindspore/train/train_thor/model_thor.py +1 -1
  353. mindspore/turbojpeg.dll +0 -0
  354. mindspore/utils/__init__.py +4 -2
  355. mindspore/utils/dryrun.py +138 -0
  356. mindspore/utils/runtime_execution_order_check.py +550 -0
  357. mindspore/version.py +1 -1
  358. {mindspore-2.4.10.dist-info → mindspore-2.5.0.dist-info}/METADATA +2 -3
  359. {mindspore-2.4.10.dist-info → mindspore-2.5.0.dist-info}/RECORD +362 -238
  360. {mindspore-2.4.10.dist-info → mindspore-2.5.0.dist-info}/entry_points.txt +1 -1
  361. mindspore/common/_tensor_overload.py +0 -139
  362. mindspore/mindspore_np_dtype.dll +0 -0
  363. mindspore/profiler/envprofiling.py +0 -254
  364. mindspore/profiler/profiling.py +0 -1926
  365. {mindspore-2.4.10.dist-info → mindspore-2.5.0.dist-info}/WHEEL +0 -0
  366. {mindspore-2.4.10.dist-info → mindspore-2.5.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,252 @@
1
+ # Copyright 2024 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
+ """Ascend kernel details viewer"""
16
+ import os
17
+ import csv
18
+ from decimal import Decimal
19
+
20
+ from mindspore import log as logger
21
+ from mindspore.profiler.analysis.viewer.base_viewer import BaseViewer
22
+ from mindspore.profiler.analysis.parser.timeline_assembly_factory.trace_view_container import TraceViewContainer
23
+ from mindspore.profiler.common.constant import OpSummaryHeaders
24
+ from mindspore.profiler.common.path_manager import PathManager
25
+ from mindspore.profiler.common.constant import TimelineLayerName
26
+ from mindspore.profiler.common.constant import ProfilerStepNameConstant, JitLevel, ProfilerLevel
27
+ from mindspore.profiler.common.log import ProfilerLogger
28
+
29
+
30
+ class AscendKernelDetailsViewer(BaseViewer):
31
+ """
32
+ Ascend kernel details viewer
33
+ """
34
+ KERNEL_DETAILS_FILE_NAME = "kernel_details.csv"
35
+ EXCLUDE_HEADERS = [OpSummaryHeaders.DEVICE_ID.value]
36
+ LEVEL0_EXCLUDE_HEADERS = [
37
+ OpSummaryHeaders.MIX_BLOCK_DIM.value,
38
+ OpSummaryHeaders.HF32_ELIGIBLE.value,
39
+ OpSummaryHeaders.INPUT_SHAPES.value,
40
+ OpSummaryHeaders.INPUT_DATA_TYPES.value,
41
+ OpSummaryHeaders.INPUT_FORMATS.value,
42
+ OpSummaryHeaders.OUTPUT_SHAPES.value,
43
+ OpSummaryHeaders.OUTPUT_DATA_TYPES.value,
44
+ OpSummaryHeaders.OUTPUT_FORMATS.value,
45
+ OpSummaryHeaders.CONTEXT_ID.value,
46
+ ]
47
+ RENAME_HEADERS = {
48
+ OpSummaryHeaders.OP_NAME.value: "Name",
49
+ OpSummaryHeaders.OP_TYPE.value: "Type",
50
+ OpSummaryHeaders.TASK_TYPE.value: "Accelerator Core",
51
+ OpSummaryHeaders.TASK_START_TIME.value: "Start Time(us)",
52
+ OpSummaryHeaders.TASK_DURATION.value: "Duration(us)",
53
+ OpSummaryHeaders.TASK_WAIT_TIME.value: "Wait Time(us)",
54
+ }
55
+
56
+ def __init__(self, **kwargs):
57
+ super().__init__()
58
+ self._save_path = os.path.join(
59
+ kwargs.get("ascend_profiler_output_path"),
60
+ self.KERNEL_DETAILS_FILE_NAME
61
+ )
62
+ self._ascend_ms_dir = kwargs.get("ascend_ms_dir")
63
+ self._is_set_schedule = kwargs.get("is_set_schedule")
64
+ self._jit_level = kwargs.get("jit_level")
65
+ self._profiler_level = kwargs.get("profiler_level")
66
+ self.op_summary_headers = None
67
+ self.op_summary = None
68
+ self.trace_container = None
69
+ self.kernel_details_headers = None
70
+ ProfilerLogger.init(self._ascend_ms_dir)
71
+ self._logger = ProfilerLogger.get_instance()
72
+
73
+ def save(self, data):
74
+ """
75
+ Save kernel details to csv file.
76
+ """
77
+ self._logger.info("AscendKernelDetailsViewer start")
78
+ try:
79
+ if self._profiler_level == ProfilerLevel.LevelNone.value:
80
+ return
81
+ self._check_input_data(data)
82
+ self._update_kernel_name()
83
+ self._update_headers()
84
+ self._write_data()
85
+ self._logger.info("Kernel details saved done")
86
+ except Exception as e: # pylint: disable=W0703
87
+ self._logger.error("Failed to save kernel details: %s", str(e), exc_info=True)
88
+ self._logger.info("AscendKernelDetailsViewer end")
89
+
90
+ def _check_input_data(self, data):
91
+ """
92
+ Check input data.
93
+ """
94
+ self.trace_container = data.get("trace_view_container", None)
95
+ self.op_summary = data.get("op_summary", None)
96
+ self.op_summary_headers = data.get("op_summary_headers", None)
97
+
98
+ if self.op_summary is None or self.op_summary.size == 0:
99
+ raise ValueError("op summary is empty")
100
+
101
+ if self.trace_container is None:
102
+ raise ValueError("trace view container is None")
103
+
104
+ def _write_data(self):
105
+ """
106
+ Write data to csv file.
107
+ """
108
+ self._logger.info("Kernel details saved start")
109
+ PathManager.check_directory_path_writeable(os.path.dirname(self._save_path))
110
+ with open(self._save_path, "w", newline="", encoding="utf-8") as csvfile:
111
+ writer = csv.writer(csvfile)
112
+ writer.writerow(self.kernel_details_headers)
113
+ for row in self.op_summary:
114
+ writer.writerow([row[field] for field in self.op_summary_headers])
115
+ self._logger.info("Kernel details saved done")
116
+
117
+ def _update_headers(self):
118
+ """
119
+ Update kernel details headers.
120
+ """
121
+ # filter exclude headers
122
+ self.op_summary_headers = [
123
+ header
124
+ for header in self.op_summary_headers
125
+ if header not in self.EXCLUDE_HEADERS
126
+ ]
127
+
128
+ if self._profiler_level == ProfilerLevel.Level0.value:
129
+ self.op_summary_headers = [
130
+ header
131
+ for header in self.op_summary_headers
132
+ if header not in self.LEVEL0_EXCLUDE_HEADERS
133
+ ]
134
+
135
+ if not self._is_set_schedule or self._jit_level == JitLevel.GRAPH_LEVEL:
136
+ self.op_summary_headers.remove(OpSummaryHeaders.STEP_ID.value)
137
+ # rename headers
138
+ self.kernel_details_headers = [
139
+ self.RENAME_HEADERS.get(header, header)
140
+ for header in self.op_summary_headers
141
+ ]
142
+
143
+ def _update_kernel_name(self):
144
+ """
145
+ Update op summary op name to framework launch op name.
146
+ """
147
+ self._logger.info("Update kernel name start")
148
+ step_id_to_time_dict = _generate_step_id_dict_by_trace_container(self.trace_container)
149
+ dev_kernels = self.trace_container.hardware_op_event
150
+ _generate_hardware_op_event_step_id(dev_kernels, step_id_to_time_dict)
151
+
152
+ if not dev_kernels:
153
+ logger.warning(
154
+ "Cannot find the device kernels with MindSpore framework launch op, "
155
+ "Please verify if it's in graph mode."
156
+ )
157
+ return
158
+
159
+ # build device kernel to framework launch op map
160
+ dev_kernel_to_fwk_op = {}
161
+ for _, per_tid_kernels in dev_kernels.items():
162
+ for kernel in per_tid_kernels:
163
+ dev_kernel_name = kernel.name
164
+ dev_kerel_ts = str(kernel.ts)
165
+ dev_kernel_to_fwk_op[(dev_kernel_name, dev_kerel_ts)] = kernel
166
+
167
+ launch_ops = [None] * len(self.op_summary)
168
+ step_ids = [None] * len(self.op_summary)
169
+ for index, summary in enumerate(self.op_summary):
170
+ dev_kernel_name = summary[OpSummaryHeaders.OP_NAME.value]
171
+ dev_kernel_ts = str(summary[OpSummaryHeaders.TASK_START_TIME.value]).strip("\t")
172
+ fwk_langch_op_name = None
173
+ step_id = None
174
+ if dev_kernel_to_fwk_op.get((dev_kernel_name, dev_kernel_ts)):
175
+ kernel = dev_kernel_to_fwk_op.get((dev_kernel_name, dev_kernel_ts))
176
+ if kernel.parent:
177
+ fwk_langch_op_name = kernel.parent.name
178
+ step_id = kernel.step_id
179
+
180
+ if step_id is None:
181
+ step_id = _get_step_id_by_ts(Decimal(dev_kernel_ts), step_id_to_time_dict)
182
+
183
+ if fwk_langch_op_name is None:
184
+ self._logger.warning(
185
+ "Can not find fwk launch op for dev kernel %s, ts %s",
186
+ dev_kernel_name,
187
+ dev_kernel_ts,
188
+ )
189
+ launch_ops[index] = dev_kernel_name
190
+ else:
191
+ launch_ops[index] = f"{fwk_langch_op_name}/{dev_kernel_name}"
192
+
193
+ if step_id is None and self._is_set_schedule:
194
+ self._logger.warning(
195
+ "Can not find step id for dev kernel %s, ts %s",
196
+ dev_kernel_name,
197
+ dev_kernel_ts,
198
+ )
199
+ else:
200
+ step_ids[index] = step_id
201
+
202
+ # update op summary op name
203
+ self.op_summary[OpSummaryHeaders.OP_NAME.value] = launch_ops
204
+
205
+ # update op summary step id
206
+ if self._is_set_schedule:
207
+ if not self._jit_level == JitLevel.GRAPH_LEVEL:
208
+ self.op_summary[OpSummaryHeaders.STEP_ID.value] = step_ids
209
+ self._logger.info("Update kernel name done")
210
+
211
+
212
+ def _generate_step_id_dict_by_trace_container(trace_container: TraceViewContainer):
213
+ """
214
+ Generate the step id to time dict.
215
+ """
216
+ # Retrieve all events from the trace container for the Mindspore timeline layer
217
+ events = trace_container.get_pool_by_name(TimelineLayerName.MINDSPORE.value).get_all_events()
218
+
219
+ # Filter events that contain "ProfilerStep" and create a dictionary mapping (start_ts, end_ts) to step ID
220
+ step_id_to_time_dict = {}
221
+ for event in events:
222
+ event_name = event.name
223
+ if ProfilerStepNameConstant.PROFILER_STEP in event_name:
224
+ step_id_to_time_dict[event.name.split("#")[-1]] = (event.ts, event.dur + event.ts)
225
+
226
+ return step_id_to_time_dict
227
+
228
+
229
+ def _generate_hardware_op_event_step_id(hardware_op_events_dict: dict, step_id_to_time_dict: dict):
230
+ """
231
+ Generate the hardware op event step id.
232
+ """
233
+ for hardware_op_events_list in hardware_op_events_dict.values():
234
+ # Associate each hardware operation event with its step ID
235
+ for hardware_op_event in hardware_op_events_list:
236
+ kernel_event = hardware_op_event.parent
237
+ if not kernel_event:
238
+ continue
239
+
240
+ hardware_op_event.step_id = _get_step_id_by_ts(kernel_event.ts, step_id_to_time_dict)
241
+
242
+
243
+ def _get_step_id_by_ts(ts: Decimal, step_events_dict: dict):
244
+ """
245
+ Retrieves the step ID for a given timestamp from the step events dictionary.
246
+ """
247
+ # Iterate through the step events dictionary to find the step ID for the given timestamp
248
+ for step_id, (st, et) in step_events_dict.items():
249
+ if st <= ts <= et:
250
+ return step_id
251
+
252
+ return None
@@ -0,0 +1,313 @@
1
+ # Copyright 2024 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
+ """ascend memory viewer"""
16
+ import os
17
+ from decimal import Decimal
18
+
19
+ from mindspore.profiler.analysis.viewer.base_viewer import BaseViewer
20
+ from mindspore.profiler.common.file_manager import FileManager
21
+ from mindspore.profiler.common.log import ProfilerLogger
22
+
23
+
24
+ class MemoryRecordBean:
25
+ """Memory Record Struct"""
26
+
27
+ KB_TO_MB = 1000
28
+ HEADERS = [
29
+ "Component",
30
+ "Timestamp(us)",
31
+ "Total Allocated(KB)",
32
+ "Total Reserved(KB)",
33
+ "Total Active(KB)",
34
+ "Device Type",
35
+ ]
36
+
37
+ def __init__(self, data: list):
38
+ self._data = dict(zip(self.HEADERS, data))
39
+
40
+ @property
41
+ def row(self) -> list:
42
+ """
43
+ Get row data
44
+ """
45
+ return [
46
+ self.component,
47
+ self.time_us_str,
48
+ self.total_allocated_mb,
49
+ self.total_reserved_mb,
50
+ self.total_active_mb,
51
+ self.device_type,
52
+ ]
53
+
54
+ @property
55
+ def component(self) -> str:
56
+ """
57
+ Get component
58
+ """
59
+ return self._data.get("Component", "")
60
+
61
+ @property
62
+ def time_us_str(self) -> str:
63
+ """
64
+ Get time in us
65
+ """
66
+ ts_us = self._data.get("Timestamp(us)", 0)
67
+ return str(ts_us)
68
+
69
+ @property
70
+ def total_allocated_mb(self) -> float:
71
+ """
72
+ Get total allocated memory in MB
73
+ """
74
+ return float(self._data.get("Total Allocated(KB)", 0)) / self.KB_TO_MB
75
+
76
+ @property
77
+ def total_reserved_mb(self) -> float:
78
+ """
79
+ Get total reserved memory in MB
80
+ """
81
+ return float(self._data.get("Total Reserved(KB)", 0)) / self.KB_TO_MB
82
+
83
+ @property
84
+ def total_active_mb(self) -> float:
85
+ """
86
+ Get total active memory in MB
87
+ """
88
+ return float(self._data.get("Total Active(KB)", 0)) / self.KB_TO_MB
89
+
90
+ @property
91
+ def device_type(self) -> float:
92
+ """
93
+ Get device type
94
+ """
95
+ return self._data.get("Device Type", "")
96
+
97
+ @property
98
+ def total_allocated_kb(self) -> float:
99
+ """
100
+ Get total allocated memory in KB
101
+ """
102
+ return float(self._data.get("Total Allocated(KB)", 0))
103
+
104
+ @property
105
+ def total_reserved_kb(self) -> float:
106
+ """
107
+ Get total reserved memory in KB
108
+ """
109
+ return float(self._data.get("Total Reserved(KB)", 0))
110
+
111
+ @property
112
+ def total_active_kb(self) -> float:
113
+ """
114
+ Get total active memory in KB
115
+ """
116
+ return float(self._data.get("Total Active(KB)", 0))
117
+
118
+ @property
119
+ def time_us(self) -> Decimal:
120
+ """
121
+ Get time in us
122
+ """
123
+ return Decimal(self._data.get("Timestamp(us)", 0))
124
+
125
+ def is_ge_component(self):
126
+ """
127
+ Determine if it is GE
128
+ """
129
+ return self.component == "GE"
130
+
131
+
132
+ class AscendMemoryViewer(BaseViewer):
133
+ """
134
+ Ascend Memory Viewer
135
+
136
+ generate memory_record.csv and npu_module_mem.csv
137
+ """
138
+
139
+ GE_MEMORY_RECORD_HEADERS = [
140
+ "Device id",
141
+ "Component",
142
+ "Timestamp(us)",
143
+ "Total Allocated(KB)",
144
+ "Total Reserved(KB)",
145
+ "Device",
146
+ ]
147
+ MS_MEMORY_RECORD_HEADERS = [
148
+ "Timestamp(ns)",
149
+ "Total Allocated(Byte)",
150
+ "Total Reserved(Byte)",
151
+ "Total Active(Byte)",
152
+ ]
153
+ TARGET_MEMORY_RECORD_HEADERS = [
154
+ "Component",
155
+ "Timestamp(us)",
156
+ "Total Allocated(MB)",
157
+ "Total Reserved(MB)",
158
+ "Total Active(MB)",
159
+ "Device Type",
160
+ ]
161
+
162
+ def __init__(self, **kwargs):
163
+ super().__init__()
164
+ self._enable_profile_memory = kwargs.get("profile_memory", False)
165
+ self._rank_id = kwargs.get("rank_id", 0)
166
+ self._output_path = kwargs.get("ascend_profiler_output_path")
167
+ self._framework_path = kwargs.get("framework_path")
168
+ self._msprof_profiler_output_path = kwargs.get("msprof_profile_output_path")
169
+ self._ascend_ms_dir = kwargs.get("ascend_ms_dir")
170
+ ProfilerLogger.init(self._ascend_ms_dir)
171
+ self._logger = ProfilerLogger.get_instance()
172
+ self._ge_memory_record = []
173
+ self._ms_memory_record = []
174
+
175
+ def save(self, data=None):
176
+ """
177
+ Save memory data
178
+ """
179
+ self._logger.info("AscendMemoryViewer start")
180
+ if not self._enable_profile_memory:
181
+ return
182
+ try:
183
+ self._copy_npu_module_mem_csv()
184
+ self._parse_memory_record()
185
+ except Exception as e: # pylint: disable=W0703
186
+ self._logger.error("Failed to save memory data: %s", e, exc_info=True)
187
+ self._logger.info("AscendMemoryViewer end")
188
+
189
+ def _copy_npu_module_mem_csv(self):
190
+ """Generate npu_module_mem.csv"""
191
+ npu_module_mem_file_list = FileManager.get_csv_file_list_by_start_name(
192
+ self._msprof_profiler_output_path, "npu_module_mem"
193
+ )
194
+ target_file_path = os.path.join(
195
+ self._output_path, "npu_module_mem.csv"
196
+ )
197
+ FileManager.combine_csv_file(npu_module_mem_file_list, target_file_path)
198
+ self._logger.info("npu_module_mem.csv saved to %s", target_file_path)
199
+
200
+ def _parse_memory_record(self):
201
+ """Generate memory_record.csv"""
202
+ self._parse_ge_memory_record()
203
+ self._parse_ms_memory_record()
204
+ combined_memory_data = self._combine_ge_ms_memory_record()
205
+ target_file_path = os.path.join(
206
+ self._output_path, "memory_record.csv"
207
+ )
208
+ FileManager.create_csv_file(
209
+ target_file_path, combined_memory_data, self.TARGET_MEMORY_RECORD_HEADERS
210
+ )
211
+ self._logger.info("memory_record.csv saved to %s", target_file_path)
212
+
213
+ def _parse_ge_memory_record(self):
214
+ """Parse ge memory record data"""
215
+ memory_record_file_list = FileManager.get_csv_file_list_by_start_name(
216
+ self._msprof_profiler_output_path, "memory_record"
217
+ )
218
+ for file in memory_record_file_list:
219
+ data = FileManager.read_csv_file(file)
220
+ if len(data) > 1:
221
+ self._ge_memory_record.extend(data[1:])
222
+
223
+ def _parse_ms_memory_record(self):
224
+ """Parse mindspore memory record data"""
225
+ memory_record_file = os.path.join(
226
+ self._framework_path,
227
+ f"cpu_ms_memory_record_{self._rank_id}.txt",
228
+ )
229
+ data = FileManager.read_csv_file(memory_record_file)
230
+ if len(data) > 1:
231
+ self._ms_memory_record.extend(data[1:])
232
+
233
+ def _get_app_reserved_memory(self) -> list:
234
+ """Get the reserved memory of the application from npu_mem.csv"""
235
+ npu_module_mem_file_list = FileManager.get_csv_file_list_by_start_name(
236
+ self._msprof_profiler_output_path, "npu_mem"
237
+ )
238
+ app_mems = []
239
+ for file in npu_module_mem_file_list:
240
+ md_mems = FileManager.read_csv_file(file)
241
+ for mem in md_mems:
242
+ if mem[1] == "APP":
243
+ app_mems.append(
244
+ MemoryRecordBean(
245
+ [
246
+ mem[1],
247
+ mem[-1].rstrip("\t"),
248
+ 0.0,
249
+ float(mem[4]),
250
+ 0.0,
251
+ f"NPU:{self._rank_id}",
252
+ ]
253
+ ).row
254
+ )
255
+ return app_mems
256
+
257
+ def _combine_ge_ms_memory_record(self) -> list:
258
+ """Combine ge and mindspore memory record data"""
259
+ memory_records = []
260
+ for ge_memory in self._ge_memory_record:
261
+ memory_record = dict(zip(self.GE_MEMORY_RECORD_HEADERS, ge_memory))
262
+ memory_records.append(
263
+ MemoryRecordBean(
264
+ [
265
+ memory_record.get("Component", "GE"),
266
+ memory_record.get("Timestamp(us)"),
267
+ memory_record.get("Total Allocated(KB)", 0),
268
+ memory_record.get("Total Reserved(KB)", 0),
269
+ 0,
270
+ memory_record.get("Device"),
271
+ ]
272
+ )
273
+ )
274
+ for ms_memory in self._ms_memory_record:
275
+ memory_record = dict(zip(self.MS_MEMORY_RECORD_HEADERS, ms_memory))
276
+ memory_records.append(
277
+ MemoryRecordBean(
278
+ [
279
+ "MindSpore",
280
+ Decimal(memory_record.get("Timestamp(ns)", 0)) / 1000,
281
+ float(memory_record.get("Total Allocated(Byte)", 0)) / 1024,
282
+ float(memory_record.get("Total Reserved(Byte)", 0)) / 1024,
283
+ float(memory_record.get("Total Active(Byte)", 0)) / 1024,
284
+ f"NPU:{self._rank_id}",
285
+ ]
286
+ )
287
+ )
288
+ memory_records.sort(key=lambda x: x.time_us)
289
+ last_ge_memory, last_ms_memory = MemoryRecordBean([0] * 6), MemoryRecordBean(
290
+ [0] * 6
291
+ )
292
+ result_data = []
293
+ for memory_record in memory_records:
294
+ result_data.append(memory_record.row)
295
+ last_memory = (
296
+ last_ms_memory if memory_record.is_ge_component() else last_ge_memory
297
+ )
298
+ combined_mem = MemoryRecordBean(
299
+ [
300
+ "MindSpore+GE",
301
+ memory_record.time_us,
302
+ memory_record.total_allocated_kb + last_memory.total_allocated_kb,
303
+ memory_record.total_reserved_kb + last_memory.total_reserved_kb,
304
+ memory_record.total_active_kb + last_memory.total_active_kb,
305
+ f"NPU:{self._rank_id}",
306
+ ]
307
+ )
308
+ result_data.append(combined_mem.row)
309
+ if memory_record.is_ge_component():
310
+ last_ge_memory = memory_record
311
+ else:
312
+ last_ms_memory = memory_record
313
+ return result_data + self._get_app_reserved_memory()