mindspore 2.6.0rc1__cp39-cp39-win_amd64.whl → 2.7.0rc1__cp39-cp39-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 (384) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +1 -1
  3. mindspore/_c_dataengine.cp39-win_amd64.pyd +0 -0
  4. mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
  5. mindspore/_c_mindrecord.cp39-win_amd64.pyd +0 -0
  6. mindspore/_checkparam.py +40 -9
  7. mindspore/{_deprecated → _extends/optimize}/__init__.py +9 -3
  8. mindspore/_extends/optimize/cell_utils.py +96 -0
  9. mindspore/_extends/parse/__init__.py +2 -2
  10. mindspore/_extends/parse/compile_config.py +44 -22
  11. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +1 -1
  12. mindspore/_extends/parse/parser.py +37 -62
  13. mindspore/_extends/parse/resources.py +39 -0
  14. mindspore/_extends/parse/standard_method.py +43 -13
  15. mindspore/_extends/parse/trope.py +8 -1
  16. mindspore/_extends/pijit/__init__.py +1 -2
  17. mindspore/amp.py +4 -4
  18. mindspore/avcodec-59.dll +0 -0
  19. mindspore/avdevice-59.dll +0 -0
  20. mindspore/avfilter-8.dll +0 -0
  21. mindspore/avformat-59.dll +0 -0
  22. mindspore/avutil-57.dll +0 -0
  23. mindspore/boost/adasum.py +1 -1
  24. mindspore/boost/boost_cell_wrapper.py +4 -4
  25. mindspore/common/__init__.py +27 -2
  26. mindspore/common/_grad_function.py +2 -1
  27. mindspore/common/_pijit_context.py +28 -7
  28. mindspore/common/_stub_tensor.py +1 -209
  29. mindspore/common/_tensor_cpp_method.py +1 -1
  30. mindspore/common/_tensor_docs.py +77 -16
  31. mindspore/common/api.py +238 -113
  32. mindspore/common/dtype.py +21 -11
  33. mindspore/common/dump.py +10 -15
  34. mindspore/common/generator.py +5 -3
  35. mindspore/common/hook_handle.py +11 -2
  36. mindspore/common/jit_config.py +1 -1
  37. mindspore/common/jit_trace.py +84 -105
  38. mindspore/common/parameter.py +26 -12
  39. mindspore/common/recompute.py +3 -3
  40. mindspore/common/sparse_tensor.py +0 -3
  41. mindspore/common/symbol.py +0 -1
  42. mindspore/common/tensor.py +81 -81
  43. mindspore/communication/_comm_helper.py +46 -4
  44. mindspore/communication/management.py +79 -7
  45. mindspore/context.py +58 -40
  46. mindspore/dataset/core/config.py +3 -3
  47. mindspore/dataset/engine/datasets.py +20 -7
  48. mindspore/dataset/engine/datasets_user_defined.py +33 -3
  49. mindspore/dataset/engine/iterators.py +2 -2
  50. mindspore/dataset/engine/obs/config_loader.py +2 -2
  51. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +8 -0
  52. mindspore/dataset/transforms/py_transforms.py +7 -3
  53. mindspore/dataset/transforms/transforms.py +7 -3
  54. mindspore/dataset/vision/validators.py +1 -0
  55. mindspore/device_context/ascend/device.py +1 -1
  56. mindspore/device_context/gpu/__init__.py +2 -2
  57. mindspore/device_context/gpu/device.py +1 -1
  58. mindspore/device_context/gpu/op_precision.py +4 -2
  59. mindspore/device_context/gpu/op_tuning.py +6 -3
  60. mindspore/device_manager.py +16 -9
  61. mindspore/dnnl.dll +0 -0
  62. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +3 -7
  63. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  64. mindspore/experimental/optim/adadelta.py +13 -20
  65. mindspore/experimental/optim/adagrad.py +15 -22
  66. mindspore/experimental/optim/adam.py +17 -24
  67. mindspore/experimental/optim/adamax.py +14 -22
  68. mindspore/experimental/optim/adamw.py +28 -34
  69. mindspore/experimental/optim/asgd.py +15 -25
  70. mindspore/experimental/optim/lr_scheduler.py +27 -45
  71. mindspore/experimental/optim/nadam.py +14 -24
  72. mindspore/experimental/optim/optimizer.py +13 -23
  73. mindspore/experimental/optim/radam.py +18 -24
  74. mindspore/experimental/optim/rmsprop.py +14 -25
  75. mindspore/experimental/optim/rprop.py +15 -26
  76. mindspore/experimental/optim/sgd.py +9 -19
  77. mindspore/hal/__init__.py +4 -4
  78. mindspore/hal/contiguous_tensors_handle.py +2 -2
  79. mindspore/hal/memory.py +27 -7
  80. mindspore/include/api/cell.h +37 -1
  81. mindspore/include/api/delegate.h +10 -0
  82. mindspore/include/api/model.h +3 -0
  83. mindspore/include/api/types.h +2 -2
  84. mindspore/include/c_api/model_c.h +0 -58
  85. mindspore/include/c_api/tensor_c.h +0 -26
  86. mindspore/include/dataset/vision_ascend.h +1 -1
  87. mindspore/jpeg62.dll +0 -0
  88. mindspore/mindrecord/tools/cifar10.py +60 -11
  89. mindspore/mindrecord/tools/cifar10_to_mr.py +5 -0
  90. mindspore/mindspore_backend_common.dll +0 -0
  91. mindspore/mindspore_backend_manager.dll +0 -0
  92. mindspore/mindspore_common.dll +0 -0
  93. mindspore/mindspore_core.dll +0 -0
  94. mindspore/mindspore_cpu_res_manager.dll +0 -0
  95. mindspore/mindspore_dump.dll +0 -0
  96. mindspore/mindspore_frontend.dll +0 -0
  97. mindspore/mindspore_glog.dll +0 -0
  98. mindspore/mindspore_memory_pool.dll +0 -0
  99. mindspore/mindspore_ms_backend.dll +0 -0
  100. mindspore/mindspore_ops.dll +0 -0
  101. mindspore/mindspore_ops_host.dll +0 -0
  102. mindspore/mindspore_ops_kernel_common.dll +0 -0
  103. mindspore/mindspore_profiler.dll +0 -0
  104. mindspore/mindspore_pyboost.dll +0 -0
  105. mindspore/mindspore_pynative.dll +0 -0
  106. mindspore/mindspore_res_manager.dll +0 -0
  107. mindspore/mindspore_runtime_pipeline.dll +0 -0
  108. mindspore/mint/__init__.py +6 -46
  109. mindspore/mint/distributed/__init__.py +1 -0
  110. mindspore/mint/distributed/distributed.py +212 -9
  111. mindspore/mint/nn/__init__.py +1 -1
  112. mindspore/mint/nn/functional.py +53 -6
  113. mindspore/mint/nn/layer/_functions.py +164 -294
  114. mindspore/mint/nn/layer/activation.py +8 -6
  115. mindspore/mint/nn/layer/conv.py +137 -101
  116. mindspore/mint/nn/layer/normalization.py +8 -22
  117. mindspore/mint/optim/adam.py +19 -18
  118. mindspore/mint/optim/adamw.py +14 -8
  119. mindspore/mint/optim/sgd.py +5 -5
  120. mindspore/nn/cell.py +328 -502
  121. mindspore/nn/grad/cell_grad.py +11 -12
  122. mindspore/nn/layer/activation.py +32 -34
  123. mindspore/nn/layer/basic.py +67 -64
  124. mindspore/nn/layer/channel_shuffle.py +4 -4
  125. mindspore/nn/layer/combined.py +4 -2
  126. mindspore/nn/layer/conv.py +117 -110
  127. mindspore/nn/layer/dense.py +9 -7
  128. mindspore/nn/layer/embedding.py +50 -52
  129. mindspore/nn/layer/image.py +37 -39
  130. mindspore/nn/layer/math.py +111 -112
  131. mindspore/nn/layer/normalization.py +56 -44
  132. mindspore/nn/layer/pooling.py +58 -63
  133. mindspore/nn/layer/rnn_cells.py +33 -33
  134. mindspore/nn/layer/rnns.py +56 -56
  135. mindspore/nn/layer/thor_layer.py +74 -73
  136. mindspore/nn/layer/transformer.py +11 -1
  137. mindspore/nn/learning_rate_schedule.py +20 -20
  138. mindspore/nn/loss/loss.py +79 -81
  139. mindspore/nn/optim/adam.py +3 -3
  140. mindspore/nn/optim/adasum.py +2 -2
  141. mindspore/nn/optim/asgd.py +2 -0
  142. mindspore/nn/optim/optimizer.py +1 -1
  143. mindspore/nn/optim/thor.py +2 -2
  144. mindspore/nn/probability/distribution/exponential.py +2 -1
  145. mindspore/nn/probability/distribution/poisson.py +2 -1
  146. mindspore/nn/sparse/sparse.py +3 -3
  147. mindspore/nn/wrap/cell_wrapper.py +34 -37
  148. mindspore/nn/wrap/grad_reducer.py +37 -37
  149. mindspore/nn/wrap/loss_scale.py +72 -74
  150. mindspore/numpy/array_creations.py +5 -5
  151. mindspore/numpy/fft.py +1 -1
  152. mindspore/numpy/math_ops.py +5 -5
  153. mindspore/opencv_core452.dll +0 -0
  154. mindspore/opencv_imgcodecs452.dll +0 -0
  155. mindspore/opencv_imgproc452.dll +0 -0
  156. mindspore/ops/_grad_experimental/grad_comm_ops.py +51 -13
  157. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -0
  158. mindspore/ops/_vmap/vmap_array_ops.py +31 -13
  159. mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
  160. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +42 -11
  161. mindspore/ops/auto_generate/gen_extend_func.py +23 -141
  162. mindspore/ops/auto_generate/gen_ops_def.py +727 -321
  163. mindspore/ops/auto_generate/gen_ops_prim.py +1721 -984
  164. mindspore/ops/auto_generate/pyboost_inner_prim.py +31 -1
  165. mindspore/ops/composite/__init__.py +10 -0
  166. mindspore/ops/composite/base.py +8 -4
  167. mindspore/ops/composite/multitype_ops/__init__.py +12 -1
  168. mindspore/ops/composite/multitype_ops/_compile_utils.py +133 -109
  169. mindspore/ops/composite/multitype_ops/add_impl.py +70 -2
  170. mindspore/ops/composite/multitype_ops/div_impl.py +49 -0
  171. mindspore/ops/composite/multitype_ops/floordiv_impl.py +29 -0
  172. mindspore/ops/composite/multitype_ops/getitem_impl.py +11 -0
  173. mindspore/ops/composite/multitype_ops/mod_impl.py +5 -3
  174. mindspore/ops/composite/multitype_ops/mul_impl.py +49 -0
  175. mindspore/ops/composite/multitype_ops/setitem_impl.py +57 -0
  176. mindspore/ops/composite/multitype_ops/sub_impl.py +34 -0
  177. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +14 -0
  178. mindspore/ops/function/__init__.py +3 -1
  179. mindspore/ops/function/_add_attr_func.py +11 -6
  180. mindspore/ops/function/array_func.py +9 -96
  181. mindspore/ops/function/debug_func.py +4 -3
  182. mindspore/ops/function/grad/grad_func.py +1 -1
  183. mindspore/ops/function/math_func.py +33 -540
  184. mindspore/ops/function/nn_func.py +28 -74
  185. mindspore/ops/function/other_func.py +4 -1
  186. mindspore/ops/function/random_func.py +44 -5
  187. mindspore/ops/function/vmap_func.py +2 -1
  188. mindspore/ops/functional.py +2 -3
  189. mindspore/ops/functional_overload.py +571 -6
  190. mindspore/ops/op_info_register.py +21 -0
  191. mindspore/ops/operations/__init__.py +16 -11
  192. mindspore/ops/operations/_custom_ops_utils.py +689 -34
  193. mindspore/ops/operations/_inner_ops.py +3 -6
  194. mindspore/ops/operations/_sequence_ops.py +1 -1
  195. mindspore/ops/operations/array_ops.py +2 -2
  196. mindspore/ops/operations/comm_ops.py +185 -26
  197. mindspore/ops/operations/custom_ops.py +294 -174
  198. mindspore/ops/operations/debug_ops.py +59 -4
  199. mindspore/ops/operations/image_ops.py +13 -13
  200. mindspore/ops/operations/manually_defined/ops_def.py +15 -16
  201. mindspore/ops/operations/math_ops.py +3 -4
  202. mindspore/ops/operations/nn_ops.py +7 -39
  203. mindspore/ops/primitive.py +6 -10
  204. mindspore/ops/tensor_method.py +47 -8
  205. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +1 -1
  206. mindspore/ops_generate/api/functional_map_cpp_generator.py +10 -9
  207. mindspore/ops_generate/api/functions_cc_generator.py +58 -10
  208. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +1 -1
  209. mindspore/ops_generate/common/base_generator.py +14 -0
  210. mindspore/ops_generate/common/gen_constants.py +8 -3
  211. mindspore/ops_generate/common/gen_utils.py +0 -19
  212. mindspore/ops_generate/common/op_proto.py +11 -4
  213. mindspore/ops_generate/common/template.py +88 -11
  214. mindspore/ops_generate/gen_ops.py +1 -1
  215. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +4 -4
  216. mindspore/ops_generate/op_def/ops_def_cc_generator.py +0 -3
  217. mindspore/ops_generate/op_def/ops_name_h_generator.py +0 -3
  218. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +0 -4
  219. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -2
  220. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +49 -8
  221. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +2 -2
  222. mindspore/ops_generate/pyboost/gen_pyboost_func.py +31 -0
  223. mindspore/ops_generate/pyboost/op_template_parser.py +98 -72
  224. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +70 -273
  225. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +14 -6
  226. mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +316 -0
  227. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +1 -1
  228. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +5 -3
  229. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +1 -1
  230. mindspore/ops_generate/pyboost/pyboost_internal_functions_cpp_generator.py +76 -0
  231. mindspore/ops_generate/pyboost/pyboost_internal_functions_h_generator.py +76 -0
  232. mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +125 -0
  233. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +4 -3
  234. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +348 -61
  235. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +1 -1
  236. mindspore/ops_generate/pyboost/pyboost_utils.py +118 -9
  237. mindspore/ops_generate/tensor_py_cc_generator.py +1 -24
  238. mindspore/parallel/_auto_parallel_context.py +11 -8
  239. mindspore/parallel/_cell_wrapper.py +113 -45
  240. mindspore/parallel/_parallel_serialization.py +1 -1
  241. mindspore/parallel/_ps_context.py +4 -6
  242. mindspore/parallel/_tensor.py +167 -12
  243. mindspore/parallel/_transformer/moe.py +1 -1
  244. mindspore/parallel/_transformer/transformer.py +13 -8
  245. mindspore/parallel/auto_parallel.py +14 -7
  246. mindspore/parallel/checkpoint_convert.py +3 -3
  247. mindspore/parallel/checkpoint_transform.py +11 -7
  248. mindspore/parallel/cluster/process_entity/_api.py +84 -48
  249. mindspore/parallel/cluster/process_entity/_utils.py +95 -7
  250. mindspore/parallel/cluster/run.py +43 -4
  251. mindspore/parallel/function/__init__.py +8 -1
  252. mindspore/parallel/function/reshard_func.py +6 -7
  253. mindspore/parallel/nn/__init__.py +15 -2
  254. mindspore/parallel/nn/parallel_cell_wrapper.py +9 -10
  255. mindspore/parallel/nn/parallel_grad_reducer.py +7 -6
  256. mindspore/parallel/shard.py +3 -4
  257. mindspore/parallel/transform_safetensors.py +463 -174
  258. mindspore/profiler/__init__.py +2 -1
  259. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -7
  260. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +3 -0
  261. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +12 -6
  262. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +3 -3
  263. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  264. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +4 -4
  265. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +3 -3
  266. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +4 -1
  267. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +2 -1
  268. mindspore/profiler/analysis/task_manager.py +1 -1
  269. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +5 -1
  270. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +2 -1
  271. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +42 -22
  272. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +3 -2
  273. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +9 -5
  274. mindspore/profiler/analysis/viewer/ms_operator_details_viewer.py +132 -0
  275. mindspore/profiler/common/constant.py +16 -0
  276. mindspore/profiler/common/profiler_context.py +25 -27
  277. mindspore/profiler/common/profiler_info.py +0 -16
  278. mindspore/profiler/common/profiler_op_analyse.py +235 -0
  279. mindspore/profiler/common/profiler_output_path.py +23 -8
  280. mindspore/profiler/common/profiler_parameters.py +128 -35
  281. mindspore/profiler/dynamic_profile/__init__.py +0 -0
  282. mindspore/profiler/dynamic_profile/dynamic_monitor_proxy.py +39 -0
  283. mindspore/profiler/dynamic_profile/dynamic_profiler_config_context.py +666 -0
  284. mindspore/profiler/dynamic_profile/dynamic_profiler_utils.py +62 -0
  285. mindspore/profiler/dynamic_profiler.py +305 -314
  286. mindspore/profiler/envprofiler.py +12 -7
  287. mindspore/profiler/experimental_config.py +96 -6
  288. mindspore/profiler/mstx.py +33 -12
  289. mindspore/profiler/platform/__init__.py +2 -3
  290. mindspore/profiler/platform/npu_profiler.py +29 -19
  291. mindspore/profiler/profiler.py +35 -19
  292. mindspore/profiler/profiler_action_controller.py +64 -76
  293. mindspore/profiler/schedule.py +10 -4
  294. mindspore/rewrite/common/config.py +1 -0
  295. mindspore/rewrite/common/namer.py +1 -0
  296. mindspore/rewrite/common/namespace.py +1 -0
  297. mindspore/rewrite/node/node.py +31 -11
  298. mindspore/rewrite/parsers/assign_parser.py +1 -1
  299. mindspore/rewrite/symbol_tree/symbol_tree.py +1 -1
  300. mindspore/run_check/_check_version.py +7 -10
  301. mindspore/runtime/__init__.py +5 -5
  302. mindspore/runtime/event.py +10 -4
  303. mindspore/runtime/executor.py +60 -45
  304. mindspore/runtime/memory.py +30 -32
  305. mindspore/runtime/thread_bind_core.py +298 -164
  306. mindspore/safeguard/rewrite_obfuscation.py +12 -13
  307. mindspore/swresample-4.dll +0 -0
  308. mindspore/swscale-6.dll +0 -0
  309. mindspore/tinyxml2.dll +0 -0
  310. mindspore/train/_utils.py +14 -4
  311. mindspore/train/amp.py +43 -20
  312. mindspore/train/callback/__init__.py +5 -5
  313. mindspore/train/callback/_checkpoint.py +3 -6
  314. mindspore/train/callback/_flops_collector.py +1 -1
  315. mindspore/train/callback/_landscape.py +0 -1
  316. mindspore/train/callback/_train_fault_tolerance.py +97 -16
  317. mindspore/train/data_sink.py +11 -2
  318. mindspore/train/dataset_helper.py +9 -0
  319. mindspore/train/model.py +135 -55
  320. mindspore/train/serialization.py +133 -111
  321. mindspore/train/summary/summary_record.py +13 -2
  322. mindspore/turbojpeg.dll +0 -0
  323. mindspore/utils/__init__.py +3 -2
  324. mindspore/utils/dryrun.py +0 -6
  325. mindspore/utils/runtime_execution_order_check.py +163 -77
  326. mindspore/utils/sdc_detect.py +68 -0
  327. mindspore/utils/utils.py +6 -9
  328. mindspore/version.py +1 -1
  329. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/METADATA +5 -4
  330. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/RECORD +333 -371
  331. mindspore/_deprecated/jit.py +0 -198
  332. mindspore/experimental/es/__init__.py +0 -22
  333. mindspore/experimental/es/embedding_service.py +0 -891
  334. mindspore/experimental/es/embedding_service_layer.py +0 -581
  335. mindspore/profiler/parser/__init__.py +0 -14
  336. mindspore/profiler/parser/aicpu_data_parser.py +0 -272
  337. mindspore/profiler/parser/ascend_analysis/__init__.py +0 -14
  338. mindspore/profiler/parser/ascend_analysis/constant.py +0 -71
  339. mindspore/profiler/parser/ascend_analysis/file_manager.py +0 -180
  340. mindspore/profiler/parser/ascend_analysis/function_event.py +0 -185
  341. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +0 -136
  342. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +0 -131
  343. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +0 -104
  344. mindspore/profiler/parser/ascend_analysis/path_manager.py +0 -313
  345. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +0 -123
  346. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +0 -86
  347. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +0 -75
  348. mindspore/profiler/parser/ascend_cluster_generator.py +0 -116
  349. mindspore/profiler/parser/ascend_communicate_generator.py +0 -314
  350. mindspore/profiler/parser/ascend_flops_generator.py +0 -116
  351. mindspore/profiler/parser/ascend_fpbp_generator.py +0 -82
  352. mindspore/profiler/parser/ascend_hccl_generator.py +0 -271
  353. mindspore/profiler/parser/ascend_integrate_generator.py +0 -42
  354. mindspore/profiler/parser/ascend_memory_generator.py +0 -185
  355. mindspore/profiler/parser/ascend_msprof_exporter.py +0 -282
  356. mindspore/profiler/parser/ascend_msprof_generator.py +0 -187
  357. mindspore/profiler/parser/ascend_op_generator.py +0 -334
  358. mindspore/profiler/parser/ascend_steptrace_generator.py +0 -94
  359. mindspore/profiler/parser/ascend_timeline_generator.py +0 -545
  360. mindspore/profiler/parser/base_timeline_generator.py +0 -483
  361. mindspore/profiler/parser/container.py +0 -229
  362. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +0 -697
  363. mindspore/profiler/parser/flops_parser.py +0 -531
  364. mindspore/profiler/parser/framework_enum.py +0 -111
  365. mindspore/profiler/parser/framework_parser.py +0 -464
  366. mindspore/profiler/parser/framework_struct.py +0 -61
  367. mindspore/profiler/parser/gpu_analysis/__init__.py +0 -14
  368. mindspore/profiler/parser/gpu_analysis/function_event.py +0 -44
  369. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +0 -89
  370. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +0 -72
  371. mindspore/profiler/parser/hccl_parser.py +0 -573
  372. mindspore/profiler/parser/hwts_log_parser.py +0 -122
  373. mindspore/profiler/parser/integrator.py +0 -526
  374. mindspore/profiler/parser/memory_usage_parser.py +0 -277
  375. mindspore/profiler/parser/minddata_analyzer.py +0 -800
  376. mindspore/profiler/parser/minddata_parser.py +0 -186
  377. mindspore/profiler/parser/minddata_pipeline_parser.py +0 -299
  378. mindspore/profiler/parser/op_intermediate_parser.py +0 -149
  379. mindspore/profiler/parser/optime_parser.py +0 -250
  380. mindspore/profiler/parser/profiler_info.py +0 -213
  381. mindspore/profiler/parser/step_trace_parser.py +0 -666
  382. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/WHEEL +0 -0
  383. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/entry_points.txt +0 -0
  384. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/top_level.txt +0 -0
@@ -1,334 +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
- """op analyse model"""
16
- import csv
17
- import json
18
- import logging
19
- import os
20
- import stat
21
- from typing import Optional, List
22
-
23
- import numpy as np
24
- from mindspore import log as logger
25
- from mindspore.profiler.common.exceptions.exceptions import ProfilerIOException
26
-
27
-
28
- class AscendOPGenerator:
29
- """Generate ascend op data from DataFrame."""
30
-
31
- def __init__(
32
- self, op_summary: np.ndarray, op_statistic: np.ndarray,
33
- dynamic_status: bool = False, launch_ops: Optional[List] = None
34
- ):
35
- self.op_summary = op_summary
36
- self.op_statistic = op_statistic
37
- self.dynamic_status = dynamic_status
38
- self.op_detail = None
39
- self.op_type = None
40
- self.aicpu_detail = None
41
- self.framework_raw = None
42
- self.output_timeline_data = None
43
- self.launch_ops = launch_ops if launch_ops else []
44
- self.aclnn_status = bool(launch_ops)
45
- self._full_kernel_name = None
46
- self._sub_graph = None
47
- self._op_name = None
48
- self._kernel_name = None
49
-
50
- self.op_detail_dt = np.dtype(
51
- [('full_kernel_name', object), ('task_duration', float),
52
- ('execution_frequency', int), ('task_type', object)])
53
-
54
- self.op_type_dt = np.dtype(
55
- [('kernel_type', object), ('total_time', float), ('execution_frequency', int), ('percent', float)])
56
-
57
- self.aicpu_detail_dt = np.dtype(
58
- [('serial_number', int), ('kernel_type', object), ('total_time', float), ('dispatch_time', float),
59
- ('execution_time', float), ('run_start', float), ('run_end', float)])
60
-
61
- self.framwork_raw_dt = np.dtype(
62
- [('task_id', int), ('stream_id', int), ('block_dim', int), ('full_kernel_name', object),
63
- ('op_name', object), ('kernel_name', object), ('kernel_type', object), ('subgraph', object),
64
- ('op_info', object), ('model_id', int), ('task_type', object)])
65
-
66
- def parse(self):
67
- """
68
- Analyse op summary op statistic generate op data.
69
- """
70
- if isinstance(self.op_summary, np.ndarray) and self.op_summary.shape[0] == 0 or \
71
- not isinstance(self.op_summary, np.ndarray) and not self.op_summary:
72
- return
73
- self._combine_op_and_kernel(self.op_summary, self.launch_ops)
74
- # aicore intermediation detail
75
- self.op_detail = self._parse_op_detail(self.op_summary)
76
-
77
- # aicore intermediation type
78
- self.op_type = self._parse_op_type(self.op_statistic)
79
-
80
- # aicpu_intermediation
81
- self.aicpu_detail = self._parse_aicpu_detail(self.op_summary)
82
-
83
- # framwork_raw
84
- self.framework_raw = self._parse_framework_raw(self.op_summary)
85
-
86
- self.output_timeline_data = self.op_summary[self.op_summary['Task Type'] == 'AI_CORE'][
87
- ['Op Name', 'Stream ID', 'Task Start Time', 'Task Duration']]
88
-
89
- def write(self, aicore_intermediate_detail_path, aicore_intermediate_type_path, aicpu_intermediate_detail_path,
90
- framework_raw_path, output_timeline_data_path):
91
- """
92
- Write the op_intermediate_detail.csv op_intermediate_type.csv aicpu_intermediate.csv and framework_raw.csv.
93
-
94
- Args:
95
- aicore_intermediate_detail_path(str): op_intermediate_detail.csv path.
96
- aicore_intermediate_type_path(str): op_intermediate_type.csv path.
97
- aicpu_intermediate_detail_path(str): aicpu_intermediate.csv path.
98
- framework_raw_path: framework_raw.csv path
99
- output_timeline_data_path : output_timeline_data.txt path
100
- """
101
- # aicore intermediation detail
102
- if isinstance(self.op_detail, np.ndarray) and self.op_detail.shape[0] != 0:
103
- try:
104
- with os.fdopen(os.open(aicore_intermediate_detail_path,
105
- os.O_WRONLY | os.O_CREAT | os.O_TRUNC, stat.S_IWUSR | stat.S_IRUSR),
106
- 'w') as aicore_detail:
107
- writer = csv.writer(aicore_detail)
108
- writer.writerow(self.op_detail.dtype.names)
109
- writer.writerows(self.op_detail.tolist())
110
- except (IOError, OSError) as err:
111
- logging.critical('Errot occurred when write aicore detail file: %s', err)
112
- raise ProfilerIOException() from err
113
- if os.path.exists(aicore_intermediate_detail_path):
114
- os.chmod(aicore_intermediate_detail_path, stat.S_IREAD | stat.S_IWRITE)
115
-
116
- # aicore intermediation type
117
- if isinstance(self.op_type, np.ndarray) and self.op_type.shape[0] != 0:
118
- try:
119
- with os.fdopen(os.open(aicore_intermediate_type_path,
120
- os.O_WRONLY | os.O_CREAT | os.O_TRUNC, stat.S_IWUSR | stat.S_IRUSR),
121
- 'w') as aicore_type:
122
- writer = csv.writer(aicore_type)
123
- writer.writerow(self.op_type.dtype.names)
124
- writer.writerows(self.op_type.tolist())
125
- except (IOError, OSError) as err:
126
- logging.critical('Errot occurred when write aicore type file: %s', err)
127
- raise ProfilerIOException() from err
128
- if os.path.exists(aicore_intermediate_type_path):
129
- os.chmod(aicore_intermediate_type_path, stat.S_IREAD | stat.S_IWRITE)
130
-
131
- # aicpu_intermediation
132
- if isinstance(self.aicpu_detail, np.ndarray) and self.aicpu_detail.shape[0] != 0:
133
- try:
134
- with os.fdopen(os.open(aicpu_intermediate_detail_path,
135
- os.O_WRONLY | os.O_CREAT | os.O_TRUNC, stat.S_IWUSR | stat.S_IRUSR),
136
- 'w') as aicpu_type:
137
- writer = csv.writer(aicpu_type)
138
- writer.writerow(self.aicpu_detail.dtype.names)
139
- writer.writerows(self.aicpu_detail.tolist())
140
- except (IOError, OSError) as err:
141
- logging.critical('Errot occurred when write aicpu detail file: %s', err)
142
- raise ProfilerIOException() from err
143
- if os.path.exists(aicpu_intermediate_detail_path):
144
- os.chmod(aicpu_intermediate_detail_path, stat.S_IREAD | stat.S_IWRITE)
145
-
146
- # framwork_raw
147
- if isinstance(self.framework_raw, np.ndarray) and self.framework_raw.shape[0] != 0:
148
- try:
149
- with os.fdopen(os.open(framework_raw_path,
150
- os.O_WRONLY | os.O_CREAT | os.O_TRUNC, stat.S_IWUSR | stat.S_IRUSR),
151
- 'w') as framework:
152
- writer = csv.writer(framework)
153
- writer.writerow(self.framework_raw.dtype.names)
154
- writer.writerows(self.framework_raw.tolist())
155
- except (IOError, OSError) as err:
156
- logging.critical('Errot occurred when write framework file: %s', err)
157
- raise ProfilerIOException() from err
158
- if os.path.exists(framework_raw_path):
159
- os.chmod(framework_raw_path, stat.S_IREAD | stat.S_IWRITE)
160
-
161
- # output_timeline_data
162
- if isinstance(self.output_timeline_data, np.ndarray) and self.output_timeline_data.size and \
163
- self.output_timeline_data.shape[0] != 0 and output_timeline_data_path:
164
- try:
165
- with os.fdopen(os.open(output_timeline_data_path,
166
- os.O_WRONLY | os.O_CREAT | os.O_TRUNC, stat.S_IWUSR | stat.S_IRUSR),
167
- 'w') as output_timeline_data:
168
- writer = csv.writer(output_timeline_data)
169
- writer.writerow(['kernel_name', 'stream_id', 'start_time(us)', 'duration(ms)'])
170
- writer.writerows(self.output_timeline_data.tolist())
171
- except (IOError, OSError) as err:
172
- logging.critical('Error occurred when write output timeline data file: %s', err)
173
- raise ProfilerIOException() from err
174
- if os.path.exists(aicpu_intermediate_detail_path):
175
- os.chmod(aicpu_intermediate_detail_path, stat.S_IREAD | stat.S_IWRITE)
176
-
177
- def _combine_op_and_kernel(self, op_summary, launch_ops):
178
- """update op name, kernel name etc."""
179
- if isinstance(op_summary, np.ndarray) and op_summary.shape[0] == 0 or not isinstance(op_summary, np.ndarray) \
180
- and not op_summary:
181
- return
182
- self._full_kernel_name = op_summary['Op Name'].copy()
183
- self._op_name = op_summary['Op Name'].copy()
184
- self._kernel_name = np.array(
185
- [x[-1] for x in np.char.split(op_summary['Op Name'].astype(str), sep='/')], dtype=object)
186
- self._sub_graph = np.array(
187
- [x[0] for x in np.char.split(op_summary['Op Name'].astype(str), sep='/')], dtype=object)
188
-
189
- if launch_ops and len(launch_ops) != len(op_summary):
190
- logger.error("Size mismatch between op_summary and launch_ops!")
191
- launch_ops = []
192
-
193
- for index, launch_op in enumerate(launch_ops):
194
- if not launch_op:
195
- continue
196
- self._op_name[index] = launch_op
197
- self._kernel_name[index] = self._full_kernel_name[index]
198
- self._full_kernel_name[index] = f"{launch_op}/{self._full_kernel_name[index]}"
199
- self._sub_graph[index] = launch_op.split("/")[0]
200
-
201
- def _parse_op_detail(self, op_summary):
202
- """
203
- Analyse op summary generate op detail data.
204
-
205
- Args:
206
- op_summary(DataFrame): op summary data.
207
- """
208
- if isinstance(op_summary, np.ndarray) and op_summary.shape[0] == 0 or \
209
- not isinstance(op_summary, np.ndarray) and not op_summary:
210
- return None
211
- if self.aclnn_status:
212
- op_detail = np.empty((len(op_summary),), dtype=self.op_detail_dt)
213
- op_detail['task_type'] = op_summary['Task Type']
214
- op_detail['execution_frequency'] = np.ones((len(op_summary),), dtype=int)
215
- op_detail['task_duration'] = op_summary['Task Duration']
216
- op_detail['full_kernel_name'] = self._full_kernel_name
217
- else:
218
- groups, index, inverse, counts = np.unique(op_summary['Op Name'], return_index=True,
219
- return_inverse=True, return_counts=True)
220
-
221
- op_detail = np.empty((len(groups),), dtype=self.op_detail_dt)
222
- op_detail['full_kernel_name'] = groups
223
- op_detail['task_type'] = op_summary[index]['Task Type']
224
- nonzero_duration = np.bincount(inverse) != 0
225
- op_detail['task_duration'] = np.where(nonzero_duration, np.bincount(
226
- inverse, weights=op_summary['Task Duration']) / np.bincount(inverse), 0)
227
- op_detail['execution_frequency'] = counts
228
-
229
- return op_detail
230
-
231
- def _parse_op_type(self, op_statistic):
232
- """
233
- Analyse op statistic generate op type data.
234
-
235
- Args:
236
- op_statistic(DataFrame): op statistic data.
237
- """
238
- if isinstance(op_statistic, np.ndarray) and op_statistic.shape[0] == 0 or \
239
- not isinstance(op_statistic, np.ndarray) and not op_statistic:
240
- return None
241
- groups, _, inverse, _ = np.unique(op_statistic['Op Type'], return_index=True, return_inverse=True,
242
- return_counts=True)
243
-
244
- op_type = np.empty((len(groups),), dtype=self.op_type_dt)
245
- op_type['kernel_type'] = groups
246
- op_type['total_time'] = np.bincount(inverse, weights=op_statistic['Total Time'])
247
- op_type['execution_frequency'] = np.bincount(inverse, weights=op_statistic['Count'])
248
- op_type['percent'] = op_type['total_time'] / np.sum(op_statistic['Total Time']) if np.sum(
249
- op_statistic['Total Time']) != 0 else 0
250
-
251
- return op_type
252
-
253
- def _parse_aicpu_detail(self, op_summary):
254
- """
255
- Analyse op summary generate aicpu detail data.
256
-
257
- Args:
258
- op_summary(DataFrame): op summary data.
259
- """
260
- if isinstance(op_summary, np.ndarray) and op_summary.shape[0] == 0 or \
261
- not isinstance(op_summary, np.ndarray) and not op_summary:
262
- return None
263
- op_summary = op_summary[op_summary['Task Type'] == 'AI_CPU']
264
-
265
- aicpu_detail = np.empty((len(op_summary),), dtype=self.aicpu_detail_dt)
266
-
267
- aicpu_detail['serial_number'] = [i for i in range(1, op_summary.shape[0] + 1)]
268
- aicpu_detail['kernel_type'] = op_summary['Op Type']
269
- aicpu_detail['total_time'] = op_summary['Task Duration'] + op_summary['Task Wait Time']
270
- aicpu_detail['dispatch_time'] = op_summary['Task Wait Time']
271
- aicpu_detail['execution_time'] = op_summary['Task Duration']
272
- aicpu_detail['run_start'] = op_summary['Task Start Time']
273
- aicpu_detail['run_end'] = aicpu_detail['run_start'] + aicpu_detail['total_time']
274
-
275
- return aicpu_detail
276
-
277
- def _parse_framework_raw(self, op_summary):
278
- """
279
- Analyse op summary generate op framework data.
280
-
281
- Args:
282
- op_summary(DataFrame): op summary data.
283
- """
284
-
285
- def op_info_analyse(row):
286
- """generate op info data"""
287
- if not row['Input Shapes']:
288
- return ""
289
- input_shapes = row['Input Shapes'].replace('"', '').split(';')
290
- input_data_types = row['Input Data Types'].replace('_', '').split(';')
291
- input_formats = row['Input Formats'].replace('_', '').split(';')
292
- output_shapes = row['Output Shapes'].replace('"', '').split(';')
293
- output_data_types = row['Output Data Types'].replace('_', '').split(';')
294
- output_formats = row['Output Formats'].replace('_', '').split(';')
295
- op_info = {}
296
- if isinstance(input_shapes, list) and len(input_shapes) >= 1 and input_shapes[0] != '':
297
- input_size = len(input_shapes)
298
- for i in range(input_size):
299
- op_info[f'Input_{i}'] = {
300
- 'format': input_formats[i],
301
- 'data_type': input_data_types[i],
302
- 'shape': input_shapes[i]
303
- }
304
- if isinstance(output_shapes, list) and len(output_shapes) >= 1 and output_shapes[0] != '':
305
- output_size = len(output_shapes)
306
- for i in range(output_size):
307
- op_info[f'Output_{i}'] = {
308
- 'format': output_formats[i],
309
- 'data_type': output_data_types[i],
310
- 'shape': output_shapes[i]
311
- }
312
- return json.dumps(op_info)
313
- if isinstance(op_summary, np.ndarray) and op_summary.shape[0] == 0 or \
314
- not isinstance(op_summary, np.ndarray) and not op_summary:
315
- return None
316
- if self.dynamic_status or self.aclnn_status:
317
- index = list(range(op_summary.shape[0]))
318
- else:
319
- _, index, _, _ = np.unique(op_summary['Op Name'], return_index=True, return_inverse=True,
320
- return_counts=True)
321
- framwork_raw = np.empty((len(index),), dtype=self.framwork_raw_dt)
322
-
323
- framwork_raw['task_id'] = op_summary[index]['Task ID']
324
- framwork_raw['stream_id'] = op_summary[index]['Stream ID']
325
- framwork_raw['full_kernel_name'] = self._full_kernel_name[index]
326
- framwork_raw['op_name'] = self._op_name[index]
327
- framwork_raw['kernel_name'] = self._kernel_name[index]
328
- framwork_raw['kernel_type'] = op_summary[index]['Op Type']
329
- framwork_raw['subgraph'] = self._sub_graph[index]
330
- framwork_raw['op_info'] = [op_info_analyse(x) for x in op_summary[index]]
331
- framwork_raw['model_id'] = op_summary[index]['Model ID']
332
- framwork_raw['task_type'] = op_summary[index]['Task Type']
333
-
334
- return framwork_raw
@@ -1,94 +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
- """"step analyse model"""
16
- import csv
17
- import logging
18
- import os
19
- import stat
20
-
21
- import numpy as np
22
- from mindspore.profiler.common.exceptions.exceptions import ProfilerIOException
23
-
24
-
25
- class AscendStepTraceGenerator:
26
- """Generate ascend steptrace data from DataFrame."""
27
-
28
- def __init__(self, steptrace):
29
- self.steptrace = steptrace
30
- self.steptrace_detail = None
31
-
32
- self.steptrace_detail_dt = [
33
- ('step_num', object), ('start_point', np.int64), ('end_point', np.int64),
34
- ('total', np.int64), ('fp_point', np.int64), ('bp_point', np.int64),
35
- ('iteration_interval', np.int64), ('fp_and_bp', np.int64), ('tail', np.int64)
36
- ]
37
-
38
- def parse(self):
39
- """Analyse the original steptrace data generate steptrace data."""
40
- if not isinstance(self.steptrace, np.ndarray) or self.steptrace.shape[0] == 0 or not self.steptrace.tolist():
41
- return
42
- for name in self.steptrace.dtype.names[9::2]:
43
- self.steptrace_detail_dt.append((name, np.int64))
44
- self.steptrace_detail_dt.append((f'{name}_start_point', np.int64))
45
- self.steptrace_detail_dt.append((f'{name}_end_point', np.int64))
46
- self.steptrace_detail_dt = np.dtype(self.steptrace_detail_dt)
47
- self.steptrace_detail = np.empty((len(self.steptrace),), dtype=self.steptrace_detail_dt)
48
-
49
- unit = 1e+5
50
- self.steptrace_detail['step_num'] = self.steptrace['Iteration ID']
51
- self.steptrace_detail['start_point'] = (self.steptrace['FP Start'] - self.steptrace['Data Aug Bound']) * unit
52
- self.steptrace_detail['end_point'] = self.steptrace['Iteration End'] * unit
53
- self.steptrace_detail['total'] = (self.steptrace['Iteration Time'] + self.steptrace['Data Aug Bound']) * unit
54
- self.steptrace_detail['fp_point'] = self.steptrace['FP Start'] * unit
55
- self.steptrace_detail['bp_point'] = self.steptrace['BP End'] * unit
56
- self.steptrace_detail['iteration_interval'] = self.steptrace['Data Aug Bound'] * unit
57
- self.steptrace_detail['fp_and_bp'] = self.steptrace['FP to BP Time'] * unit
58
- self.steptrace_detail['tail'] = self.steptrace['Iteration Refresh'] * unit
59
-
60
- for name in self.steptrace.dtype.names[9::2]:
61
- self.steptrace_detail[name] = self.steptrace[f'{name} duration'] * unit
62
- self.steptrace_detail[f'{name}_start_point'] = self.steptrace[name] * unit
63
- self.steptrace_detail[f'{name}_end_point'] = (self.steptrace[name] + self.steptrace[
64
- f'{name} duration']) * unit
65
-
66
- if self.steptrace_detail.shape[0] > 1:
67
- avg_values = np.mean(self.steptrace_detail.tolist(), axis=0)
68
- avg_row = np.array([tuple(avg_values)], dtype=self.steptrace_detail_dt)
69
- else:
70
- avg_row = self.steptrace_detail[0]
71
- avg_row['step_num'] = '-'
72
- self.steptrace_detail = np.append(self.steptrace_detail, avg_row)
73
-
74
- def write(self, step_trace_intermediate_file_path):
75
- """
76
- Write the step_trace_raw.cs
77
-
78
- Args:
79
- step_trace_intermediate_file_path(str): step_trace_raw.csv path.
80
-
81
- """
82
- if not isinstance(self.steptrace_detail, np.ndarray):
83
- return
84
- try:
85
- with os.fdopen(os.open(step_trace_intermediate_file_path,
86
- os.O_WRONLY | os.O_CREAT | os.O_TRUNC, stat.S_IWUSR | stat.S_IRUSR), 'w') as st:
87
- writer = csv.writer(st)
88
- writer.writerow(self.steptrace_detail.dtype.names)
89
- writer.writerows(self.steptrace_detail.tolist())
90
- except (IOError, OSError) as err:
91
- logging.critical('Errot occurred when write step trace file: %s', err)
92
- raise ProfilerIOException() from err
93
- if os.path.exists(step_trace_intermediate_file_path):
94
- os.chmod(step_trace_intermediate_file_path, stat.S_IREAD | stat.S_IWRITE)