mindspore 2.6.0__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 (380) 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 +36 -61
  13. mindspore/_extends/parse/resources.py +39 -0
  14. mindspore/_extends/parse/standard_method.py +32 -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 +76 -15
  31. mindspore/common/api.py +193 -112
  32. mindspore/common/dtype.py +21 -11
  33. mindspore/common/dump.py +10 -15
  34. mindspore/common/generator.py +2 -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 +48 -83
  43. mindspore/communication/_comm_helper.py +46 -4
  44. mindspore/communication/management.py +79 -7
  45. mindspore/context.py +38 -23
  46. mindspore/dataset/core/config.py +3 -3
  47. mindspore/dataset/engine/datasets.py +20 -7
  48. mindspore/dataset/engine/datasets_user_defined.py +32 -2
  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 -5
  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 +1 -0
  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 +4 -44
  109. mindspore/mint/distributed/__init__.py +1 -0
  110. mindspore/mint/distributed/distributed.py +208 -5
  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 +122 -98
  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 +325 -499
  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 +86 -85
  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 +1 -1
  140. mindspore/nn/optim/adasum.py +2 -2
  141. mindspore/nn/optim/optimizer.py +1 -1
  142. mindspore/nn/optim/thor.py +2 -2
  143. mindspore/nn/probability/distribution/exponential.py +2 -1
  144. mindspore/nn/probability/distribution/poisson.py +2 -1
  145. mindspore/nn/sparse/sparse.py +3 -3
  146. mindspore/nn/wrap/cell_wrapper.py +34 -37
  147. mindspore/nn/wrap/grad_reducer.py +37 -37
  148. mindspore/nn/wrap/loss_scale.py +72 -74
  149. mindspore/numpy/array_creations.py +5 -5
  150. mindspore/numpy/fft.py +1 -1
  151. mindspore/numpy/math_ops.py +1 -1
  152. mindspore/opencv_core452.dll +0 -0
  153. mindspore/opencv_imgcodecs452.dll +0 -0
  154. mindspore/opencv_imgproc452.dll +0 -0
  155. mindspore/ops/_grad_experimental/grad_comm_ops.py +51 -13
  156. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -0
  157. mindspore/ops/_vmap/vmap_array_ops.py +6 -13
  158. mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
  159. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +17 -8
  160. mindspore/ops/auto_generate/gen_extend_func.py +1 -51
  161. mindspore/ops/auto_generate/gen_ops_def.py +463 -257
  162. mindspore/ops/auto_generate/gen_ops_prim.py +1127 -885
  163. mindspore/ops/auto_generate/pyboost_inner_prim.py +31 -1
  164. mindspore/ops/composite/__init__.py +10 -0
  165. mindspore/ops/composite/base.py +8 -4
  166. mindspore/ops/composite/multitype_ops/__init__.py +12 -1
  167. mindspore/ops/composite/multitype_ops/_compile_utils.py +132 -108
  168. mindspore/ops/composite/multitype_ops/add_impl.py +70 -2
  169. mindspore/ops/composite/multitype_ops/div_impl.py +49 -0
  170. mindspore/ops/composite/multitype_ops/floordiv_impl.py +29 -0
  171. mindspore/ops/composite/multitype_ops/getitem_impl.py +11 -0
  172. mindspore/ops/composite/multitype_ops/mod_impl.py +5 -3
  173. mindspore/ops/composite/multitype_ops/mul_impl.py +49 -0
  174. mindspore/ops/composite/multitype_ops/setitem_impl.py +57 -0
  175. mindspore/ops/composite/multitype_ops/sub_impl.py +34 -0
  176. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +14 -0
  177. mindspore/ops/function/__init__.py +3 -1
  178. mindspore/ops/function/_add_attr_func.py +11 -6
  179. mindspore/ops/function/array_func.py +7 -94
  180. mindspore/ops/function/debug_func.py +4 -3
  181. mindspore/ops/function/grad/grad_func.py +1 -1
  182. mindspore/ops/function/math_func.py +21 -367
  183. mindspore/ops/function/nn_func.py +26 -41
  184. mindspore/ops/function/other_func.py +4 -1
  185. mindspore/ops/function/random_func.py +31 -4
  186. mindspore/ops/functional.py +0 -2
  187. mindspore/ops/functional_overload.py +463 -6
  188. mindspore/ops/op_info_register.py +21 -0
  189. mindspore/ops/operations/__init__.py +5 -2
  190. mindspore/ops/operations/_custom_ops_utils.py +675 -8
  191. mindspore/ops/operations/_inner_ops.py +3 -6
  192. mindspore/ops/operations/_sequence_ops.py +1 -1
  193. mindspore/ops/operations/comm_ops.py +185 -26
  194. mindspore/ops/operations/custom_ops.py +235 -172
  195. mindspore/ops/operations/debug_ops.py +55 -4
  196. mindspore/ops/operations/image_ops.py +13 -13
  197. mindspore/ops/operations/manually_defined/ops_def.py +15 -16
  198. mindspore/ops/operations/math_ops.py +3 -4
  199. mindspore/ops/operations/nn_ops.py +5 -6
  200. mindspore/ops/primitive.py +6 -10
  201. mindspore/ops/tensor_method.py +36 -4
  202. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +1 -1
  203. mindspore/ops_generate/api/functional_map_cpp_generator.py +10 -9
  204. mindspore/ops_generate/api/functions_cc_generator.py +58 -10
  205. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +1 -1
  206. mindspore/ops_generate/common/base_generator.py +14 -0
  207. mindspore/ops_generate/common/gen_constants.py +7 -2
  208. mindspore/ops_generate/common/gen_utils.py +0 -19
  209. mindspore/ops_generate/common/op_proto.py +11 -4
  210. mindspore/ops_generate/common/template.py +88 -11
  211. mindspore/ops_generate/gen_ops.py +1 -1
  212. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +4 -4
  213. mindspore/ops_generate/op_def/ops_name_h_generator.py +0 -3
  214. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +0 -4
  215. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -2
  216. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +49 -8
  217. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +2 -2
  218. mindspore/ops_generate/pyboost/gen_pyboost_func.py +31 -0
  219. mindspore/ops_generate/pyboost/op_template_parser.py +98 -72
  220. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +70 -273
  221. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +14 -6
  222. mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +316 -0
  223. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +1 -1
  224. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +5 -3
  225. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +1 -1
  226. mindspore/ops_generate/pyboost/pyboost_internal_functions_cpp_generator.py +76 -0
  227. mindspore/ops_generate/pyboost/pyboost_internal_functions_h_generator.py +76 -0
  228. mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +125 -0
  229. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +4 -3
  230. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +348 -61
  231. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +1 -1
  232. mindspore/ops_generate/pyboost/pyboost_utils.py +118 -9
  233. mindspore/ops_generate/tensor_py_cc_generator.py +1 -24
  234. mindspore/parallel/_auto_parallel_context.py +4 -2
  235. mindspore/parallel/_cell_wrapper.py +106 -40
  236. mindspore/parallel/_parallel_serialization.py +1 -1
  237. mindspore/parallel/_ps_context.py +4 -6
  238. mindspore/parallel/_tensor.py +167 -12
  239. mindspore/parallel/_transformer/moe.py +1 -1
  240. mindspore/parallel/_transformer/transformer.py +13 -8
  241. mindspore/parallel/auto_parallel.py +12 -5
  242. mindspore/parallel/checkpoint_convert.py +3 -3
  243. mindspore/parallel/checkpoint_transform.py +3 -1
  244. mindspore/parallel/cluster/process_entity/_api.py +84 -48
  245. mindspore/parallel/cluster/process_entity/_utils.py +95 -7
  246. mindspore/parallel/cluster/run.py +43 -4
  247. mindspore/parallel/function/__init__.py +8 -1
  248. mindspore/parallel/function/reshard_func.py +1 -1
  249. mindspore/parallel/nn/__init__.py +15 -2
  250. mindspore/parallel/nn/parallel_cell_wrapper.py +9 -10
  251. mindspore/parallel/nn/parallel_grad_reducer.py +7 -6
  252. mindspore/parallel/shard.py +2 -2
  253. mindspore/parallel/transform_safetensors.py +462 -174
  254. mindspore/profiler/__init__.py +2 -1
  255. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -7
  256. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +3 -0
  257. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +3 -0
  258. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +3 -3
  259. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  260. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +4 -4
  261. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +3 -3
  262. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +4 -1
  263. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +2 -1
  264. mindspore/profiler/analysis/task_manager.py +1 -1
  265. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +5 -1
  266. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +2 -1
  267. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +42 -22
  268. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +3 -2
  269. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +9 -5
  270. mindspore/profiler/analysis/viewer/ms_operator_details_viewer.py +132 -0
  271. mindspore/profiler/common/constant.py +16 -0
  272. mindspore/profiler/common/profiler_context.py +25 -27
  273. mindspore/profiler/common/profiler_info.py +0 -16
  274. mindspore/profiler/common/profiler_op_analyse.py +235 -0
  275. mindspore/profiler/common/profiler_output_path.py +23 -8
  276. mindspore/profiler/common/profiler_parameters.py +128 -35
  277. mindspore/profiler/dynamic_profile/__init__.py +0 -0
  278. mindspore/profiler/dynamic_profile/dynamic_monitor_proxy.py +39 -0
  279. mindspore/profiler/dynamic_profile/dynamic_profiler_config_context.py +666 -0
  280. mindspore/profiler/dynamic_profile/dynamic_profiler_utils.py +62 -0
  281. mindspore/profiler/dynamic_profiler.py +305 -314
  282. mindspore/profiler/envprofiler.py +12 -7
  283. mindspore/profiler/experimental_config.py +96 -6
  284. mindspore/profiler/mstx.py +33 -12
  285. mindspore/profiler/platform/__init__.py +2 -3
  286. mindspore/profiler/platform/npu_profiler.py +29 -19
  287. mindspore/profiler/profiler.py +35 -19
  288. mindspore/profiler/profiler_action_controller.py +64 -76
  289. mindspore/profiler/schedule.py +10 -4
  290. mindspore/rewrite/common/config.py +1 -0
  291. mindspore/rewrite/common/namer.py +1 -0
  292. mindspore/rewrite/common/namespace.py +1 -0
  293. mindspore/rewrite/node/node.py +31 -11
  294. mindspore/rewrite/parsers/assign_parser.py +1 -1
  295. mindspore/rewrite/symbol_tree/symbol_tree.py +1 -1
  296. mindspore/run_check/_check_version.py +7 -10
  297. mindspore/runtime/__init__.py +5 -5
  298. mindspore/runtime/event.py +10 -4
  299. mindspore/runtime/executor.py +60 -45
  300. mindspore/runtime/memory.py +21 -30
  301. mindspore/runtime/thread_bind_core.py +298 -164
  302. mindspore/safeguard/rewrite_obfuscation.py +12 -13
  303. mindspore/swresample-4.dll +0 -0
  304. mindspore/swscale-6.dll +0 -0
  305. mindspore/tinyxml2.dll +0 -0
  306. mindspore/train/_utils.py +6 -2
  307. mindspore/train/amp.py +43 -20
  308. mindspore/train/callback/__init__.py +5 -5
  309. mindspore/train/callback/_checkpoint.py +3 -6
  310. mindspore/train/callback/_flops_collector.py +1 -1
  311. mindspore/train/callback/_landscape.py +0 -1
  312. mindspore/train/callback/_train_fault_tolerance.py +71 -13
  313. mindspore/train/data_sink.py +11 -2
  314. mindspore/train/dataset_helper.py +9 -0
  315. mindspore/train/model.py +51 -33
  316. mindspore/train/serialization.py +133 -111
  317. mindspore/train/summary/summary_record.py +13 -2
  318. mindspore/turbojpeg.dll +0 -0
  319. mindspore/utils/__init__.py +3 -2
  320. mindspore/utils/dryrun.py +0 -6
  321. mindspore/utils/runtime_execution_order_check.py +162 -78
  322. mindspore/utils/sdc_detect.py +68 -0
  323. mindspore/utils/utils.py +6 -9
  324. mindspore/version.py +1 -1
  325. {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/METADATA +5 -4
  326. {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/RECORD +329 -367
  327. mindspore/_deprecated/jit.py +0 -198
  328. mindspore/experimental/es/__init__.py +0 -22
  329. mindspore/experimental/es/embedding_service.py +0 -891
  330. mindspore/experimental/es/embedding_service_layer.py +0 -581
  331. mindspore/profiler/parser/__init__.py +0 -14
  332. mindspore/profiler/parser/aicpu_data_parser.py +0 -272
  333. mindspore/profiler/parser/ascend_analysis/__init__.py +0 -14
  334. mindspore/profiler/parser/ascend_analysis/constant.py +0 -71
  335. mindspore/profiler/parser/ascend_analysis/file_manager.py +0 -180
  336. mindspore/profiler/parser/ascend_analysis/function_event.py +0 -185
  337. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +0 -136
  338. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +0 -131
  339. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +0 -104
  340. mindspore/profiler/parser/ascend_analysis/path_manager.py +0 -313
  341. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +0 -123
  342. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +0 -86
  343. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +0 -75
  344. mindspore/profiler/parser/ascend_cluster_generator.py +0 -116
  345. mindspore/profiler/parser/ascend_communicate_generator.py +0 -314
  346. mindspore/profiler/parser/ascend_flops_generator.py +0 -116
  347. mindspore/profiler/parser/ascend_fpbp_generator.py +0 -82
  348. mindspore/profiler/parser/ascend_hccl_generator.py +0 -271
  349. mindspore/profiler/parser/ascend_integrate_generator.py +0 -42
  350. mindspore/profiler/parser/ascend_memory_generator.py +0 -185
  351. mindspore/profiler/parser/ascend_msprof_exporter.py +0 -282
  352. mindspore/profiler/parser/ascend_msprof_generator.py +0 -187
  353. mindspore/profiler/parser/ascend_op_generator.py +0 -334
  354. mindspore/profiler/parser/ascend_steptrace_generator.py +0 -94
  355. mindspore/profiler/parser/ascend_timeline_generator.py +0 -545
  356. mindspore/profiler/parser/base_timeline_generator.py +0 -483
  357. mindspore/profiler/parser/container.py +0 -229
  358. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +0 -697
  359. mindspore/profiler/parser/flops_parser.py +0 -531
  360. mindspore/profiler/parser/framework_enum.py +0 -111
  361. mindspore/profiler/parser/framework_parser.py +0 -464
  362. mindspore/profiler/parser/framework_struct.py +0 -61
  363. mindspore/profiler/parser/gpu_analysis/__init__.py +0 -14
  364. mindspore/profiler/parser/gpu_analysis/function_event.py +0 -44
  365. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +0 -89
  366. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +0 -72
  367. mindspore/profiler/parser/hccl_parser.py +0 -573
  368. mindspore/profiler/parser/hwts_log_parser.py +0 -122
  369. mindspore/profiler/parser/integrator.py +0 -526
  370. mindspore/profiler/parser/memory_usage_parser.py +0 -277
  371. mindspore/profiler/parser/minddata_analyzer.py +0 -800
  372. mindspore/profiler/parser/minddata_parser.py +0 -186
  373. mindspore/profiler/parser/minddata_pipeline_parser.py +0 -299
  374. mindspore/profiler/parser/op_intermediate_parser.py +0 -149
  375. mindspore/profiler/parser/optime_parser.py +0 -250
  376. mindspore/profiler/parser/profiler_info.py +0 -213
  377. mindspore/profiler/parser/step_trace_parser.py +0 -666
  378. {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/WHEEL +0 -0
  379. {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/entry_points.txt +0 -0
  380. {mindspore-2.6.0.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)