mindspore 2.6.0rc1__cp310-cp310-win_amd64.whl → 2.7.0rc1__cp310-cp310-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (407) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
  3. mindspore/Newtonsoft.Json.dll +0 -0
  4. mindspore/__init__.py +1 -1
  5. mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
  8. mindspore/_checkparam.py +40 -9
  9. mindspore/{_deprecated → _extends/optimize}/__init__.py +9 -3
  10. mindspore/_extends/optimize/cell_utils.py +96 -0
  11. mindspore/_extends/parse/__init__.py +2 -2
  12. mindspore/_extends/parse/compile_config.py +44 -22
  13. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +1 -1
  14. mindspore/_extends/parse/parser.py +37 -62
  15. mindspore/_extends/parse/resources.py +39 -0
  16. mindspore/_extends/parse/standard_method.py +43 -13
  17. mindspore/_extends/parse/trope.py +8 -1
  18. mindspore/_extends/pijit/__init__.py +1 -2
  19. mindspore/amp.py +4 -4
  20. mindspore/atlprov.dll +0 -0
  21. mindspore/avcodec-59.dll +0 -0
  22. mindspore/avdevice-59.dll +0 -0
  23. mindspore/avfilter-8.dll +0 -0
  24. mindspore/avformat-59.dll +0 -0
  25. mindspore/avutil-57.dll +0 -0
  26. mindspore/boost/adasum.py +1 -1
  27. mindspore/boost/boost_cell_wrapper.py +4 -4
  28. mindspore/c1.dll +0 -0
  29. mindspore/c1xx.dll +0 -0
  30. mindspore/c2.dll +0 -0
  31. mindspore/common/__init__.py +27 -2
  32. mindspore/common/_grad_function.py +2 -1
  33. mindspore/common/_pijit_context.py +28 -7
  34. mindspore/common/_stub_tensor.py +1 -209
  35. mindspore/common/_tensor_cpp_method.py +1 -1
  36. mindspore/common/_tensor_docs.py +77 -16
  37. mindspore/common/api.py +238 -113
  38. mindspore/common/dtype.py +21 -11
  39. mindspore/common/dump.py +10 -15
  40. mindspore/common/generator.py +5 -3
  41. mindspore/common/hook_handle.py +11 -2
  42. mindspore/common/jit_config.py +1 -1
  43. mindspore/common/jit_trace.py +84 -105
  44. mindspore/common/parameter.py +26 -12
  45. mindspore/common/recompute.py +3 -3
  46. mindspore/common/sparse_tensor.py +0 -3
  47. mindspore/common/symbol.py +0 -1
  48. mindspore/common/tensor.py +81 -81
  49. mindspore/communication/_comm_helper.py +46 -4
  50. mindspore/communication/management.py +79 -7
  51. mindspore/context.py +58 -40
  52. mindspore/dataset/core/config.py +3 -3
  53. mindspore/dataset/engine/datasets.py +20 -7
  54. mindspore/dataset/engine/datasets_user_defined.py +33 -3
  55. mindspore/dataset/engine/iterators.py +2 -2
  56. mindspore/dataset/engine/obs/config_loader.py +2 -2
  57. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +8 -0
  58. mindspore/dataset/transforms/py_transforms.py +7 -3
  59. mindspore/dataset/transforms/transforms.py +7 -3
  60. mindspore/dataset/vision/validators.py +1 -0
  61. mindspore/device_context/ascend/device.py +1 -1
  62. mindspore/device_context/gpu/__init__.py +2 -2
  63. mindspore/device_context/gpu/device.py +1 -1
  64. mindspore/device_context/gpu/op_precision.py +4 -2
  65. mindspore/device_context/gpu/op_tuning.py +6 -3
  66. mindspore/device_manager.py +16 -9
  67. mindspore/dnnl.dll +0 -0
  68. mindspore/dpcmi.dll +0 -0
  69. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +3 -7
  70. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  71. mindspore/experimental/optim/adadelta.py +13 -20
  72. mindspore/experimental/optim/adagrad.py +15 -22
  73. mindspore/experimental/optim/adam.py +17 -24
  74. mindspore/experimental/optim/adamax.py +14 -22
  75. mindspore/experimental/optim/adamw.py +28 -34
  76. mindspore/experimental/optim/asgd.py +15 -25
  77. mindspore/experimental/optim/lr_scheduler.py +27 -45
  78. mindspore/experimental/optim/nadam.py +14 -24
  79. mindspore/experimental/optim/optimizer.py +13 -23
  80. mindspore/experimental/optim/radam.py +18 -24
  81. mindspore/experimental/optim/rmsprop.py +14 -25
  82. mindspore/experimental/optim/rprop.py +15 -26
  83. mindspore/experimental/optim/sgd.py +9 -19
  84. mindspore/hal/__init__.py +4 -4
  85. mindspore/hal/contiguous_tensors_handle.py +2 -2
  86. mindspore/hal/memory.py +27 -7
  87. mindspore/include/api/cell.h +37 -1
  88. mindspore/include/api/delegate.h +10 -0
  89. mindspore/include/api/model.h +3 -0
  90. mindspore/include/api/types.h +2 -2
  91. mindspore/include/c_api/model_c.h +0 -58
  92. mindspore/include/c_api/tensor_c.h +0 -26
  93. mindspore/include/dataset/vision_ascend.h +1 -1
  94. mindspore/jpeg62.dll +0 -0
  95. mindspore/mindrecord/tools/cifar10.py +60 -11
  96. mindspore/mindrecord/tools/cifar10_to_mr.py +5 -0
  97. mindspore/mindspore_backend_common.dll +0 -0
  98. mindspore/mindspore_backend_manager.dll +0 -0
  99. mindspore/mindspore_common.dll +0 -0
  100. mindspore/mindspore_core.dll +0 -0
  101. mindspore/mindspore_cpu_res_manager.dll +0 -0
  102. mindspore/mindspore_dump.dll +0 -0
  103. mindspore/mindspore_frontend.dll +0 -0
  104. mindspore/mindspore_glog.dll +0 -0
  105. mindspore/mindspore_memory_pool.dll +0 -0
  106. mindspore/mindspore_ms_backend.dll +0 -0
  107. mindspore/mindspore_ops.dll +0 -0
  108. mindspore/mindspore_ops_host.dll +0 -0
  109. mindspore/mindspore_ops_kernel_common.dll +0 -0
  110. mindspore/mindspore_profiler.dll +0 -0
  111. mindspore/mindspore_pyboost.dll +0 -0
  112. mindspore/mindspore_pynative.dll +0 -0
  113. mindspore/mindspore_res_manager.dll +0 -0
  114. mindspore/mindspore_runtime_pipeline.dll +0 -0
  115. mindspore/mint/__init__.py +6 -46
  116. mindspore/mint/distributed/__init__.py +1 -0
  117. mindspore/mint/distributed/distributed.py +212 -9
  118. mindspore/mint/nn/__init__.py +1 -1
  119. mindspore/mint/nn/functional.py +53 -6
  120. mindspore/mint/nn/layer/_functions.py +164 -294
  121. mindspore/mint/nn/layer/activation.py +8 -6
  122. mindspore/mint/nn/layer/conv.py +137 -101
  123. mindspore/mint/nn/layer/normalization.py +8 -22
  124. mindspore/mint/optim/adam.py +19 -18
  125. mindspore/mint/optim/adamw.py +14 -8
  126. mindspore/mint/optim/sgd.py +5 -5
  127. mindspore/msobj140.dll +0 -0
  128. mindspore/mspdb140.dll +0 -0
  129. mindspore/mspdbcore.dll +0 -0
  130. mindspore/mspdbst.dll +0 -0
  131. mindspore/mspft140.dll +0 -0
  132. mindspore/msvcdis140.dll +0 -0
  133. mindspore/msvcp140_1.dll +0 -0
  134. mindspore/msvcp140_2.dll +0 -0
  135. mindspore/msvcp140_atomic_wait.dll +0 -0
  136. mindspore/msvcp140_codecvt_ids.dll +0 -0
  137. mindspore/nn/cell.py +328 -502
  138. mindspore/nn/grad/cell_grad.py +11 -12
  139. mindspore/nn/layer/activation.py +32 -34
  140. mindspore/nn/layer/basic.py +67 -64
  141. mindspore/nn/layer/channel_shuffle.py +4 -4
  142. mindspore/nn/layer/combined.py +4 -2
  143. mindspore/nn/layer/conv.py +117 -110
  144. mindspore/nn/layer/dense.py +9 -7
  145. mindspore/nn/layer/embedding.py +50 -52
  146. mindspore/nn/layer/image.py +37 -39
  147. mindspore/nn/layer/math.py +111 -112
  148. mindspore/nn/layer/normalization.py +56 -44
  149. mindspore/nn/layer/pooling.py +58 -63
  150. mindspore/nn/layer/rnn_cells.py +33 -33
  151. mindspore/nn/layer/rnns.py +56 -56
  152. mindspore/nn/layer/thor_layer.py +74 -73
  153. mindspore/nn/layer/transformer.py +11 -1
  154. mindspore/nn/learning_rate_schedule.py +20 -20
  155. mindspore/nn/loss/loss.py +79 -81
  156. mindspore/nn/optim/adam.py +3 -3
  157. mindspore/nn/optim/adasum.py +2 -2
  158. mindspore/nn/optim/asgd.py +2 -0
  159. mindspore/nn/optim/optimizer.py +1 -1
  160. mindspore/nn/optim/thor.py +2 -2
  161. mindspore/nn/probability/distribution/exponential.py +2 -1
  162. mindspore/nn/probability/distribution/poisson.py +2 -1
  163. mindspore/nn/sparse/sparse.py +3 -3
  164. mindspore/nn/wrap/cell_wrapper.py +34 -37
  165. mindspore/nn/wrap/grad_reducer.py +37 -37
  166. mindspore/nn/wrap/loss_scale.py +72 -74
  167. mindspore/numpy/array_creations.py +5 -5
  168. mindspore/numpy/fft.py +1 -1
  169. mindspore/numpy/math_ops.py +5 -5
  170. mindspore/opencv_core452.dll +0 -0
  171. mindspore/opencv_imgcodecs452.dll +0 -0
  172. mindspore/opencv_imgproc452.dll +0 -0
  173. mindspore/ops/_grad_experimental/grad_comm_ops.py +51 -13
  174. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -0
  175. mindspore/ops/_vmap/vmap_array_ops.py +31 -13
  176. mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
  177. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +42 -11
  178. mindspore/ops/auto_generate/gen_extend_func.py +23 -141
  179. mindspore/ops/auto_generate/gen_ops_def.py +727 -321
  180. mindspore/ops/auto_generate/gen_ops_prim.py +1721 -984
  181. mindspore/ops/auto_generate/pyboost_inner_prim.py +31 -1
  182. mindspore/ops/composite/__init__.py +10 -0
  183. mindspore/ops/composite/base.py +8 -4
  184. mindspore/ops/composite/multitype_ops/__init__.py +12 -1
  185. mindspore/ops/composite/multitype_ops/_compile_utils.py +133 -109
  186. mindspore/ops/composite/multitype_ops/add_impl.py +70 -2
  187. mindspore/ops/composite/multitype_ops/div_impl.py +49 -0
  188. mindspore/ops/composite/multitype_ops/floordiv_impl.py +29 -0
  189. mindspore/ops/composite/multitype_ops/getitem_impl.py +11 -0
  190. mindspore/ops/composite/multitype_ops/mod_impl.py +5 -3
  191. mindspore/ops/composite/multitype_ops/mul_impl.py +49 -0
  192. mindspore/ops/composite/multitype_ops/setitem_impl.py +57 -0
  193. mindspore/ops/composite/multitype_ops/sub_impl.py +34 -0
  194. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +14 -0
  195. mindspore/ops/function/__init__.py +3 -1
  196. mindspore/ops/function/_add_attr_func.py +11 -6
  197. mindspore/ops/function/array_func.py +9 -96
  198. mindspore/ops/function/debug_func.py +4 -3
  199. mindspore/ops/function/grad/grad_func.py +1 -1
  200. mindspore/ops/function/math_func.py +33 -540
  201. mindspore/ops/function/nn_func.py +28 -74
  202. mindspore/ops/function/other_func.py +4 -1
  203. mindspore/ops/function/random_func.py +44 -5
  204. mindspore/ops/function/vmap_func.py +2 -1
  205. mindspore/ops/functional.py +2 -3
  206. mindspore/ops/functional_overload.py +571 -6
  207. mindspore/ops/op_info_register.py +21 -0
  208. mindspore/ops/operations/__init__.py +16 -11
  209. mindspore/ops/operations/_custom_ops_utils.py +689 -34
  210. mindspore/ops/operations/_inner_ops.py +3 -6
  211. mindspore/ops/operations/_sequence_ops.py +1 -1
  212. mindspore/ops/operations/array_ops.py +2 -2
  213. mindspore/ops/operations/comm_ops.py +185 -26
  214. mindspore/ops/operations/custom_ops.py +294 -174
  215. mindspore/ops/operations/debug_ops.py +59 -4
  216. mindspore/ops/operations/image_ops.py +13 -13
  217. mindspore/ops/operations/manually_defined/ops_def.py +15 -16
  218. mindspore/ops/operations/math_ops.py +3 -4
  219. mindspore/ops/operations/nn_ops.py +7 -39
  220. mindspore/ops/primitive.py +6 -10
  221. mindspore/ops/tensor_method.py +47 -8
  222. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +1 -1
  223. mindspore/ops_generate/api/functional_map_cpp_generator.py +10 -9
  224. mindspore/ops_generate/api/functions_cc_generator.py +58 -10
  225. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +1 -1
  226. mindspore/ops_generate/common/base_generator.py +14 -0
  227. mindspore/ops_generate/common/gen_constants.py +8 -3
  228. mindspore/ops_generate/common/gen_utils.py +0 -19
  229. mindspore/ops_generate/common/op_proto.py +11 -4
  230. mindspore/ops_generate/common/template.py +88 -11
  231. mindspore/ops_generate/gen_ops.py +1 -1
  232. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +4 -4
  233. mindspore/ops_generate/op_def/ops_def_cc_generator.py +0 -3
  234. mindspore/ops_generate/op_def/ops_name_h_generator.py +0 -3
  235. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +0 -4
  236. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -2
  237. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +49 -8
  238. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +2 -2
  239. mindspore/ops_generate/pyboost/gen_pyboost_func.py +31 -0
  240. mindspore/ops_generate/pyboost/op_template_parser.py +98 -72
  241. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +70 -273
  242. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +14 -6
  243. mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +316 -0
  244. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +1 -1
  245. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +5 -3
  246. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +1 -1
  247. mindspore/ops_generate/pyboost/pyboost_internal_functions_cpp_generator.py +76 -0
  248. mindspore/ops_generate/pyboost/pyboost_internal_functions_h_generator.py +76 -0
  249. mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +125 -0
  250. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +4 -3
  251. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +348 -61
  252. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +1 -1
  253. mindspore/ops_generate/pyboost/pyboost_utils.py +118 -9
  254. mindspore/ops_generate/tensor_py_cc_generator.py +1 -24
  255. mindspore/parallel/_auto_parallel_context.py +11 -8
  256. mindspore/parallel/_cell_wrapper.py +113 -45
  257. mindspore/parallel/_parallel_serialization.py +1 -1
  258. mindspore/parallel/_ps_context.py +4 -6
  259. mindspore/parallel/_tensor.py +167 -12
  260. mindspore/parallel/_transformer/moe.py +1 -1
  261. mindspore/parallel/_transformer/transformer.py +13 -8
  262. mindspore/parallel/auto_parallel.py +14 -7
  263. mindspore/parallel/checkpoint_convert.py +3 -3
  264. mindspore/parallel/checkpoint_transform.py +11 -7
  265. mindspore/parallel/cluster/process_entity/_api.py +84 -48
  266. mindspore/parallel/cluster/process_entity/_utils.py +95 -7
  267. mindspore/parallel/cluster/run.py +43 -4
  268. mindspore/parallel/function/__init__.py +8 -1
  269. mindspore/parallel/function/reshard_func.py +6 -7
  270. mindspore/parallel/nn/__init__.py +15 -2
  271. mindspore/parallel/nn/parallel_cell_wrapper.py +9 -10
  272. mindspore/parallel/nn/parallel_grad_reducer.py +7 -6
  273. mindspore/parallel/shard.py +3 -4
  274. mindspore/parallel/transform_safetensors.py +463 -174
  275. mindspore/pgodb140.dll +0 -0
  276. mindspore/pgort140.dll +0 -0
  277. mindspore/profiler/__init__.py +2 -1
  278. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -7
  279. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +3 -0
  280. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +12 -6
  281. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +3 -3
  282. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  283. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +4 -4
  284. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +3 -3
  285. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +4 -1
  286. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +2 -1
  287. mindspore/profiler/analysis/task_manager.py +1 -1
  288. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +5 -1
  289. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +2 -1
  290. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +42 -22
  291. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +3 -2
  292. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +9 -5
  293. mindspore/profiler/analysis/viewer/ms_operator_details_viewer.py +132 -0
  294. mindspore/profiler/common/constant.py +16 -0
  295. mindspore/profiler/common/profiler_context.py +25 -27
  296. mindspore/profiler/common/profiler_info.py +0 -16
  297. mindspore/profiler/common/profiler_op_analyse.py +235 -0
  298. mindspore/profiler/common/profiler_output_path.py +23 -8
  299. mindspore/profiler/common/profiler_parameters.py +128 -35
  300. mindspore/profiler/dynamic_profile/__init__.py +0 -0
  301. mindspore/profiler/dynamic_profile/dynamic_monitor_proxy.py +39 -0
  302. mindspore/profiler/dynamic_profile/dynamic_profiler_config_context.py +666 -0
  303. mindspore/profiler/dynamic_profile/dynamic_profiler_utils.py +62 -0
  304. mindspore/profiler/dynamic_profiler.py +305 -314
  305. mindspore/profiler/envprofiler.py +12 -7
  306. mindspore/profiler/experimental_config.py +96 -6
  307. mindspore/profiler/mstx.py +33 -12
  308. mindspore/profiler/platform/__init__.py +2 -3
  309. mindspore/profiler/platform/npu_profiler.py +29 -19
  310. mindspore/profiler/profiler.py +35 -19
  311. mindspore/profiler/profiler_action_controller.py +64 -76
  312. mindspore/profiler/schedule.py +10 -4
  313. mindspore/rewrite/common/config.py +1 -0
  314. mindspore/rewrite/common/namer.py +1 -0
  315. mindspore/rewrite/common/namespace.py +1 -0
  316. mindspore/rewrite/node/node.py +31 -11
  317. mindspore/rewrite/parsers/assign_parser.py +1 -1
  318. mindspore/rewrite/symbol_tree/symbol_tree.py +1 -1
  319. mindspore/run_check/_check_version.py +7 -10
  320. mindspore/runtime/__init__.py +5 -5
  321. mindspore/runtime/event.py +10 -4
  322. mindspore/runtime/executor.py +60 -45
  323. mindspore/runtime/memory.py +30 -32
  324. mindspore/runtime/thread_bind_core.py +298 -164
  325. mindspore/safeguard/rewrite_obfuscation.py +12 -13
  326. mindspore/swresample-4.dll +0 -0
  327. mindspore/swscale-6.dll +0 -0
  328. mindspore/tbbmalloc.dll +0 -0
  329. mindspore/tinyxml2.dll +0 -0
  330. mindspore/train/_utils.py +14 -4
  331. mindspore/train/amp.py +43 -20
  332. mindspore/train/callback/__init__.py +5 -5
  333. mindspore/train/callback/_checkpoint.py +3 -6
  334. mindspore/train/callback/_flops_collector.py +1 -1
  335. mindspore/train/callback/_landscape.py +0 -1
  336. mindspore/train/callback/_train_fault_tolerance.py +97 -16
  337. mindspore/train/data_sink.py +11 -2
  338. mindspore/train/dataset_helper.py +9 -0
  339. mindspore/train/model.py +135 -55
  340. mindspore/train/serialization.py +133 -111
  341. mindspore/train/summary/summary_record.py +13 -2
  342. mindspore/turbojpeg.dll +0 -0
  343. mindspore/utils/__init__.py +3 -2
  344. mindspore/utils/dryrun.py +0 -6
  345. mindspore/utils/runtime_execution_order_check.py +163 -77
  346. mindspore/utils/sdc_detect.py +68 -0
  347. mindspore/utils/utils.py +6 -9
  348. mindspore/vcmeta.dll +0 -0
  349. mindspore/vcruntime140.dll +0 -0
  350. mindspore/vcruntime140_1.dll +0 -0
  351. mindspore/version.py +1 -1
  352. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/METADATA +5 -4
  353. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/RECORD +356 -394
  354. mindspore/_deprecated/jit.py +0 -198
  355. mindspore/experimental/es/__init__.py +0 -22
  356. mindspore/experimental/es/embedding_service.py +0 -891
  357. mindspore/experimental/es/embedding_service_layer.py +0 -581
  358. mindspore/profiler/parser/__init__.py +0 -14
  359. mindspore/profiler/parser/aicpu_data_parser.py +0 -272
  360. mindspore/profiler/parser/ascend_analysis/__init__.py +0 -14
  361. mindspore/profiler/parser/ascend_analysis/constant.py +0 -71
  362. mindspore/profiler/parser/ascend_analysis/file_manager.py +0 -180
  363. mindspore/profiler/parser/ascend_analysis/function_event.py +0 -185
  364. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +0 -136
  365. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +0 -131
  366. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +0 -104
  367. mindspore/profiler/parser/ascend_analysis/path_manager.py +0 -313
  368. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +0 -123
  369. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +0 -86
  370. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +0 -75
  371. mindspore/profiler/parser/ascend_cluster_generator.py +0 -116
  372. mindspore/profiler/parser/ascend_communicate_generator.py +0 -314
  373. mindspore/profiler/parser/ascend_flops_generator.py +0 -116
  374. mindspore/profiler/parser/ascend_fpbp_generator.py +0 -82
  375. mindspore/profiler/parser/ascend_hccl_generator.py +0 -271
  376. mindspore/profiler/parser/ascend_integrate_generator.py +0 -42
  377. mindspore/profiler/parser/ascend_memory_generator.py +0 -185
  378. mindspore/profiler/parser/ascend_msprof_exporter.py +0 -282
  379. mindspore/profiler/parser/ascend_msprof_generator.py +0 -187
  380. mindspore/profiler/parser/ascend_op_generator.py +0 -334
  381. mindspore/profiler/parser/ascend_steptrace_generator.py +0 -94
  382. mindspore/profiler/parser/ascend_timeline_generator.py +0 -545
  383. mindspore/profiler/parser/base_timeline_generator.py +0 -483
  384. mindspore/profiler/parser/container.py +0 -229
  385. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +0 -697
  386. mindspore/profiler/parser/flops_parser.py +0 -531
  387. mindspore/profiler/parser/framework_enum.py +0 -111
  388. mindspore/profiler/parser/framework_parser.py +0 -464
  389. mindspore/profiler/parser/framework_struct.py +0 -61
  390. mindspore/profiler/parser/gpu_analysis/__init__.py +0 -14
  391. mindspore/profiler/parser/gpu_analysis/function_event.py +0 -44
  392. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +0 -89
  393. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +0 -72
  394. mindspore/profiler/parser/hccl_parser.py +0 -573
  395. mindspore/profiler/parser/hwts_log_parser.py +0 -122
  396. mindspore/profiler/parser/integrator.py +0 -526
  397. mindspore/profiler/parser/memory_usage_parser.py +0 -277
  398. mindspore/profiler/parser/minddata_analyzer.py +0 -800
  399. mindspore/profiler/parser/minddata_parser.py +0 -186
  400. mindspore/profiler/parser/minddata_pipeline_parser.py +0 -299
  401. mindspore/profiler/parser/op_intermediate_parser.py +0 -149
  402. mindspore/profiler/parser/optime_parser.py +0 -250
  403. mindspore/profiler/parser/profiler_info.py +0 -213
  404. mindspore/profiler/parser/step_trace_parser.py +0 -666
  405. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/WHEEL +0 -0
  406. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/entry_points.txt +0 -0
  407. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/top_level.txt +0 -0
@@ -37,6 +37,13 @@ class FunctionsHeaderGenerator(BaseGenerator):
37
37
  """
38
38
  self.FUNCTIONS_H_TEMPLATE = template.FUNCTIONS_H_TEMPLATE
39
39
  self.function_interface_template = Template("${return_type} BACKEND_EXPORT ${op_name}(${input_args});")
40
+ self.function_interface_template_comm = Template(
41
+ "${return_type} BACKEND_EXPORT ${op_name}_inner(${input_args}," \
42
+ "CommHandlePtr comm_handle, const std::string& target);"
43
+ )
44
+ self.function_interface_template_comm_return_handle = Template(
45
+ "${return_type_with_handle} BACKEND_EXPORT ${op_name}(${input_args});"
46
+ )
40
47
 
41
48
  def generate(self, work_path, op_protos):
42
49
  """
@@ -48,14 +55,30 @@ class FunctionsHeaderGenerator(BaseGenerator):
48
55
  """
49
56
  functions_list = []
50
57
  for op_proto in op_protos:
51
- if op_proto.op_dispatch is None or op_proto.op_dispatch.is_comm_op:
58
+ if op_proto.op_dispatch is None:
52
59
  continue
53
60
  input_args_with_type_str = self._get_input_args(op_proto)
54
61
  return_type_str = _get_return_type_str(op_proto)
55
- functions = self.function_interface_template.replace(op_name=op_proto.op_name,
56
- input_args=input_args_with_type_str,
57
- return_type=return_type_str)
62
+ function_template = (
63
+ self.function_interface_template
64
+ if not op_proto.op_dispatch.is_comm_op
65
+ else self.function_interface_template_comm
66
+ )
67
+ functions = function_template.replace(op_name=op_proto.op_name,
68
+ input_args=input_args_with_type_str,
69
+ return_type=return_type_str)
58
70
  functions_list.append(functions)
71
+ if op_proto.op_dispatch.is_comm_op:
72
+ return_type_with_handle = _get_return_type_with_handle_str(return_type_str)
73
+ functions_with_handle = (
74
+ self.function_interface_template_comm_return_handle.replace(
75
+ op_name=op_proto.op_name,
76
+ input_args=input_args_with_type_str,
77
+ return_type=return_type_str,
78
+ return_type_with_handle=return_type_with_handle,
79
+ )
80
+ )
81
+ functions_list.append(functions_with_handle)
59
82
  pyboost_func_h_str = self.FUNCTIONS_H_TEMPLATE.replace(op_call_with_grad=functions_list)
60
83
  save_path = os.path.join(work_path, K.MS_PYBOOST_FUNCTIONS_AUTO_GEN_PATH)
61
84
  file_name = "functions.h"
@@ -73,7 +96,7 @@ class FunctionsHeaderGenerator(BaseGenerator):
73
96
  """
74
97
  args_list = []
75
98
  for op_arg in op_proto.op_args:
76
- input_dtype = get_input_dtype(op_arg.arg_dtype, is_optional_param(op_arg))
99
+ input_dtype = get_input_dtype(op_arg.arg_dtype, is_optional_param(op_arg), op_proto.op_view)
77
100
  args_list.append("const " + input_dtype + " &" + op_arg.arg_name)
78
101
  return args_list
79
102
 
@@ -89,12 +112,19 @@ class FunctionsGenerator(BaseGenerator):
89
112
  """
90
113
  self.FUNCTIONS_CC_TEMPLATE = template.FUNCTIONS_CC_TEMPLATE
91
114
  self.FUNCTION_BODY_TEMPLATE = template.FUNCTION_BODY_TEMPLATE
115
+ self.FUNCTION_COMM_BODY_TEMPLATE = template.FUNCTION_COMM_BODY_TEMPLATE
92
116
  self.pyboost_func_include_header_template = Template(
93
117
  f'#include "{K.MS_PYBOOST_BASE_PATH}/auto_generate/${{operator_name}}.h"\n'
94
118
  )
95
119
  self.clone_inplace_input_template = Template(
96
120
  'GetCloneFunc()(op, prim::kPrim${class_name}, device_target, {${grad_args}});'
97
121
  )
122
+ self.create_aclnn_op_template = Template(
123
+ 'auto op = CREATE_PYBOOST_OP(${class_name}, device_target);'
124
+ )
125
+ self.create_internal_op_template = Template(
126
+ 'auto op = CREATE_PYBOOST_SELECTED_OP(${class_name}, device_target);'
127
+ )
98
128
 
99
129
  def generate(self, work_path, op_protos):
100
130
  """
@@ -108,7 +138,7 @@ class FunctionsGenerator(BaseGenerator):
108
138
  op_call_with_grad_list = []
109
139
  ops_inc_head_set = set()
110
140
  for op_proto in op_protos:
111
- if op_proto.op_dispatch is None or op_proto.op_dispatch.is_comm_op:
141
+ if op_proto.op_dispatch is None:
112
142
  continue
113
143
  func_include_headers_list.append(
114
144
  self.pyboost_func_include_header_template.replace(operator_name=op_proto.op_name))
@@ -137,8 +167,22 @@ class FunctionsGenerator(BaseGenerator):
137
167
  inplace_clone_args = self._get_clone_input_args(op_proto, False, False)
138
168
  clone_func_str = self._get_clone_inplace_str(op_proto.op_inplace, op_proto.op_class.name, inplace_clone_args)
139
169
  return_type_str = _get_return_type_str(op_proto)
170
+ if op_proto.op_dispatch.is_comm_op:
171
+ return_type_with_handle = _get_return_type_with_handle_str(return_type_str)
172
+ comm_body = self.FUNCTION_COMM_BODY_TEMPLATE.replace(op_name=op_proto.op_name,
173
+ class_name=op_proto.op_class.name,
174
+ input_args=input_args,
175
+ clone_func=clone_func_str,
176
+ input_args_with_type=input_args_with_type,
177
+ return_type=return_type_str,
178
+ return_type_with_handle=return_type_with_handle)
179
+ return comm_body
180
+ create_op_str = self.create_aclnn_op_template.replace(class_name=op_proto.op_class.name)
181
+ if getattr(op_proto.op_dispatch, 'internal_op_ascend') != 'None':
182
+ create_op_str = self.create_internal_op_template.replace(class_name=op_proto.op_class.name)
140
183
  return self.FUNCTION_BODY_TEMPLATE.replace(op_name=op_proto.op_name,
141
184
  class_name=op_proto.op_class.name,
185
+ create_op=create_op_str,
142
186
  input_args=input_args,
143
187
  clone_func=clone_func_str,
144
188
  input_args_with_type=input_args_with_type,
@@ -157,7 +201,7 @@ class FunctionsGenerator(BaseGenerator):
157
201
  """
158
202
  args_list = []
159
203
  for op_arg in op_proto.op_args:
160
- input_dtype = get_input_dtype(op_arg.arg_dtype, is_optional_param(op_arg))
204
+ input_dtype = get_input_dtype(op_arg.arg_dtype, is_optional_param(op_arg), op_proto.op_view)
161
205
  if has_type:
162
206
  args_list.append("const " + input_dtype + " &" + op_arg.arg_name)
163
207
  else:
@@ -194,7 +238,7 @@ class FunctionsGenerator(BaseGenerator):
194
238
  """
195
239
  args_list = []
196
240
  for op_arg in op_proto.op_args:
197
- input_dtype = get_input_dtype(op_arg.arg_dtype, is_optional_param(op_arg))
241
+ input_dtype = get_input_dtype(op_arg.arg_dtype, is_optional_param(op_arg), op_proto.op_view)
198
242
  if has_type:
199
243
  args_list.append(f"const {input_dtype} &{op_arg.arg_name}")
200
244
  else:
@@ -205,6 +249,10 @@ class FunctionsGenerator(BaseGenerator):
205
249
  return args_list
206
250
 
207
251
 
252
+ def _get_return_type_with_handle_str(return_type_str):
253
+ return f"std::tuple<{return_type_str}, CommHandlePtr>"
254
+
255
+
208
256
  def _get_return_type_str(op_proto):
209
257
  """
210
258
  Get the return type string for the function.
@@ -217,8 +265,8 @@ def _get_return_type_str(op_proto):
217
265
  """
218
266
  returns_type = []
219
267
  type_convert_to_base = {
220
- 'std::vector<mindspore::tensor::TensorPtr>': 'std::vector<mindspore::tensor::BaseTensorPtr>',
221
- 'mindspore::tensor::TensorPtr': 'mindspore::tensor::BaseTensorPtr'
268
+ 'std::vector<mindspore::tensor::TensorPtr>': 'std::vector<mindspore::tensor::TensorPtr>',
269
+ 'mindspore::tensor::TensorPtr': 'mindspore::tensor::TensorPtr'
222
270
  }
223
271
  for return_obj in op_proto.op_returns:
224
272
  temp_return = get_return_type(return_obj.arg_dtype)
@@ -81,7 +81,7 @@ class TensorFuncRegCppGenerator(BaseGenerator):
81
81
  'MS_LOG(INFO) << "Call Tensor${class_name}";\n'
82
82
  'auto res = mindspore::pynative::'
83
83
  '${pyboost_function}(mindspore::prim::kPrim${class_name}, parse_args.src_types_, ${convert_args});\n'
84
- 'trace::Capture(parse_args.arg_list_, "${class_name}", &res);\n'
84
+ 'trace::Capture(parse_args.arg_list_, mindspore::prim::kPrim${class_name}, &res);\n'
85
85
  'return res;\n'
86
86
  )
87
87
  self.callback_python_template = Template(
@@ -1,3 +1,17 @@
1
+ # Copyright 2025 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
+ # ============================================================================
1
15
  """
2
16
  Base generator interface for other pyboost file generator classes
3
17
  """
@@ -54,14 +54,14 @@ ADD_MINT_DOCS_PY_PATH = "mindspore/python/mindspore/mint"
54
54
  TENSOR_PY_CC_PATH = "mindspore/ccsrc/pybind_api/ir/tensor_register/auto_generate"
55
55
 
56
56
  # yaml keys def
57
- OP_KEYS = {'args', 'args_signature', 'returns', 'function',
58
- 'class', 'view', 'dispatch', 'labels', 'bprop_expander'}
57
+ OP_KEYS = {'args', 'args_signature', 'returns', 'function', 'class', 'view', 'graph_view', 'dispatch', 'labels',
58
+ 'bprop_expander', 'non-differentiable'}
59
59
  ARG_KEYS = {'dtype', 'default', 'prim_init', 'type_cast', 'arg_handler'}
60
60
  RETURN_KEYS = {'dtype', 'inplace', 'type_cast'}
61
61
  ARG_SIGNATURE_KEYS = {'rw_write', 'rw_read', 'rw_ref', 'dtype_group'}
62
62
  CLASS_KEYS = {'name', 'disable'}
63
63
  FUNCTION_KEYS = {'name', 'disable'}
64
- DISPATCH_KEYS = {'enable', 'is_comm_op', 'Ascend', 'GPU', 'CPU'}
64
+ DISPATCH_KEYS = {'enable', 'is_comm_op', 'Ascend', 'InternalOpAscend', 'GPU', 'CPU'}
65
65
  TENSOR_FUNC_KEYS = {'op_yaml', 'py_method', 'kwonlyargs',
66
66
  'varargs', 'alias', 'Ascend', 'GPU', 'CPU', 'interface'}
67
67
 
@@ -89,3 +89,8 @@ MS_OPS_KERNEL_PATH = "mindspore/ops/kernel"
89
89
  MS_PYBOOST_FUNCTIONS_AUTO_GEN_PATH = "mindspore/ccsrc/pyboost/functions/auto_generate"
90
90
  MS_COMMON_PYBOOST_KERNEL_PATH = os.path.join(MS_OPS_KERNEL_PATH, "common/pyboost")
91
91
  MS_PYBOOST_BASE_PATH = "mindspore/ccsrc/pyboost"
92
+ MS_PYBOOST_INTERNAL_FUNCTIONS_AUTO_GEN_PATH = os.path.join(MS_OPS_KERNEL_PATH,
93
+ "ascend/pyboost/internal/functions")
94
+ MS_INTERNAL_PYBOOST_GEN_PATH = "mindspore/ccsrc/plugin/device/ascend/kernel/internal/pyboost/auto_gen"
95
+ MS_PLUGIN_INTERNAL_PATH = "mindspore/ccsrc/plugin/device/ascend/kernel/internal"
96
+ MS_OPS_PYBOOST_INTERNAL = "mindspore/ops/kernel/ascend/pyboost/internal"
@@ -121,25 +121,6 @@ def merge_files(origin_dir, merged_file_path, file_format):
121
121
  merge_files_to_one_file(op_yaml_file_names, merged_file_path)
122
122
 
123
123
 
124
- def merge_files_append(origin_dir, merged_file_path, file_format):
125
- """
126
- Merge multiple files into one file.
127
- origin_dir: indicates the origin file directory.
128
- merged_file_path: indicates the merged file path.
129
- file_format: indicates the format of regular matching.
130
- Files whose names meet the regular matching in 'origin_dir' directory will be merged into one file.
131
- """
132
- file_paths = glob.glob(os.path.join(origin_dir, file_format))
133
- merged_content = ''
134
- file_paths.sort()
135
- for file_path in file_paths:
136
- with open(file_path, 'r') as file:
137
- merged_content += file.read()
138
- merged_content += '\n'
139
- with open(merged_file_path, 'a') as file:
140
- file.write(merged_content)
141
-
142
-
143
124
  def safe_load_yaml(yaml_file_path):
144
125
  """
145
126
  Load yaml dictionary from file.
@@ -112,10 +112,12 @@ class OpDispatch:
112
112
  gpu (str): The dispatch type for the GPU.
113
113
  """
114
114
 
115
- def __init__(self, enable=False, is_comm_op=False, ascend='default', cpu='default', gpu='default'):
115
+ def __init__(self, enable=False, is_comm_op=False, ascend='default',
116
+ internal_op_ascend='None', cpu='default', gpu='default'):
116
117
  self.enable = enable
117
118
  self.is_comm_op = is_comm_op
118
119
  self.ascend = ascend
120
+ self.internal_op_ascend = internal_op_ascend
119
121
  self.cpu = cpu
120
122
  self.gpu = gpu
121
123
 
@@ -151,7 +153,8 @@ class OpProto:
151
153
  op_inplace=False,
152
154
  op_labels=None,
153
155
  op_deprecated=None,
154
- bprop_expander=True):
156
+ bprop_expander=True,
157
+ non_differentiable=False):
155
158
  self.op_name = op_name
156
159
  self.op_args = op_args
157
160
  self.op_function = op_function
@@ -165,6 +168,7 @@ class OpProto:
165
168
  self.op_labels = op_labels
166
169
  self.op_deprecated = op_deprecated
167
170
  self.bprop_expander = bprop_expander
171
+ self.non_differentiable = non_differentiable
168
172
 
169
173
  @staticmethod
170
174
  def load_from_yaml(op_name, op_data):
@@ -208,10 +212,12 @@ class OpProto:
208
212
  # get op deprecated
209
213
  op_deprecated = op_data.get('deprecated', None)
210
214
  bprop_expander = op_data.get('bprop_expander', True)
215
+ non_differentiable = op_data.get('non-differentiable', False)
211
216
  op_proto = OpProto(op_name=op_name, op_args=op_args, op_returns=op_returns, op_function=op_function,
212
217
  op_class=op_class, op_dispatch=op_dispatch, op_args_signature=op_args_signature,
213
218
  op_view=op_view, op_graph_view=op_graph_view, op_inplace=op_inplace, op_labels=op_labels,
214
- op_deprecated=op_deprecated, bprop_expander=bprop_expander)
219
+ op_deprecated=op_deprecated, bprop_expander=bprop_expander,
220
+ non_differentiable=non_differentiable)
215
221
  return op_proto
216
222
 
217
223
 
@@ -401,9 +407,10 @@ def get_op_dispatch(op_name, op_data):
401
407
  f'The dispatch enable value should be bool, but get {type(enable)}, op name is {op_name}.')
402
408
  is_comm_op = op_dispatch.get('is_comm_op', False)
403
409
  ascend = op_dispatch.get('Ascend', 'default')
410
+ internal_op_ascend = op_dispatch.get('InternalOpAscend', 'None')
404
411
  cpu = op_dispatch.get('CPU', 'default')
405
412
  gpu = op_dispatch.get('GPU', 'default')
406
- return OpDispatch(enable, is_comm_op, ascend, cpu, gpu)
413
+ return OpDispatch(enable, is_comm_op, ascend, internal_op_ascend, cpu, gpu)
407
414
 
408
415
 
409
416
  def get_op_class(op_name, op_data) -> OpClass:
@@ -93,7 +93,6 @@ ${func_impl_name}_impl = _Pyboost${class_name}Prim()
93
93
  """)
94
94
 
95
95
  IMPORT_PYBOOST_PRIM_HEADER = f"""
96
- from mindspore.common._stub_tensor import _convert_stub
97
96
  from mindspore.ops._utils.arg_handler import *
98
97
  """
99
98
 
@@ -118,19 +117,89 @@ REGISTER_PYBOOST_GRAD_DEFINE_TEMPLATE = Template(
118
117
  REGISTER_PYBOOST_GRAD_TEMPLATE = Template("${register_func}")
119
118
 
120
119
  PYBOOST_FUNCTION_HEADER_TEMPLATE = Template.load_from_file(
121
- os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_functions_h.tpl'))
120
+ os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_api_h.tpl'))
122
121
 
123
- PYBOOST_FUNCTION_TEMPLATE = Template.load_from_file(
124
- os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_function.tpl'))
122
+ PYBOOST_CORE_HEADER_TEMPLATE = Template.load_from_file(
123
+ os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_core_header.tpl'))
124
+ PYBOOST_INTERNAL_OP_HEADER_TEMPLATE = Template.load_from_file(
125
+ os.path.join(K.WORK_DIR,
126
+ f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/internal/template/pyboost_internal_header_template.tpl'))
127
+
128
+ PYBOOST_INTERNAL_SINGLE_OP_HEADER_TEMPLATE = Template.load_from_file(
129
+ os.path.join(K.WORK_DIR,
130
+ f'./{K.MS_OPS_PYBOOST_INTERNAL}/template/pyboost_internal_single_op_header_template.tpl'))
131
+
132
+ PYBOOST_INTERNAL_SINGLE_OP_SOURCE_TEMPLATE = Template.load_from_file(
133
+ os.path.join(K.WORK_DIR,
134
+ f'./{K.MS_OPS_PYBOOST_INTERNAL}/template/pyboost_internal_single_op_source_template.tpl'))
135
+
136
+ PYBOOST_INTERNAL_SINGLE_OP_CUSTOMIZE_TEMPLATE = Template.load_from_file(
137
+ os.path.join(K.WORK_DIR,
138
+ f'./{K.MS_OPS_PYBOOST_INTERNAL}/template/pyboost_internal_single_op_customize_source_template.tpl'))
139
+
140
+ PYBOOST_INTERNAL_OP_SOURCE_TEMPLATE = Template.load_from_file(
141
+ os.path.join(K.WORK_DIR,
142
+ f'./{K.MS_OPS_PYBOOST_INTERNAL}/template/pyboost_internal_source_template.tpl'))
143
+
144
+ PYBOOST_INTERNAL_FUNCTION_HEADER_TEMPLATE = Template.load_from_file(
145
+ os.path.join(K.WORK_DIR,
146
+ f'{K.MS_OPS_PYBOOST_INTERNAL}/template/pyboost_internal_functions_header_template.tpl'))
147
+
148
+ PYBOOST_INTERNAL_FUNCTION_SOURCE_TEMPLATE = Template.load_from_file(
149
+ os.path.join(K.WORK_DIR,
150
+ f'{K.MS_OPS_PYBOOST_INTERNAL}/template/pyboost_internal_functions_source_template.tpl'))
151
+
152
+ PYBOOST_INTERNAL_FUNCTION_TEMPLATE = Template.load_from_file(
153
+ os.path.join(K.WORK_DIR,
154
+ f'{K.MS_OPS_PYBOOST_INTERNAL}/template/pyboost_internal_function_template.tpl'))
155
+
156
+ PYBOOST_KERNEL_INFO_ADAPTER_TEMPLATE = Template.load_from_file(
157
+ os.path.join(K.WORK_DIR,
158
+ f'{K.MS_PLUGIN_INTERNAL_PATH}/pyboost/template/kernel_info_adapter.tpl'))
159
+
160
+ PYBOOST_KERNEL_INFO_ADAPTER_H_TEMPLATE = Template.load_from_file(
161
+ os.path.join(K.WORK_DIR,
162
+ f'{K.MS_PLUGIN_INTERNAL_PATH}/pyboost/template/kernel_info_adapter_h.tpl'))
163
+
164
+ PYBOOST_INTERNAL_KERNEL_INFO_ADAPTER_H_TEMPLATE = Template.load_from_file(
165
+ os.path.join(K.WORK_DIR,
166
+ f'{K.MS_PLUGIN_INTERNAL_PATH}/pyboost/template/internal_kernel_info_adapter_h.tpl'))
167
+
168
+ PYBOOST_INTERNAL_KERNEL_INFO_ADAPTER_TEMPLATE = Template.load_from_file(
169
+ os.path.join(K.WORK_DIR,
170
+ f'{K.MS_PLUGIN_INTERNAL_PATH}/pyboost/template/internal_kernel_info_adapter.tpl'))
171
+
172
+ PYBOOST_INTERNAL_KERNEL_INFO_ADAPTER_CPP_TEMPLATE = Template.load_from_file(
173
+ os.path.join(K.WORK_DIR,
174
+ f'{K.MS_PLUGIN_INTERNAL_PATH}/pyboost/template/internal_kernel_info_adapter_cpp.tpl'))
175
+
176
+ PYBOOST_INTERNAL_KERNEL_INFO_ADAPTER_SINGLE_CPP_TEMPLATE = Template.load_from_file(
177
+ os.path.join(K.WORK_DIR,
178
+ f'{K.MS_PLUGIN_INTERNAL_PATH}/pyboost/template/internal_kernel_info_adapter_single_cpp.tpl'))
125
179
 
126
- PYBOOST_COMM_FUNCTION_TEMPLATE = Template.load_from_file(
127
- os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_comm_function.tpl'))
180
+ PYBOOST_REGISTRY_BODY_CC_TEMPLATE = Template.load_from_file(
181
+ os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_registry_body_cc.tpl'))
128
182
 
129
- PYBOOST_FUNCTION_DYNAMIC_OUTPUT_TEMPLATE = Template.load_from_file(
130
- os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_function_dynamic_output.tpl'))
183
+ PYBOOST_CORE_BODY_TEMPLATE = Template.load_from_file(
184
+ os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_core_body.tpl'))
131
185
 
132
- PYBOOST_FUNCTIONS_CC_TEMPLATE = Template.load_from_file(
133
- os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_functions_cc.tpl'))
186
+ PYBOOST_CORE_BODY_COMM_TEMPLATE = Template.load_from_file(
187
+ os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_core_body_comm.tpl'))
188
+
189
+ PYBOOST_CORE_BODY_SYNC_TEMPLATE = Template.load_from_file(
190
+ os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_core_body_sync.tpl'))
191
+
192
+ PYBOOST_REGISTRY_CC_TEMPLATE = Template.load_from_file(
193
+ os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_registry_cc.tpl'))
194
+
195
+ PYBOOST_API_CC_TEMPLATE = Template.load_from_file(
196
+ os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_api_cc.tpl'))
197
+
198
+ PYBOOST_API_BODY_CC_TEMPLATE = Template.load_from_file(
199
+ os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_api_body_cc.tpl'))
200
+
201
+ PYBOOST_CORE_CC_TEMPLATE = Template.load_from_file(
202
+ os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_core_cc.tpl'))
134
203
 
135
204
  PYBOOST_OVERLOAD_FUNCTIONS_CC_TEMPLATE = Template.load_from_file(
136
205
  os.path.join(
@@ -213,6 +282,10 @@ PYBOOST_OP_REGISTER_TEMPLATE = Template.load_from_file(
213
282
  PYBOOST_ASCEND_OP_HEADER_TEMPLATE = Template.load_from_file(
214
283
  os.path.join(K.WORK_DIR,
215
284
  f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_header_template.tpl'))
285
+ PYBOOST_ASCEND_INTERNAL_OP_HEADER_TEMPLATE = Template.load_from_file(
286
+ os.path.join(K.WORK_DIR,
287
+ f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/internal/template/pyboost_internal_header_template.tpl')
288
+ )
216
289
 
217
290
  PYBOOST_ASCEND_OP_SOURCE_TEMPLATE = Template.load_from_file(
218
291
  os.path.join(K.WORK_DIR,
@@ -226,6 +299,8 @@ PYBOOST_ASCEND_SINGLE_HCLL_OP_HEADER_TEMPLATE = Template.load_from_file(
226
299
  os.path.join(K.WORK_DIR,
227
300
  f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_single_hccl_op_header_template.tpl'))
228
301
 
302
+ PYBOOST_CALL_FUNC_TEMPLATE = Template('${return_type} Call(${call_args_with_type}) override;')
303
+
229
304
  PYBOOST_ASCEND_SINGLE_OP_SOURCE_TEMPLATE = Template.load_from_file(
230
305
  os.path.join(K.WORK_DIR,
231
306
  f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_single_op_source_template.tpl'))
@@ -373,7 +448,6 @@ from mindspore.ops._primitive_cache import _get_cache_prim
373
448
  from mindspore.ops._utils.arg_dtype_cast import type_it
374
449
  from mindspore.ops._utils.arg_handler import *
375
450
  from mindspore._c_expression import OpDtype
376
- from mindspore.common._stub_tensor import _convert_stub
377
451
  from mindspore.common.jit_context import jit_context
378
452
  from mindspore._checkparam import is_stub_tensor
379
453
  """
@@ -509,6 +583,9 @@ FUNCTIONS_CC_TEMPLATE = Template.load_from_file(
509
583
  FUNCTION_BODY_TEMPLATE = Template.load_from_file(
510
584
  os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/function_body.tpl'))
511
585
 
586
+ FUNCTION_COMM_BODY_TEMPLATE = Template.load_from_file(
587
+ os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/comm_function_body.tpl'))
588
+
512
589
  FUNCTIONS_H_TEMPLATE = Template.load_from_file(
513
590
  os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/functions_h.tpl'))
514
591
 
@@ -47,6 +47,6 @@ def main():
47
47
  if __name__ == "__main__":
48
48
  try:
49
49
  main()
50
- except Exception as e: # pylint: disable=broad-except
50
+ except Exception as e:
51
51
  logging.critical("Auto generate failed, err info: %s", e)
52
52
  raise e
@@ -24,7 +24,6 @@ import common.template as template
24
24
  from common.base_generator import BaseGenerator
25
25
  from pyboost import pyboost_utils
26
26
 
27
-
28
27
  LITE_OPS_H = """
29
28
  #ifndef MINDSPORE_CORE_OPS_GEN_LITE_OPS_H_
30
29
  #define MINDSPORE_CORE_OPS_GEN_LITE_OPS_H_
@@ -122,9 +121,10 @@ class LiteOpsCcGenerator(BaseGenerator):
122
121
  self.inc_ops_head_templat = template.Template(INC_OPS_HEAD)
123
122
  self.lite_ops_cc_template = template.Template(LITE_OPS_CC)
124
123
  self.op_template = template.op_template
125
- self.register_primitive_c_template = template.Template("${op_name}::${op_name}():BaseOperator(kName${op_name}) {}\n"
126
- "REGISTER_PRIMITIVE_C(kName${op_name}, ${op_name});\n"
127
- "MIND_API_OPERATOR_IMPL(${op_name}, BaseOperator);\n\n")
124
+ self.register_primitive_c_template = template.Template(
125
+ "${op_name}::${op_name}():BaseOperator(kName${op_name}) {}\n"
126
+ "REGISTER_PRIMITIVE_C(kName${op_name}, ${op_name});\n"
127
+ "MIND_API_OPERATOR_IMPL(${op_name}, BaseOperator);\n\n")
128
128
 
129
129
  def generate(self, work_path, op_protos):
130
130
  """
@@ -101,9 +101,6 @@ class OpsDefCcGenerator(BaseGenerator):
101
101
  is_graph_view=is_graph_view,
102
102
  func_impl_declaration=func_impl_declaration_str,
103
103
  func_impl_define=func_impl_define)
104
- if op_proto.op_view:
105
- view_op_def = op_def_cc.replace(class_name, class_name + "View")
106
- op_def_cc += view_op_def
107
104
 
108
105
  if "deprecated" not in operator_name:
109
106
  gen_cc_list.append(op_def_cc)
@@ -19,15 +19,12 @@ This module defines the `OpsNameHGenerator` class, which produces C++ code to de
19
19
  constants for operator names based on given prototypes.
20
20
  """
21
21
 
22
- import os
23
-
24
22
  import common.gen_constants as K
25
23
  import common.gen_utils as gen_utils
26
24
  import common.template as template
27
25
  from common.base_generator import BaseGenerator
28
26
  from pyboost import pyboost_utils
29
27
 
30
-
31
28
  OP_NAME_OP_DEF = """
32
29
  #ifndef MINDSPORE_CORE_OP_NAME_${suffix}_H_
33
30
  #define MINDSPORE_CORE_OP_NAME_${suffix}_H_
@@ -19,15 +19,12 @@ This module defines the `OpsPrimitiveHGenerator` class, which creates C++ header
19
19
  containing definitions for operator primitives based on provided operator prototypes.
20
20
  """
21
21
 
22
- import os
23
-
24
22
  import common.gen_constants as K
25
23
  import common.gen_utils as gen_utils
26
24
  import common.template as template
27
25
  from common.base_generator import BaseGenerator
28
26
  from pyboost import pyboost_utils
29
27
 
30
-
31
28
  OP_PRIM_OP_DEF_H = """
32
29
  #ifndef MINDSPORE_CORE_OPS_GEN_OPS_PRIMITIVE_${suffix}_H_
33
30
  #define MINDSPORE_CORE_OPS_GEN_OPS_PRIMITIVE_${suffix}_H_
@@ -42,7 +39,6 @@ $ops_prim_gen
42
39
  #endif // MINDSPORE_CORE_OPS_GEN_OPS_PRIMITIVE_${suffix}_H_
43
40
  """
44
41
 
45
-
46
42
  OP_PRIM_OP_DEF_CC = """
47
43
 
48
44
  #include "$auto_gen_path/gen_ops_primitive_${suffix}.h"
@@ -142,7 +142,10 @@ class OpPrimPyGenerator(BaseGenerator):
142
142
  # step1.3: get args set prim arg expression:
143
143
  assign_str = self._get_assign_str_by_type_it(op_proto.op_class.name, arg)
144
144
  if arg.arg_handler:
145
- assign_str = f""" self._set_prim_arg_with_handler("{arg.arg_name}", {assign_str}, {arg.arg_handler})"""
145
+ assign_str = (
146
+ f' self._set_prim_arg_with_handler('
147
+ f'"{arg.arg_name}", {assign_str}, {arg.arg_handler})'
148
+ )
146
149
  else:
147
150
  assign_str = f""" self._set_prim_arg("{arg.arg_name}", {assign_str})"""
148
151
  args_assign.append(assign_str)
@@ -318,7 +321,7 @@ class OpPrimPyGenerator(BaseGenerator):
318
321
  call_method_body_str += f"""
319
322
  # Add for jit context.
320
323
  if jit_context() and jit_context().compiled:
321
- return None"""
324
+ return jit_context().default_output()"""
322
325
  pyboost_func_name = pyboost_utils.get_pyboost_name(op_proto.op_name)
323
326
  call_method_body_str += f"""
324
327
  res = {pyboost_func_name}(self, [{call_args_list_str}])"""
@@ -58,7 +58,7 @@ class AutoGradImplGenerator(BaseGenerator):
58
58
  do_grad_op_list = []
59
59
  ops_inc_head_set = set()
60
60
  for op_proto in op_protos:
61
- if op_proto.op_dispatch is None or op_proto.op_dispatch.is_comm_op:
61
+ if op_proto.op_dispatch is None:
62
62
  continue
63
63
  auto_grad_reg_list.append(self.auto_grad_reg_template.replace(class_name=op_proto.op_class.name))
64
64
  do_grad_op_list.append(self._get_single_do_grad_op(op_proto))
@@ -80,24 +80,38 @@ class AutoGradImplGenerator(BaseGenerator):
80
80
  Returns:
81
81
  str: The generated DoGrad function string.
82
82
  """
83
- input_args_str = self._get_input_args(op_proto, False, False)
84
- input_args_with_optional_str = self._get_input_args(op_proto, False, True)
85
- input_args_with_type_str = self._get_input_args(op_proto, True, False)
83
+ input_args_str = self._get_input_args(op_proto, False, False, op_proto.op_view)
84
+ input_args_with_optional_str = self._get_input_args(op_proto, False, True, op_proto.op_view)
85
+ input_args_with_type_str = self._get_input_args(op_proto, True, False, op_proto.op_view)
86
+ inner_grad_args_with_type = self._get_input_args(op_proto, True, False, False)
86
87
  multi_output_str = 'Multi' if is_op_multi_output(op_proto.op_returns) else ''
87
88
  view_arg_str = self._get_view_str(op_proto.op_view, input_args_str)
88
89
  grad_args_with_type_str = self.do_grad_op_args_with_type.replace(input_args_with_type=input_args_with_type_str)
90
+ inner_grad_args_with_type =\
91
+ self.do_grad_op_args_with_type.replace(input_args_with_type=inner_grad_args_with_type)
89
92
  op_def_name_str = "g" + op_proto.op_class.name
90
- bprop_expander = "true" if op_proto.bprop_expander else "false"
93
+ TRUE = "true"
94
+ FALSE = "false"
95
+ bprop_expander = TRUE if op_proto.bprop_expander else FALSE
96
+ non_differentiable = TRUE if op_proto.non_differentiable else FALSE
97
+ if not op_proto.op_view:
98
+ convert_basic_to_value = ''
99
+ else:
100
+ input_args_with_optional_str, convert_basic_to_value = self._get_convert_str(op_proto,
101
+ input_args_with_optional_str)
91
102
  return self.DO_GRAD_FUNCTION_BODY_TEMPLATE.replace(class_name=op_proto.op_class.name,
103
+ inner_grad_args_with_type=inner_grad_args_with_type,
92
104
  grad_args_with_type=grad_args_with_type_str,
93
105
  grad_input_args=input_args_str,
94
106
  grad_input_args_with_optional=input_args_with_optional_str,
95
107
  is_multi=multi_output_str,
96
108
  view_arg=view_arg_str,
97
109
  op_def_name=op_def_name_str,
98
- bprop_expander=bprop_expander)
110
+ bprop_expander=bprop_expander,
111
+ non_differentiable=non_differentiable,
112
+ convert_basic_to_value=convert_basic_to_value)
99
113
 
100
- def _get_input_args(self, op_proto, has_type, with_optional):
114
+ def _get_input_args(self, op_proto, has_type, with_optional, use_basic_type=False):
101
115
  """
102
116
  Get the input arguments for the DoGrad function.
103
117
 
@@ -110,7 +124,7 @@ class AutoGradImplGenerator(BaseGenerator):
110
124
  """
111
125
  args_list = []
112
126
  for op_arg in op_proto.op_args:
113
- input_dtype = get_input_dtype(op_arg.arg_dtype, is_optional_param(op_arg))
127
+ input_dtype = get_input_dtype(op_arg.arg_dtype, is_optional_param(op_arg), use_basic_type)
114
128
  if has_type:
115
129
  args_list.append(f"const {input_dtype} &{op_arg.arg_name}_tensor")
116
130
  else:
@@ -120,6 +134,33 @@ class AutoGradImplGenerator(BaseGenerator):
120
134
  args_list.append(f"{op_arg.arg_name}_tensor")
121
135
  return args_list
122
136
 
137
+ def _get_convert_str(self, op_proto, args_name):
138
+ """
139
+ Get the input convert func for the DoGrad function.
140
+
141
+ Args:
142
+ op_proto: The operator prototype.
143
+ has_type (bool): Whether to include type information for the arguments.
144
+
145
+ Returns:
146
+ list: A list of input arguments for the DoGrad function.
147
+ list: A list of convert functions.
148
+ """
149
+ args_name_list = []
150
+ convert_funcs = []
151
+ convert_types = ["tuple[int]", "list[int]", "int"]
152
+ convert_func_template = Template("const auto &${arg_name} = PackToValue(${input_name});")
153
+ for op_arg, arg_name in zip(op_proto.op_args, args_name):
154
+ if op_arg.arg_dtype not in convert_types:
155
+ args_name_list.append(arg_name)
156
+ continue
157
+ out_arg_name = arg_name + "_value"
158
+ input_name = arg_name
159
+ convert_funcs.append(convert_func_template.replace(arg_name=out_arg_name,
160
+ input_name=input_name))
161
+ args_name_list.append(out_arg_name)
162
+ return args_name_list, convert_funcs
163
+
123
164
  def _get_view_str(self, is_view_op: bool, grad_args: list):
124
165
  """
125
166
  Get the view argument string for a DoGrad function.