mindspore 2.4.10__cp39-cp39-win_amd64.whl → 2.6.0__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 (579) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +13 -6
  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/_check_jit_forbidden_api.py +3 -0
  7. mindspore/_checkparam.py +3 -38
  8. mindspore/_deprecated/__init__.py +17 -0
  9. mindspore/_deprecated/jit.py +198 -0
  10. mindspore/_extends/builtin_operations.py +1 -1
  11. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
  12. mindspore/_extends/parse/__init__.py +6 -7
  13. mindspore/_extends/parse/compile_config.py +83 -0
  14. mindspore/_extends/parse/deprecated/__init__.py +0 -0
  15. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
  16. mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
  17. mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
  18. mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
  19. mindspore/_extends/parse/parser.py +47 -198
  20. mindspore/_extends/parse/resources.py +1 -5
  21. mindspore/_extends/parse/standard_method.py +229 -99
  22. mindspore/_extends/pijit/__init__.py +2 -2
  23. mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
  24. mindspore/_extends/pijit/tensor_func_list.py +27 -0
  25. mindspore/_extends/utils.py +1 -1
  26. mindspore/amp.py +11 -5
  27. mindspore/avcodec-59.dll +0 -0
  28. mindspore/avdevice-59.dll +0 -0
  29. mindspore/avfilter-8.dll +0 -0
  30. mindspore/avformat-59.dll +0 -0
  31. mindspore/avutil-57.dll +0 -0
  32. mindspore/boost/__init__.py +2 -2
  33. mindspore/boost/base.py +3 -7
  34. mindspore/boost/boost_cell_wrapper.py +138 -43
  35. mindspore/common/__init__.py +6 -3
  36. mindspore/common/_grad_function.py +56 -0
  37. mindspore/common/_pijit_context.py +14 -5
  38. mindspore/common/_register_for_tensor.py +1 -2
  39. mindspore/common/_stub_tensor.py +30 -14
  40. mindspore/common/_tensor_cpp_method.py +17 -0
  41. mindspore/common/_tensor_docs.py +4760 -0
  42. mindspore/common/api.py +480 -372
  43. mindspore/common/auto_dynamic_shape.py +41 -44
  44. mindspore/common/dtype.py +39 -36
  45. mindspore/common/dump.py +9 -6
  46. mindspore/common/file_system.py +9 -1
  47. mindspore/common/generator.py +5 -0
  48. mindspore/common/hook_handle.py +6 -2
  49. mindspore/common/initializer.py +13 -10
  50. mindspore/common/jit_begin_end.py +94 -0
  51. mindspore/common/jit_config.py +6 -1
  52. mindspore/common/jit_context.py +76 -0
  53. mindspore/common/jit_trace.py +378 -0
  54. mindspore/common/lazy_inline.py +9 -3
  55. mindspore/common/mindir_util.py +10 -2
  56. mindspore/common/mutable.py +5 -4
  57. mindspore/common/parameter.py +135 -52
  58. mindspore/common/seed.py +2 -2
  59. mindspore/common/sparse_tensor.py +23 -17
  60. mindspore/common/tensor.py +975 -1981
  61. mindspore/communication/__init__.py +7 -5
  62. mindspore/communication/_comm_helper.py +52 -2
  63. mindspore/communication/comm_func.py +240 -181
  64. mindspore/communication/management.py +95 -26
  65. mindspore/context.py +324 -573
  66. mindspore/dataset/__init__.py +65 -37
  67. mindspore/dataset/audio/__init__.py +2 -8
  68. mindspore/dataset/audio/transforms.py +3 -17
  69. mindspore/dataset/callback/ds_callback.py +2 -1
  70. mindspore/dataset/core/config.py +87 -6
  71. mindspore/dataset/engine/cache_admin.py +3 -3
  72. mindspore/dataset/engine/cache_client.py +6 -5
  73. mindspore/dataset/engine/datasets.py +292 -267
  74. mindspore/dataset/engine/datasets_audio.py +22 -8
  75. mindspore/dataset/engine/datasets_standard_format.py +46 -27
  76. mindspore/dataset/engine/datasets_text.py +78 -48
  77. mindspore/dataset/engine/datasets_user_defined.py +183 -117
  78. mindspore/dataset/engine/datasets_vision.py +120 -44
  79. mindspore/dataset/engine/iterators.py +283 -63
  80. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
  81. mindspore/dataset/engine/obs/util.py +8 -0
  82. mindspore/dataset/engine/queue.py +40 -0
  83. mindspore/dataset/engine/samplers.py +289 -43
  84. mindspore/dataset/engine/serializer_deserializer.py +3 -2
  85. mindspore/dataset/engine/validators.py +53 -11
  86. mindspore/dataset/text/__init__.py +7 -6
  87. mindspore/dataset/text/transforms.py +6 -5
  88. mindspore/dataset/text/utils.py +3 -3
  89. mindspore/dataset/transforms/__init__.py +0 -9
  90. mindspore/dataset/transforms/py_transforms_util.py +17 -0
  91. mindspore/dataset/transforms/transforms.py +31 -14
  92. mindspore/dataset/utils/browse_dataset.py +1 -1
  93. mindspore/dataset/vision/__init__.py +2 -9
  94. mindspore/dataset/vision/transforms.py +202 -158
  95. mindspore/dataset/vision/utils.py +7 -5
  96. mindspore/dataset/vision/validators.py +1 -2
  97. mindspore/device_context/__init__.py +21 -0
  98. mindspore/device_context/ascend/__init__.py +25 -0
  99. mindspore/device_context/ascend/device.py +72 -0
  100. mindspore/device_context/ascend/op_debug.py +153 -0
  101. mindspore/device_context/ascend/op_precision.py +193 -0
  102. mindspore/device_context/ascend/op_tuning.py +123 -0
  103. mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
  104. mindspore/device_context/cpu/device.py +62 -0
  105. mindspore/device_context/cpu/op_tuning.py +43 -0
  106. mindspore/device_context/gpu/__init__.py +21 -0
  107. mindspore/device_context/gpu/device.py +70 -0
  108. mindspore/device_context/gpu/op_precision.py +67 -0
  109. mindspore/device_context/gpu/op_tuning.py +175 -0
  110. mindspore/device_manager.py +170 -0
  111. mindspore/dnnl.dll +0 -0
  112. mindspore/experimental/es/embedding_service.py +35 -27
  113. mindspore/experimental/llm_boost/__init__.py +1 -0
  114. mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
  115. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +209 -0
  116. mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
  117. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  118. mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
  119. mindspore/experimental/llm_boost/register.py +1 -0
  120. mindspore/experimental/map_parameter.py +4 -4
  121. mindspore/experimental/optim/adadelta.py +6 -6
  122. mindspore/experimental/optim/adagrad.py +4 -4
  123. mindspore/experimental/optim/adam.py +7 -0
  124. mindspore/experimental/optim/adamax.py +4 -4
  125. mindspore/experimental/optim/adamw.py +4 -0
  126. mindspore/experimental/optim/asgd.py +1 -1
  127. mindspore/experimental/optim/lr_scheduler.py +73 -46
  128. mindspore/experimental/optim/radam.py +34 -31
  129. mindspore/experimental/optim/rprop.py +1 -1
  130. mindspore/experimental/optim/sgd.py +1 -1
  131. mindspore/hal/contiguous_tensors_handle.py +6 -10
  132. mindspore/hal/device.py +55 -53
  133. mindspore/hal/event.py +52 -52
  134. mindspore/hal/memory.py +179 -120
  135. mindspore/hal/stream.py +150 -109
  136. mindspore/include/api/context.h +0 -1
  137. mindspore/include/dataset/constants.h +7 -4
  138. mindspore/include/dataset/execute.h +2 -2
  139. mindspore/jpeg62.dll +0 -0
  140. mindspore/log.py +50 -0
  141. mindspore/mindrecord/__init__.py +21 -8
  142. mindspore/mindrecord/config.py +17 -316
  143. mindspore/mindrecord/filereader.py +1 -9
  144. mindspore/mindrecord/filewriter.py +5 -15
  145. mindspore/mindrecord/mindpage.py +1 -9
  146. mindspore/mindspore_backend_common.dll +0 -0
  147. mindspore/mindspore_backend_manager.dll +0 -0
  148. mindspore/mindspore_common.dll +0 -0
  149. mindspore/mindspore_core.dll +0 -0
  150. mindspore/mindspore_dump.dll +0 -0
  151. mindspore/mindspore_frontend.dll +0 -0
  152. mindspore/mindspore_glog.dll +0 -0
  153. mindspore/mindspore_memory_pool.dll +0 -0
  154. mindspore/mindspore_ms_backend.dll +0 -0
  155. mindspore/mindspore_ops.dll +0 -0
  156. mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
  157. mindspore/mindspore_ops_kernel_common.dll +0 -0
  158. mindspore/mindspore_profiler.dll +0 -0
  159. mindspore/mindspore_pyboost.dll +0 -0
  160. mindspore/mindspore_pynative.dll +0 -0
  161. mindspore/mindspore_res_manager.dll +0 -0
  162. mindspore/mindspore_runtime_pipeline.dll +0 -0
  163. mindspore/mint/__init__.py +798 -761
  164. mindspore/mint/distributed/__init__.py +70 -4
  165. mindspore/mint/distributed/distributed.py +2679 -44
  166. mindspore/mint/linalg/__init__.py +8 -0
  167. mindspore/mint/nn/__init__.py +743 -22
  168. mindspore/mint/nn/functional.py +716 -23
  169. mindspore/mint/nn/layer/__init__.py +21 -4
  170. mindspore/mint/nn/layer/_functions.py +334 -0
  171. mindspore/mint/nn/layer/activation.py +276 -1
  172. mindspore/mint/nn/layer/basic.py +123 -0
  173. mindspore/mint/nn/layer/conv.py +933 -0
  174. mindspore/mint/nn/layer/normalization.py +223 -28
  175. mindspore/mint/nn/layer/padding.py +797 -0
  176. mindspore/mint/nn/layer/pooling.py +235 -0
  177. mindspore/mint/optim/__init__.py +3 -1
  178. mindspore/mint/optim/adam.py +223 -0
  179. mindspore/mint/optim/adamw.py +26 -19
  180. mindspore/mint/optim/sgd.py +171 -0
  181. mindspore/mint/special/__init__.py +2 -1
  182. mindspore/multiprocessing/__init__.py +5 -0
  183. mindspore/nn/__init__.py +4 -1
  184. mindspore/nn/cell.py +1373 -192
  185. mindspore/nn/dynamic_lr.py +2 -1
  186. mindspore/nn/layer/activation.py +29 -27
  187. mindspore/nn/layer/basic.py +51 -35
  188. mindspore/nn/layer/channel_shuffle.py +3 -3
  189. mindspore/nn/layer/container.py +1 -1
  190. mindspore/nn/layer/conv.py +53 -42
  191. mindspore/nn/layer/embedding.py +12 -11
  192. mindspore/nn/layer/normalization.py +56 -49
  193. mindspore/nn/layer/padding.py +4 -3
  194. mindspore/nn/layer/pooling.py +120 -42
  195. mindspore/nn/layer/rnn_cells.py +1 -1
  196. mindspore/nn/layer/rnns.py +2 -1
  197. mindspore/nn/layer/timedistributed.py +5 -5
  198. mindspore/nn/layer/transformer.py +59 -36
  199. mindspore/nn/learning_rate_schedule.py +8 -4
  200. mindspore/nn/loss/loss.py +58 -55
  201. mindspore/nn/optim/ada_grad.py +7 -5
  202. mindspore/nn/optim/adadelta.py +11 -9
  203. mindspore/nn/optim/adafactor.py +1 -1
  204. mindspore/nn/optim/adam.py +19 -15
  205. mindspore/nn/optim/adamax.py +8 -7
  206. mindspore/nn/optim/adasum.py +5 -5
  207. mindspore/nn/optim/asgd.py +3 -1
  208. mindspore/nn/optim/ftrl.py +11 -9
  209. mindspore/nn/optim/lamb.py +1 -1
  210. mindspore/nn/optim/lars.py +1 -4
  211. mindspore/nn/optim/lazyadam.py +12 -10
  212. mindspore/nn/optim/momentum.py +7 -6
  213. mindspore/nn/optim/optimizer.py +3 -3
  214. mindspore/nn/optim/proximal_ada_grad.py +12 -10
  215. mindspore/nn/optim/rmsprop.py +13 -12
  216. mindspore/nn/optim/rprop.py +11 -9
  217. mindspore/nn/optim/sgd.py +9 -6
  218. mindspore/nn/optim/tft_wrapper.py +5 -2
  219. mindspore/nn/optim/thor.py +2 -1
  220. mindspore/nn/probability/bijector/bijector.py +17 -11
  221. mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
  222. mindspore/nn/probability/bijector/invert.py +2 -2
  223. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  224. mindspore/nn/probability/bijector/softplus.py +3 -2
  225. mindspore/nn/probability/distribution/beta.py +3 -3
  226. mindspore/nn/probability/distribution/categorical.py +1 -1
  227. mindspore/nn/probability/distribution/cauchy.py +4 -2
  228. mindspore/nn/probability/distribution/exponential.py +6 -7
  229. mindspore/nn/probability/distribution/gamma.py +2 -2
  230. mindspore/nn/probability/distribution/gumbel.py +2 -2
  231. mindspore/nn/probability/distribution/half_normal.py +5 -3
  232. mindspore/nn/probability/distribution/logistic.py +5 -3
  233. mindspore/nn/probability/distribution/poisson.py +1 -1
  234. mindspore/nn/probability/distribution/uniform.py +5 -3
  235. mindspore/nn/reinforcement/_tensors_queue.py +1 -1
  236. mindspore/nn/reinforcement/tensor_array.py +1 -1
  237. mindspore/nn/utils/init.py +13 -11
  238. mindspore/nn/wrap/__init__.py +6 -6
  239. mindspore/nn/wrap/cell_wrapper.py +181 -122
  240. mindspore/nn/wrap/grad_reducer.py +45 -36
  241. mindspore/nn/wrap/loss_scale.py +6 -7
  242. mindspore/numpy/array_creations.py +63 -65
  243. mindspore/numpy/array_ops.py +149 -144
  244. mindspore/numpy/logic_ops.py +41 -42
  245. mindspore/numpy/math_ops.py +361 -359
  246. mindspore/numpy/utils.py +17 -18
  247. mindspore/numpy/utils_const.py +5 -6
  248. mindspore/opencv_core452.dll +0 -0
  249. mindspore/opencv_imgcodecs452.dll +0 -0
  250. mindspore/opencv_imgproc452.dll +0 -0
  251. mindspore/ops/__init__.py +5 -3
  252. mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
  253. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
  254. mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
  255. mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
  256. mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
  257. mindspore/ops/_op_impl/cpu/__init__.py +1 -0
  258. mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
  259. mindspore/ops/_register_for_op.py +0 -11
  260. mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
  261. mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -65
  262. mindspore/ops/_vmap/vmap_array_ops.py +52 -25
  263. mindspore/ops/_vmap/vmap_base.py +0 -2
  264. mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
  265. mindspore/ops/_vmap/vmap_math_ops.py +15 -16
  266. mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
  267. mindspore/ops/auto_generate/__init__.py +4 -3
  268. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +258 -46
  269. mindspore/ops/auto_generate/gen_extend_func.py +757 -185
  270. mindspore/ops/auto_generate/gen_ops_def.py +4197 -2243
  271. mindspore/ops/auto_generate/gen_ops_prim.py +16976 -6055
  272. mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
  273. mindspore/ops/composite/__init__.py +2 -1
  274. mindspore/ops/composite/base.py +20 -25
  275. mindspore/ops/composite/math_ops.py +6 -16
  276. mindspore/ops/composite/multitype_ops/__init__.py +5 -2
  277. mindspore/ops/composite/multitype_ops/_compile_utils.py +228 -30
  278. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
  279. mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
  280. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  281. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  282. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
  283. mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
  284. mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
  285. mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
  286. mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
  287. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
  288. mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
  289. mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
  290. mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
  291. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
  292. mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
  293. mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
  294. mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
  295. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
  296. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  297. mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
  298. mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
  299. mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
  300. mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
  301. mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
  302. mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
  303. mindspore/ops/composite/multitype_ops/pow_impl.py +2 -30
  304. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
  305. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  306. mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
  307. mindspore/ops/function/__init__.py +40 -2
  308. mindspore/ops/function/_add_attr_func.py +58 -0
  309. mindspore/ops/function/array_func.py +2089 -2403
  310. mindspore/ops/function/clip_func.py +80 -23
  311. mindspore/ops/function/debug_func.py +57 -57
  312. mindspore/ops/function/grad/__init__.py +1 -0
  313. mindspore/ops/function/grad/grad_func.py +104 -71
  314. mindspore/ops/function/image_func.py +2 -2
  315. mindspore/ops/function/linalg_func.py +47 -78
  316. mindspore/ops/function/math_func.py +4351 -3813
  317. mindspore/ops/function/nn_func.py +1712 -637
  318. mindspore/ops/function/other_func.py +159 -1
  319. mindspore/ops/function/parameter_func.py +18 -84
  320. mindspore/ops/function/random_func.py +452 -387
  321. mindspore/ops/function/reshard_func.py +4 -70
  322. mindspore/ops/function/sparse_func.py +3 -3
  323. mindspore/ops/function/sparse_unary_func.py +6 -6
  324. mindspore/ops/function/spectral_func.py +25 -58
  325. mindspore/ops/function/vmap_func.py +26 -18
  326. mindspore/ops/functional.py +23 -7
  327. mindspore/ops/functional_overload.py +1548 -0
  328. mindspore/ops/op_info_register.py +32 -244
  329. mindspore/ops/operations/__init__.py +23 -15
  330. mindspore/ops/operations/_custom_ops_utils.py +235 -0
  331. mindspore/ops/operations/_embedding_cache_ops.py +4 -4
  332. mindspore/ops/operations/_grad_ops.py +2 -43
  333. mindspore/ops/operations/_infer_ops.py +2 -1
  334. mindspore/ops/operations/_inner_ops.py +43 -84
  335. mindspore/ops/operations/_ms_kernel.py +4 -10
  336. mindspore/ops/operations/_rl_inner_ops.py +1 -1
  337. mindspore/ops/operations/_scalar_ops.py +3 -2
  338. mindspore/ops/operations/_sequence_ops.py +1 -1
  339. mindspore/ops/operations/_tensor_array.py +1 -1
  340. mindspore/ops/operations/array_ops.py +81 -324
  341. mindspore/ops/operations/comm_ops.py +154 -108
  342. mindspore/ops/operations/custom_ops.py +298 -87
  343. mindspore/ops/operations/debug_ops.py +157 -59
  344. mindspore/ops/operations/inner_ops.py +7 -5
  345. mindspore/ops/operations/linalg_ops.py +1 -57
  346. mindspore/ops/operations/manually_defined/_inner.py +1 -1
  347. mindspore/ops/operations/manually_defined/ops_def.py +928 -180
  348. mindspore/ops/operations/math_ops.py +32 -234
  349. mindspore/ops/operations/nn_ops.py +212 -531
  350. mindspore/ops/operations/other_ops.py +62 -9
  351. mindspore/ops/operations/random_ops.py +13 -7
  352. mindspore/ops/operations/reshard_ops.py +1 -1
  353. mindspore/ops/operations/sparse_ops.py +2 -2
  354. mindspore/ops/primitive.py +66 -53
  355. mindspore/ops/tensor_method.py +1895 -0
  356. mindspore/ops_generate/__init__.py +0 -5
  357. mindspore/ops_generate/aclnn/__init__.py +0 -0
  358. mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
  359. mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
  360. mindspore/ops_generate/api/__init__.py +0 -0
  361. mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
  362. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
  363. mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
  364. mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
  365. mindspore/ops_generate/api/functions_cc_generator.py +237 -0
  366. mindspore/ops_generate/api/gen_api.py +103 -0
  367. mindspore/ops_generate/api/op_api_proto.py +235 -0
  368. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
  369. mindspore/ops_generate/common/__init__.py +0 -0
  370. mindspore/ops_generate/common/base_generator.py +11 -0
  371. mindspore/ops_generate/common/gen_constants.py +91 -0
  372. mindspore/ops_generate/common/gen_utils.py +348 -0
  373. mindspore/ops_generate/common/op_proto.py +473 -0
  374. mindspore/ops_generate/common/template.py +523 -0
  375. mindspore/ops_generate/gen_ops.py +22 -1069
  376. mindspore/ops_generate/op_def/__init__.py +0 -0
  377. mindspore/ops_generate/op_def/gen_op_def.py +90 -0
  378. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
  379. mindspore/ops_generate/op_def/ops_def_cc_generator.py +296 -0
  380. mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
  381. mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
  382. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
  383. mindspore/ops_generate/op_def_py/__init__.py +0 -0
  384. mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
  385. mindspore/ops_generate/op_def_py/op_def_py_generator.py +132 -0
  386. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
  387. mindspore/ops_generate/pyboost/__init__.py +0 -0
  388. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
  389. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
  390. mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
  391. mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
  392. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
  393. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
  394. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
  395. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
  396. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
  397. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
  398. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
  399. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
  400. mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
  401. mindspore/ops_generate/resources/__init__.py +0 -0
  402. mindspore/ops_generate/resources/resource_list.py +30 -0
  403. mindspore/ops_generate/resources/resource_loader.py +36 -0
  404. mindspore/ops_generate/resources/resource_manager.py +64 -0
  405. mindspore/ops_generate/resources/yaml_loader.py +88 -0
  406. mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
  407. mindspore/parallel/__init__.py +7 -3
  408. mindspore/parallel/_auto_parallel_context.py +159 -40
  409. mindspore/parallel/_cell_wrapper.py +132 -15
  410. mindspore/parallel/_parallel_serialization.py +107 -5
  411. mindspore/parallel/_ps_context.py +1 -1
  412. mindspore/parallel/_recovery_context.py +7 -2
  413. mindspore/parallel/_tensor.py +142 -18
  414. mindspore/parallel/_utils.py +199 -23
  415. mindspore/parallel/algo_parameter_config.py +4 -4
  416. mindspore/parallel/auto_parallel.py +732 -0
  417. mindspore/parallel/checkpoint_convert.py +159 -0
  418. mindspore/parallel/checkpoint_transform.py +700 -35
  419. mindspore/parallel/cluster/process_entity/_api.py +276 -50
  420. mindspore/parallel/cluster/process_entity/_utils.py +41 -6
  421. mindspore/parallel/cluster/run.py +21 -4
  422. mindspore/parallel/function/__init__.py +24 -0
  423. mindspore/parallel/function/reshard_func.py +258 -0
  424. mindspore/parallel/nn/__init__.py +25 -0
  425. mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
  426. mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
  427. mindspore/parallel/parameter_broadcast.py +25 -14
  428. mindspore/parallel/shard.py +137 -59
  429. mindspore/parallel/transform_safetensors.py +364 -305
  430. mindspore/profiler/__init__.py +22 -5
  431. mindspore/profiler/analysis/__init__.py +0 -0
  432. mindspore/profiler/analysis/parser/__init__.py +0 -0
  433. mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
  434. mindspore/profiler/analysis/parser/base_parser.py +158 -0
  435. mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
  436. mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
  437. mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
  438. mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
  439. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
  440. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
  441. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +109 -0
  442. mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
  443. mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
  444. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
  445. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
  446. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
  447. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
  448. mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
  449. mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
  450. mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
  451. mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
  452. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
  453. mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
  454. mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
  455. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
  456. mindspore/profiler/analysis/task_manager.py +131 -0
  457. mindspore/profiler/analysis/time_converter.py +84 -0
  458. mindspore/profiler/analysis/viewer/__init__.py +0 -0
  459. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
  460. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
  461. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
  462. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
  463. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
  464. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
  465. mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
  466. mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
  467. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
  468. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
  469. mindspore/profiler/analysis/work_flow.py +73 -0
  470. mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
  471. mindspore/profiler/common/command_executor.py +90 -0
  472. mindspore/profiler/common/constant.py +186 -3
  473. mindspore/profiler/common/file_manager.py +208 -0
  474. mindspore/profiler/common/log.py +130 -0
  475. mindspore/profiler/common/msprof_cmd_tool.py +221 -0
  476. mindspore/profiler/common/path_manager.py +395 -0
  477. mindspore/profiler/common/process_bar.py +168 -0
  478. mindspore/profiler/common/process_pool.py +9 -3
  479. mindspore/profiler/common/profiler_context.py +500 -0
  480. mindspore/profiler/common/profiler_info.py +304 -0
  481. mindspore/profiler/common/profiler_meta_data.py +74 -0
  482. mindspore/profiler/common/profiler_output_path.py +284 -0
  483. mindspore/profiler/common/profiler_parameters.py +251 -0
  484. mindspore/profiler/common/profiler_path_manager.py +179 -0
  485. mindspore/profiler/common/record_function.py +76 -0
  486. mindspore/profiler/common/tlv_decoder.py +76 -0
  487. mindspore/profiler/common/util.py +75 -2
  488. mindspore/profiler/dynamic_profiler.py +341 -75
  489. mindspore/profiler/envprofiler.py +163 -0
  490. mindspore/profiler/experimental_config.py +197 -0
  491. mindspore/profiler/mstx.py +242 -0
  492. mindspore/profiler/platform/__init__.py +21 -0
  493. mindspore/profiler/platform/base_profiler.py +40 -0
  494. mindspore/profiler/platform/cpu_profiler.py +124 -0
  495. mindspore/profiler/platform/gpu_profiler.py +74 -0
  496. mindspore/profiler/platform/npu_profiler.py +335 -0
  497. mindspore/profiler/profiler.py +1073 -90
  498. mindspore/profiler/profiler_action_controller.py +187 -0
  499. mindspore/profiler/profiler_interface.py +118 -0
  500. mindspore/profiler/schedule.py +243 -0
  501. mindspore/rewrite/api/node.py +15 -13
  502. mindspore/rewrite/api/symbol_tree.py +2 -3
  503. mindspore/run_check/_check_version.py +27 -20
  504. mindspore/run_check/run_check.py +1 -1
  505. mindspore/runtime/__init__.py +37 -0
  506. mindspore/runtime/device.py +27 -0
  507. mindspore/runtime/event.py +209 -0
  508. mindspore/runtime/executor.py +177 -0
  509. mindspore/runtime/memory.py +416 -0
  510. mindspore/runtime/stream.py +460 -0
  511. mindspore/runtime/thread_bind_core.py +401 -0
  512. mindspore/safeguard/rewrite_obfuscation.py +12 -9
  513. mindspore/swresample-4.dll +0 -0
  514. mindspore/swscale-6.dll +0 -0
  515. mindspore/tinyxml2.dll +0 -0
  516. mindspore/train/__init__.py +8 -8
  517. mindspore/train/_utils.py +96 -27
  518. mindspore/train/amp.py +9 -5
  519. mindspore/train/callback/__init__.py +2 -2
  520. mindspore/train/callback/_callback.py +2 -16
  521. mindspore/train/callback/_checkpoint.py +53 -55
  522. mindspore/train/callback/_cluster_monitor.py +14 -18
  523. mindspore/train/callback/_early_stop.py +1 -1
  524. mindspore/train/callback/_flops_collector.py +103 -68
  525. mindspore/train/callback/_history.py +8 -5
  526. mindspore/train/callback/_lambda_callback.py +2 -2
  527. mindspore/train/callback/_landscape.py +0 -3
  528. mindspore/train/callback/_loss_monitor.py +2 -1
  529. mindspore/train/callback/_on_request_exit.py +6 -5
  530. mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
  531. mindspore/train/callback/_summary_collector.py +52 -19
  532. mindspore/train/callback/_time_monitor.py +2 -1
  533. mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +228 -108
  534. mindspore/train/data_sink.py +25 -2
  535. mindspore/train/dataset_helper.py +15 -16
  536. mindspore/train/loss_scale_manager.py +8 -7
  537. mindspore/train/metrics/accuracy.py +3 -3
  538. mindspore/train/metrics/confusion_matrix.py +9 -9
  539. mindspore/train/metrics/error.py +3 -3
  540. mindspore/train/metrics/hausdorff_distance.py +4 -4
  541. mindspore/train/metrics/mean_surface_distance.py +3 -3
  542. mindspore/train/metrics/metric.py +0 -12
  543. mindspore/train/metrics/occlusion_sensitivity.py +4 -2
  544. mindspore/train/metrics/precision.py +11 -10
  545. mindspore/train/metrics/recall.py +9 -9
  546. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  547. mindspore/train/mind_ir_pb2.py +174 -46
  548. mindspore/train/model.py +269 -136
  549. mindspore/train/serialization.py +622 -978
  550. mindspore/train/summary/_summary_adapter.py +2 -2
  551. mindspore/train/summary/summary_record.py +2 -3
  552. mindspore/train/train_thor/model_thor.py +1 -1
  553. mindspore/turbojpeg.dll +0 -0
  554. mindspore/utils/__init__.py +6 -3
  555. mindspore/utils/dryrun.py +140 -0
  556. mindspore/utils/hooks.py +81 -0
  557. mindspore/utils/runtime_execution_order_check.py +552 -0
  558. mindspore/utils/utils.py +138 -4
  559. mindspore/version.py +1 -1
  560. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/METADATA +3 -3
  561. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/RECORD +564 -395
  562. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +1 -1
  563. mindspore/_install_custom.py +0 -43
  564. mindspore/common/_register_for_adapter.py +0 -74
  565. mindspore/common/_tensor_overload.py +0 -139
  566. mindspore/mindspore_np_dtype.dll +0 -0
  567. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
  568. mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
  569. mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
  570. mindspore/ops_generate/gen_aclnn_implement.py +0 -263
  571. mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
  572. mindspore/ops_generate/gen_pyboost_func.py +0 -1052
  573. mindspore/ops_generate/gen_utils.py +0 -209
  574. mindspore/ops_generate/op_proto.py +0 -145
  575. mindspore/ops_generate/template.py +0 -261
  576. mindspore/profiler/envprofiling.py +0 -254
  577. mindspore/profiler/profiling.py +0 -1926
  578. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
  579. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,36 @@
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
+ """Flow event classes for representing event relationships in Chrome trace format."""
16
+
17
+ from mindspore.profiler.common.constant import EventConstant
18
+ from mindspore.profiler.analysis.parser.timeline_event.base_event import FlowEvent
19
+
20
+
21
+ class FlowStartEvent(FlowEvent):
22
+ """Flow start event class for marking the beginning of a flow relationship."""
23
+
24
+ @property
25
+ def ph(self) -> str:
26
+ """Get event phase ('s' for flow start)."""
27
+ return EventConstant.START_FLOW
28
+
29
+
30
+ class FlowEndEvent(FlowEvent):
31
+ """Flow end event class for marking the end of a flow relationship."""
32
+
33
+ @property
34
+ def ph(self) -> str:
35
+ """Get event phase ('f' for flow end)."""
36
+ return EventConstant.END_FLOW
@@ -0,0 +1,415 @@
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
+ """Framework event classes for timeline analysis."""
16
+ from enum import Enum
17
+ from decimal import Decimal
18
+ from typing import Dict, Optional, List
19
+
20
+ from mindspore import log as logger
21
+ from mindspore.profiler.common.constant import EventConstant, FileConstant
22
+ from mindspore.profiler.analysis.time_converter import TimeConverter
23
+ from mindspore.profiler.analysis.parser.timeline_event.base_event import (
24
+ BaseEvent,
25
+ CompleteEvent,
26
+ MetaEvent,
27
+ InstantEvent,
28
+ )
29
+
30
+
31
+ class ProfilerStage(Enum):
32
+ """Profiler stage enumeration."""
33
+ DEFAULT = "Default"
34
+ PYTHON = "Python"
35
+ CAPTURE = "Capture"
36
+ RUN_GRAPH = "RunGraph"
37
+ RUN_GRAD = "RunGrad"
38
+ RUN_OP = "RunOp"
39
+ ASNUMPY = "Asnumpy"
40
+ COMPILE_GRAD_GRAPH = "CompileGradGraph"
41
+ WAIT_PIPELINE = "WaitPipeline"
42
+ SYNC_STREAM = "SyncStream"
43
+
44
+
45
+ class ProfilerModule(Enum):
46
+ """Profiler module enumeration."""
47
+ DEFAULT = "Default"
48
+ GRAPH_EXECUTOR_PY = "GraphExecutorPy"
49
+ RUNTIME_FRAMEWORK = "RuntimeFramework"
50
+ PYNATIVE_FRAMEWORK = "PynativeFramework"
51
+ KERNEL = "Kernel"
52
+ PYTHON = "Python"
53
+ CAPTURE = "Capture"
54
+ OTHER = "Other"
55
+
56
+
57
+ class ProfilerEvent(Enum):
58
+ """Profiler event enumeration."""
59
+ DEFAULT = "Default"
60
+ KERNEL_INFER = "KernelInfer"
61
+ KERNEL_RESIZE = "KernelResize"
62
+ KERNEL_INFER_AND_RESIZE = "KernelInferAndResize"
63
+ KERNEL_LAUNCH = "KernelLaunch"
64
+ KERNEL_LAUNCH_CALLBACK = "KernelLaunckCallback"
65
+ KERNEL_UPDATE = "KernelUpdate"
66
+ KERNEL_PREPARE_DATA = "KernelPrepareData"
67
+ GRAPH_LAUNCH = "GraphLaunch"
68
+ INPUT_PROCESS = "InputProcess"
69
+ OUTPUT_PROCESS = "OutputProcess"
70
+ WAIT_TASK_FINISH = "WaitTaskFinish"
71
+ PRE_LAUNCH = "PreLaunch"
72
+ POST_LAUNCH = "PostLaunch"
73
+ SEND_OUTPUT = "SendOutput"
74
+ MEMORY_ALLOC = "MemoryAlloc"
75
+ MEMORY_FREE = "MemoryFree"
76
+ COPY_DATA = "CopyData"
77
+ STREAM_SYNC = "StreamSync"
78
+ PROCESS_MULTI_STREAM = "ProcessMultiStream"
79
+ WAIT_KERNELS_INFER_FINISH = "WaitKernelsInferFinish"
80
+ WAIT_KERNELS_RESIZE_FINISH = "WaitKernelsResizeFinish"
81
+ WAIT_KERNELS_LAUNCH_FINISH = "WaitKernelsLaunchFinish"
82
+ # Inner event is not counted in the total time.
83
+ KERNEL_INFER_INNER = "KernelInferInner"
84
+ KERNEL_INFER_DATA_SYNC = "KernelInferDataSync"
85
+ KERNEL_RESIZE_INNER = "KernelResizeInner"
86
+ KERNEL_LAUNCH_INNER = "KernelLaunchInner"
87
+ BACKEND_GRAPH_RUN_INNER = "BackendGraphRunInner"
88
+ # PyNative Pipeline
89
+ RUN_OP = "RunOp"
90
+ PYNATIVE_FRONTEND_TASK = "PyNativeFrontendTask"
91
+ PYNATIVE_BACKEND_TASK = "PyNativeBackendTask"
92
+ PYNATIVE_DEVICE_TASK = "PyNativeDeviceTask"
93
+ PYNATIVE_LAUNCH_TASK = "PyNativeLaunchTask"
94
+ PYNATIVE_BPROP_TASK = "PyNativeBpropTask"
95
+ WAIT = "Wait"
96
+ # PyNative inner Event
97
+ PYNATIVE_GIL_ACQUIRE = "PyNativeGilAcquire"
98
+ PYNATIVE_CAST = "PyNativeCast"
99
+ PYNATIVE_INFER = "PyNativeInfer"
100
+ PYNATIVE_OP_COMPILE = "PyNativeOpCompile"
101
+ PYNATIVE_GRAD_EXPANDER = "PyNativeGradExpander"
102
+ PYNATIVE_GRAD_UPDATE_SENS = "PyNativeGradUpdateSens"
103
+ PYNATIVE_GRAD_CLEAR_TOP_CELL = "PyNativeGradClearTopCell"
104
+ PYNATIVE_GRAD_CLEAR_AUTO_GRAD_CELL = "PyNativeGradClearAutoGradCell"
105
+ # PyBoost
106
+ PYBOOST_INFER_OUTPUT = "PyBoostInferOutput"
107
+ PYBOOST_INFER_BY_OP_DEF = "PyBoostInferByOpDef"
108
+ PYBOOST_CREATE_OUTPUT_TENSOR = "PyBoostCreateOutputTensor"
109
+ PYBOOST_DEVICE_TASK = "PyBoostDeviceTask"
110
+ PYBOOST_MALLOC_INPUT = "PyBoostMallocInput"
111
+ PYBOOST_MALLOC_OUTPUT = "PyBoostMallocOutput"
112
+ PYBOOST_LAUNCH_ACLLNN = "PyBoostLaunchAclnn"
113
+ # pybind api
114
+ PYNATIVE_NEW_GRAPH = "PyNativeNewGraph"
115
+ PYNATIVE_END_GRAPH = "PyNativeEndGraph"
116
+ # Python
117
+ PYTHON_OBSERVED = "PythonObserved"
118
+ # Capture Event
119
+ CAPTURE_RUN_GRAPH = "CaptureRunGraph"
120
+ CAPTURE_PROCESS = "CaptureProcess"
121
+ CAPTURE_COMPILE = "CaptureCompile"
122
+ CAPTURE_GUARD = "CaptureGuard"
123
+ # AclNN
124
+ ACLNN_HIT_CACHE_STAGE_1 = "AclnnHitCacheStage1"
125
+ ACLNN_HIT_CACHE_STAGE_2 = "AclnnHitCacheStage2"
126
+ ACLNN_MISS_CACHE_STAGE_1 = "AclnnMissCacheStage1"
127
+ ACLNN_MISS_CACHE_STAGE_2 = "AclnnMissCacheStage2"
128
+ ACLNN_UPDATE_ADDRESS = "AclnnUpdateAddress"
129
+ ACLNN_RUN_OP = "AclnnRunOp"
130
+ # NoGraph grad
131
+ RUN_EXPANDER_FUNC = "RunExpanderFunc"
132
+ EMIT_OP = "EmitOp"
133
+ EXECUTE = "Execute"
134
+ RELEASE_RESOURCE = "ReleaseResource"
135
+ NATIVE_FUNC = "NativeFunc"
136
+
137
+
138
+ class FwkFixSizeFormat:
139
+ """Format definition for framework fixed-size data."""
140
+
141
+ OpRangeStruct = "<5Qi3Hb3?"
142
+
143
+
144
+ class OpRangeStructField(Enum):
145
+ """Field indices in operator range structure fixed-size data."""
146
+
147
+ THREAD_ID = 0
148
+ FLOW_ID = 1
149
+ STEP = 2
150
+ START_TIME_NS = 3
151
+ END_TIME_NS = 4
152
+ PROCESS_ID = 5
153
+ MODULE_INDEX = 6
154
+ EVENT_INDEX = 7
155
+ STAGE_INDEX = 8
156
+ LEVEL = 9
157
+ IS_GRAPH_DATA = 10
158
+ IS_STAGE = 11
159
+ IS_STACK = 12
160
+ NAME = 13
161
+ FULL_NAME = 14
162
+ MODULE_GRAPH = 15
163
+ EVENT_GRAPH = 16
164
+ CUSTOM_INFO = 17
165
+
166
+
167
+ class FwkProfileDataField:
168
+ """Framework profile data field."""
169
+
170
+ @staticmethod
171
+ def _get_enum_value(enum_class, index: int, enum_type: str) -> str:
172
+ """
173
+ Get enum value by index.
174
+ Args:
175
+ enum_class: The enum class to get value from.
176
+ index: The index of the enum value.
177
+ enum_type: The type name of enum for logging.
178
+ Returns:
179
+ The enum value string.
180
+ """
181
+ try:
182
+ return list(enum_class)[index].value
183
+ except IndexError:
184
+ logger.warning(f"Invalid {enum_type} index: {index}")
185
+ return enum_class.DEFAULT.value
186
+
187
+ @staticmethod
188
+ def get_stage_value(index: int) -> str:
189
+ """Get stage value."""
190
+ return FwkProfileDataField._get_enum_value(ProfilerStage, index, "stage")
191
+
192
+ @staticmethod
193
+ def get_module_value(index: int) -> str:
194
+ """Get module value."""
195
+ return FwkProfileDataField._get_enum_value(ProfilerModule, index, "module")
196
+
197
+ @staticmethod
198
+ def get_event_value(index: int) -> str:
199
+ """Get event value."""
200
+ return FwkProfileDataField._get_enum_value(ProfilerEvent, index, "event")
201
+
202
+
203
+ class FwkEventMixin:
204
+ """Mixin class for common framework event functionality."""
205
+
206
+ def get_name(self) -> str:
207
+ """Get operator name."""
208
+ op_name = self._origin_data.get(OpRangeStructField.NAME.value, "")
209
+ is_stack = self.fix_size_data[OpRangeStructField.IS_STACK.value]
210
+ if is_stack:
211
+ return op_name
212
+
213
+ is_graph_data = self.fix_size_data[OpRangeStructField.IS_GRAPH_DATA.value]
214
+ is_stage = self.fix_size_data[OpRangeStructField.IS_STAGE.value]
215
+ full_name = self._origin_data.get(OpRangeStructField.FULL_NAME.value, "")
216
+
217
+ name = ""
218
+ if is_graph_data:
219
+ module_graph = self._origin_data.get(OpRangeStructField.MODULE_GRAPH.value, "")
220
+ event_graph = self._origin_data.get(OpRangeStructField.EVENT_GRAPH.value, "")
221
+ name = f"{module_graph}::{event_graph}::{op_name}"
222
+ elif is_stage:
223
+ stage_index = self.fix_size_data[OpRangeStructField.STAGE_INDEX.value]
224
+ name = FwkProfileDataField.get_stage_value(stage_index)
225
+ elif op_name != "flow":
226
+ module_index = self.fix_size_data[OpRangeStructField.MODULE_INDEX.value]
227
+ event_index = self.fix_size_data[OpRangeStructField.EVENT_INDEX.value]
228
+ module_name = FwkProfileDataField.get_module_value(module_index)
229
+ event_name = FwkProfileDataField.get_event_value(event_index)
230
+ name = f"{module_name}::{event_name}::{full_name}"
231
+ else:
232
+ name = full_name
233
+ return name
234
+
235
+ def get_custom_info(self) -> str:
236
+ """Get custom information."""
237
+ value = self._origin_data.get(OpRangeStructField.CUSTOM_INFO.value, None)
238
+ if value is None:
239
+ return ""
240
+ pairs = [pair.split(":") for pair in value.split(";") if pair]
241
+ info_dict = {k: v for k, v in pairs[0:2] if len(pairs) >= 2}
242
+ return str(info_dict)
243
+
244
+
245
+ class FwkCompleteEvent(FwkEventMixin, CompleteEvent):
246
+ """Framework complete event with duration."""
247
+
248
+ def __init__(self, data: Dict):
249
+ """Initialize framework complete event."""
250
+ super().__init__(data)
251
+ self.fix_size_data = self._origin_data[FileConstant.FIX_SIZE_DATA]
252
+ self._ts_cache = None
253
+ self._te_cache = None
254
+ self._dur_cache = None
255
+ self._name_cache = None
256
+ self._parent: Optional[BaseEvent] = None
257
+ self._children: List[BaseEvent] = []
258
+
259
+ @property
260
+ def parent(self) -> BaseEvent:
261
+ """Get parent event."""
262
+ return self._parent
263
+
264
+ @parent.setter
265
+ def parent(self, event: BaseEvent) -> None:
266
+ """Set parent event."""
267
+ self._parent = event
268
+
269
+ @property
270
+ def children(self) -> List[BaseEvent]:
271
+ """Get child events."""
272
+ return self._children
273
+
274
+ @property
275
+ def ts_raw(self) -> int:
276
+ """Get raw start timestamp."""
277
+ return self.fix_size_data[OpRangeStructField.START_TIME_NS.value]
278
+
279
+ @property
280
+ def ts(self) -> Decimal:
281
+ """Get start time in us."""
282
+ if not self._ts_cache:
283
+ self._ts_cache = TimeConverter.convert_syscnt_to_timestamp_us(
284
+ self.fix_size_data[OpRangeStructField.START_TIME_NS.value]
285
+ )
286
+ return self._ts_cache
287
+
288
+ @property
289
+ def te(self) -> Decimal:
290
+ """Get end time in us."""
291
+ if not self._te_cache:
292
+ self._te_cache = TimeConverter.convert_syscnt_to_timestamp_us(
293
+ self.fix_size_data[OpRangeStructField.END_TIME_NS.value]
294
+ )
295
+ return self._te_cache
296
+
297
+ @property
298
+ def dur(self) -> Decimal:
299
+ """Get duration in us."""
300
+ if not self._dur_cache:
301
+ self._dur_cache = self.te - self.ts
302
+ return self._dur_cache
303
+
304
+ @property
305
+ def pid(self) -> int:
306
+ """Get process ID."""
307
+ return int(EventConstant.MINDSPORE_PID)
308
+
309
+ @property
310
+ def tid(self) -> int:
311
+ """Get thread ID."""
312
+ return int(self.fix_size_data[OpRangeStructField.THREAD_ID.value])
313
+
314
+ @property
315
+ def id(self) -> int:
316
+ """Get event ID."""
317
+ return int(self.fix_size_data[OpRangeStructField.FLOW_ID.value])
318
+
319
+ @property
320
+ def name(self) -> str:
321
+ """Get operator name."""
322
+ if not self._name_cache:
323
+ self._name_cache = self.get_name()
324
+ return self._name_cache
325
+
326
+ @property
327
+ def step(self) -> int:
328
+ """Get step ID."""
329
+ return int(self.fix_size_data[OpRangeStructField.STEP.value])
330
+
331
+ @property
332
+ def is_stack(self) -> bool:
333
+ """Get is stack."""
334
+ return bool(self.fix_size_data[OpRangeStructField.IS_STACK.value])
335
+
336
+ @property
337
+ def cat(self) -> str:
338
+ """Get event category."""
339
+ return EventConstant.STACK_EVENT_CAT if self.is_stack else ""
340
+
341
+ @property
342
+ def level(self) -> int:
343
+ """Get event level."""
344
+ return int(self.fix_size_data[OpRangeStructField.LEVEL.value])
345
+
346
+ @property
347
+ def custom_info(self) -> str:
348
+ """Get custom information."""
349
+ return self.get_custom_info()
350
+
351
+
352
+ class FwkInstantEvent(FwkEventMixin, InstantEvent):
353
+ """Framework instant event without duration."""
354
+
355
+ def __init__(self, data: Dict):
356
+ """Initialize framework instant event."""
357
+ super().__init__(data)
358
+ self.fix_size_data = self._origin_data[FileConstant.FIX_SIZE_DATA]
359
+ self._ts_cache = None
360
+ self._name_cache = None
361
+
362
+ @property
363
+ def ts_raw(self) -> int:
364
+ """Get raw start timestamp."""
365
+ return self.fix_size_data[OpRangeStructField.START_TIME_NS.value]
366
+
367
+ @property
368
+ def ts(self) -> Decimal:
369
+ """Get time in us."""
370
+ if not self._ts_cache:
371
+ self._ts_cache = TimeConverter.convert_syscnt_to_timestamp_us(
372
+ self.fix_size_data[OpRangeStructField.START_TIME_NS.value]
373
+ )
374
+ return self._ts_cache
375
+
376
+ @property
377
+ def pid(self) -> int:
378
+ """Get process ID."""
379
+ return int(EventConstant.MINDSPORE_PID)
380
+
381
+ @property
382
+ def tid(self) -> int:
383
+ """Get thread ID."""
384
+ return int(self.fix_size_data[OpRangeStructField.THREAD_ID.value])
385
+
386
+ @property
387
+ def name(self) -> str:
388
+ """Get operator name."""
389
+ if not self._name_cache:
390
+ self._name_cache = self.get_name()
391
+ return self._name_cache
392
+
393
+ @property
394
+ def step(self) -> int:
395
+ """Get step ID."""
396
+ return int(self.fix_size_data[OpRangeStructField.STEP.value])
397
+
398
+ @property
399
+ def level(self) -> int:
400
+ """Get event level."""
401
+ return int(self.fix_size_data[OpRangeStructField.LEVEL.value])
402
+
403
+ @property
404
+ def custom_info(self) -> str:
405
+ """Get custom information."""
406
+ return self.get_custom_info()
407
+
408
+
409
+ class FwkMetaEvent(MetaEvent):
410
+ """Framework metadata event."""
411
+
412
+ @property
413
+ def pid(self) -> int:
414
+ """Get framework process ID."""
415
+ return int(EventConstant.MINDSPORE_PID)
@@ -0,0 +1,73 @@
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
+ """Msprof event classes for MindSpore profiling data."""
16
+
17
+ from typing import Dict, List, Optional
18
+ from mindspore.profiler.analysis.parser.timeline_event.base_event import (
19
+ BaseEvent,
20
+ MetaEvent,
21
+ InstantEvent,
22
+ CompleteEvent,
23
+ CounterEvent
24
+ )
25
+
26
+
27
+ class MsprofCompleteEvent(CompleteEvent):
28
+ """Msprof Complete event class for representing complete operations with duration."""
29
+ _MINDSPORE_OP_KEY = "mindspore_op"
30
+
31
+ def __init__(self, data: Dict):
32
+ """Initialize complete event with data and empty event references."""
33
+ super().__init__(data)
34
+ self._parent: Optional[BaseEvent] = None
35
+ self._children: List[BaseEvent] = []
36
+ self._step_id = None
37
+
38
+ @property
39
+ def parent(self) -> BaseEvent:
40
+ """Get parent event reference."""
41
+ return self._parent
42
+
43
+ @parent.setter
44
+ def parent(self, event: BaseEvent) -> None:
45
+ """Set parent event and update mindspore_op argument."""
46
+ self._parent = event
47
+ self.args.update({self._MINDSPORE_OP_KEY: event.name})
48
+
49
+ @property
50
+ def children(self) -> List[BaseEvent]:
51
+ """Get list of children event references."""
52
+ return self._children
53
+
54
+ @property
55
+ def step_id(self) -> str:
56
+ """Get parent event reference."""
57
+ return self._step_id
58
+
59
+ @step_id.setter
60
+ def step_id(self, value):
61
+ self._step_id = value
62
+
63
+
64
+ class MsprofInstantEvent(InstantEvent):
65
+ """Msprof Instant event class for representing instantaneous operations."""
66
+
67
+
68
+ class MsprofMetaEvent(MetaEvent):
69
+ """Msprof Meta event class for representing metadata information."""
70
+
71
+
72
+ class MsprofCounterEvent(CounterEvent):
73
+ """Msprof Counter event class for representing counter-based metrics."""
@@ -0,0 +1,53 @@
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
+ """Scope event class for representing scope layer operations in profiling data."""
16
+
17
+ from decimal import Decimal
18
+
19
+ from mindspore.profiler.common.constant import EventConstant
20
+ from mindspore.profiler.analysis.parser.timeline_event.base_event import CompleteEvent, MetaEvent
21
+
22
+
23
+ class ScopeLayerCompleteEvent(CompleteEvent):
24
+ """Scope layer complete event class for representing scope operations with duration."""
25
+
26
+ def __init__(self, data: dict):
27
+ """Initialize scope layer event with data and duration."""
28
+ super().__init__(data)
29
+ self._dur = Decimal(data.get('dur', 0))
30
+
31
+ @property
32
+ def dur(self) -> Decimal:
33
+ """Get scope operation duration."""
34
+ return self._dur
35
+
36
+ @dur.setter
37
+ def dur(self, value: Decimal):
38
+ """Set scope operation duration."""
39
+ self._dur = value
40
+
41
+ @property
42
+ def pid(self) -> int:
43
+ """Get scope layer process ID."""
44
+ return int(EventConstant.SCOPE_LAYER_PID)
45
+
46
+
47
+ class ScopeLayerMetaEvent(MetaEvent):
48
+ """Scope layer meta event class for scope layer metadata."""
49
+
50
+ @property
51
+ def pid(self) -> int:
52
+ """Get scope layer process ID."""
53
+ return int(EventConstant.SCOPE_LAYER_PID)