mindspore 2.6.0rc1__cp311-cp311-win_amd64.whl → 2.7.0__cp311-cp311-win_amd64.whl

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

Potentially problematic release.


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

Files changed (458) 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 +2 -2
  5. mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
  8. mindspore/_checkparam.py +42 -11
  9. mindspore/_extends/builtin_operations.py +3 -3
  10. mindspore/{_deprecated → _extends/optimize}/__init__.py +9 -3
  11. mindspore/_extends/optimize/cell_utils.py +96 -0
  12. mindspore/_extends/parallel_compile/akg_compiler/custom.py +1109 -0
  13. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
  14. mindspore/_extends/parse/__init__.py +3 -3
  15. mindspore/_extends/parse/compile_config.py +44 -22
  16. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +1 -2
  17. mindspore/_extends/parse/parser.py +65 -84
  18. mindspore/_extends/parse/resources.py +39 -0
  19. mindspore/_extends/parse/standard_method.py +58 -14
  20. mindspore/_extends/parse/trope.py +8 -1
  21. mindspore/_extends/pijit/__init__.py +1 -2
  22. mindspore/_extends/pijit/pijit_func_white_list.py +2 -5
  23. mindspore/amp.py +4 -22
  24. mindspore/atlprov.dll +0 -0
  25. mindspore/avcodec-59.dll +0 -0
  26. mindspore/avdevice-59.dll +0 -0
  27. mindspore/avfilter-8.dll +0 -0
  28. mindspore/avformat-59.dll +0 -0
  29. mindspore/avutil-57.dll +0 -0
  30. mindspore/boost/adasum.py +1 -1
  31. mindspore/boost/boost_cell_wrapper.py +4 -4
  32. mindspore/c1.dll +0 -0
  33. mindspore/c1xx.dll +0 -0
  34. mindspore/c2.dll +0 -0
  35. mindspore/common/__init__.py +43 -12
  36. mindspore/common/_grad_function.py +2 -1
  37. mindspore/common/_pijit_context.py +28 -7
  38. mindspore/common/_stub_tensor.py +1 -209
  39. mindspore/common/_tensor_cpp_method.py +1 -1
  40. mindspore/common/_tensor_docs.py +178 -53
  41. mindspore/common/_utils.py +9 -1
  42. mindspore/common/api.py +377 -203
  43. mindspore/common/dtype.py +108 -57
  44. mindspore/common/dump.py +11 -16
  45. mindspore/common/dynamic_shape/__init__.py +0 -0
  46. mindspore/common/{auto_dynamic_shape.py → dynamic_shape/auto_dynamic_shape.py} +17 -23
  47. mindspore/common/dynamic_shape/enable_dynamic.py +197 -0
  48. mindspore/common/file_system.py +59 -9
  49. mindspore/common/generator.py +5 -3
  50. mindspore/common/hook_handle.py +33 -5
  51. mindspore/common/jit_config.py +1 -1
  52. mindspore/common/jit_trace.py +84 -105
  53. mindspore/common/np_dtype.py +3 -3
  54. mindspore/common/parameter.py +27 -29
  55. mindspore/common/recompute.py +5 -7
  56. mindspore/common/sparse_tensor.py +0 -3
  57. mindspore/common/symbol.py +0 -1
  58. mindspore/common/tensor.py +117 -131
  59. mindspore/communication/_comm_helper.py +46 -4
  60. mindspore/communication/management.py +79 -7
  61. mindspore/context.py +67 -55
  62. mindspore/dataset/__init__.py +1 -1
  63. mindspore/dataset/audio/transforms.py +1 -1
  64. mindspore/dataset/core/config.py +38 -4
  65. mindspore/dataset/engine/datasets.py +350 -322
  66. mindspore/dataset/engine/datasets_user_defined.py +70 -24
  67. mindspore/dataset/engine/iterators.py +2 -2
  68. mindspore/dataset/engine/obs/config_loader.py +2 -2
  69. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +8 -0
  70. mindspore/dataset/transforms/c_transforms.py +2 -2
  71. mindspore/dataset/transforms/py_transforms.py +7 -3
  72. mindspore/dataset/transforms/transforms.py +10 -6
  73. mindspore/dataset/vision/__init__.py +1 -1
  74. mindspore/dataset/vision/py_transforms.py +8 -8
  75. mindspore/dataset/vision/transforms.py +17 -5
  76. mindspore/dataset/vision/utils.py +632 -21
  77. mindspore/dataset/vision/validators.py +1 -0
  78. mindspore/device_context/ascend/device.py +1 -1
  79. mindspore/device_context/ascend/op_tuning.py +35 -1
  80. mindspore/device_context/gpu/__init__.py +2 -2
  81. mindspore/device_context/gpu/device.py +1 -1
  82. mindspore/device_context/gpu/op_precision.py +4 -2
  83. mindspore/device_context/gpu/op_tuning.py +6 -3
  84. mindspore/device_manager.py +16 -9
  85. mindspore/dnnl.dll +0 -0
  86. mindspore/dpcmi.dll +0 -0
  87. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +3 -4
  88. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  89. mindspore/experimental/optim/adadelta.py +13 -20
  90. mindspore/experimental/optim/adagrad.py +15 -22
  91. mindspore/experimental/optim/adam.py +17 -24
  92. mindspore/experimental/optim/adamax.py +14 -22
  93. mindspore/experimental/optim/adamw.py +28 -34
  94. mindspore/experimental/optim/asgd.py +15 -25
  95. mindspore/experimental/optim/lr_scheduler.py +27 -45
  96. mindspore/experimental/optim/nadam.py +14 -24
  97. mindspore/experimental/optim/optimizer.py +13 -23
  98. mindspore/experimental/optim/radam.py +18 -24
  99. mindspore/experimental/optim/rmsprop.py +14 -25
  100. mindspore/experimental/optim/rprop.py +15 -26
  101. mindspore/experimental/optim/sgd.py +9 -19
  102. mindspore/hal/__init__.py +4 -4
  103. mindspore/hal/contiguous_tensors_handle.py +2 -2
  104. mindspore/hal/memory.py +27 -7
  105. mindspore/include/api/cell.h +65 -5
  106. mindspore/include/api/cfg.h +24 -7
  107. mindspore/include/api/context.h +1 -0
  108. mindspore/include/api/delegate.h +10 -2
  109. mindspore/include/api/dual_abi_helper.h +100 -19
  110. mindspore/include/api/graph.h +14 -1
  111. mindspore/include/api/kernel.h +16 -3
  112. mindspore/include/api/kernel_api.h +9 -1
  113. mindspore/include/api/metrics/accuracy.h +9 -0
  114. mindspore/include/api/model.h +8 -1
  115. mindspore/include/api/model_group.h +4 -0
  116. mindspore/include/api/model_parallel_runner.h +2 -0
  117. mindspore/include/api/status.h +48 -10
  118. mindspore/include/api/types.h +8 -3
  119. mindspore/include/c_api/model_c.h +0 -58
  120. mindspore/include/c_api/tensor_c.h +0 -26
  121. mindspore/include/dataset/constants.h +9 -0
  122. mindspore/include/dataset/vision_ascend.h +1 -1
  123. mindspore/jpeg62.dll +0 -0
  124. mindspore/mindrecord/tools/cifar10.py +61 -11
  125. mindspore/mindrecord/tools/cifar10_to_mr.py +5 -0
  126. mindspore/mindspore_backend_common.dll +0 -0
  127. mindspore/mindspore_backend_manager.dll +0 -0
  128. mindspore/mindspore_common.dll +0 -0
  129. mindspore/mindspore_core.dll +0 -0
  130. mindspore/mindspore_cpu_res_manager.dll +0 -0
  131. mindspore/mindspore_dump.dll +0 -0
  132. mindspore/mindspore_frontend.dll +0 -0
  133. mindspore/mindspore_glog.dll +0 -0
  134. mindspore/mindspore_memory_pool.dll +0 -0
  135. mindspore/mindspore_ms_backend.dll +0 -0
  136. mindspore/mindspore_ops.dll +0 -0
  137. mindspore/mindspore_ops_host.dll +0 -0
  138. mindspore/mindspore_ops_kernel_common.dll +0 -0
  139. mindspore/mindspore_profiler.dll +0 -0
  140. mindspore/mindspore_pyboost.dll +0 -0
  141. mindspore/mindspore_pynative.dll +0 -0
  142. mindspore/mindspore_res_manager.dll +0 -0
  143. mindspore/mindspore_runtime_pipeline.dll +0 -0
  144. mindspore/mint/__init__.py +6 -46
  145. mindspore/mint/distributed/__init__.py +5 -0
  146. mindspore/mint/distributed/distributed.py +429 -23
  147. mindspore/mint/nn/__init__.py +1 -1
  148. mindspore/mint/nn/functional.py +53 -6
  149. mindspore/mint/nn/layer/_functions.py +163 -294
  150. mindspore/mint/nn/layer/activation.py +8 -6
  151. mindspore/mint/nn/layer/conv.py +140 -104
  152. mindspore/mint/nn/layer/normalization.py +11 -25
  153. mindspore/mint/optim/adam.py +19 -18
  154. mindspore/mint/optim/adamw.py +14 -8
  155. mindspore/mint/optim/sgd.py +5 -5
  156. mindspore/msobj140.dll +0 -0
  157. mindspore/mspdb140.dll +0 -0
  158. mindspore/mspdbcore.dll +0 -0
  159. mindspore/mspdbst.dll +0 -0
  160. mindspore/mspft140.dll +0 -0
  161. mindspore/msvcdis140.dll +0 -0
  162. mindspore/msvcp140_1.dll +0 -0
  163. mindspore/msvcp140_2.dll +0 -0
  164. mindspore/msvcp140_atomic_wait.dll +0 -0
  165. mindspore/msvcp140_codecvt_ids.dll +0 -0
  166. mindspore/nn/cell.py +491 -623
  167. mindspore/nn/grad/cell_grad.py +11 -12
  168. mindspore/nn/layer/activation.py +36 -36
  169. mindspore/nn/layer/basic.py +74 -77
  170. mindspore/nn/layer/channel_shuffle.py +4 -4
  171. mindspore/nn/layer/combined.py +4 -2
  172. mindspore/nn/layer/conv.py +117 -110
  173. mindspore/nn/layer/dense.py +9 -7
  174. mindspore/nn/layer/embedding.py +50 -52
  175. mindspore/nn/layer/image.py +38 -40
  176. mindspore/nn/layer/math.py +111 -112
  177. mindspore/nn/layer/normalization.py +56 -44
  178. mindspore/nn/layer/pooling.py +58 -63
  179. mindspore/nn/layer/rnn_cells.py +33 -33
  180. mindspore/nn/layer/rnns.py +56 -56
  181. mindspore/nn/layer/thor_layer.py +74 -73
  182. mindspore/nn/layer/transformer.py +11 -1
  183. mindspore/nn/learning_rate_schedule.py +20 -20
  184. mindspore/nn/loss/loss.py +79 -81
  185. mindspore/nn/optim/adam.py +4 -6
  186. mindspore/nn/optim/adasum.py +2 -2
  187. mindspore/nn/optim/asgd.py +2 -0
  188. mindspore/nn/optim/lamb.py +1 -3
  189. mindspore/nn/optim/optimizer.py +1 -1
  190. mindspore/nn/optim/tft_wrapper.py +2 -3
  191. mindspore/nn/optim/thor.py +2 -2
  192. mindspore/nn/probability/distribution/_utils/utils.py +2 -2
  193. mindspore/nn/probability/distribution/exponential.py +2 -1
  194. mindspore/nn/probability/distribution/poisson.py +2 -1
  195. mindspore/nn/sparse/sparse.py +3 -3
  196. mindspore/nn/wrap/cell_wrapper.py +73 -42
  197. mindspore/nn/wrap/grad_reducer.py +37 -52
  198. mindspore/nn/wrap/loss_scale.py +72 -74
  199. mindspore/numpy/array_creations.py +7 -7
  200. mindspore/numpy/fft.py +1 -1
  201. mindspore/numpy/math_ops.py +5 -5
  202. mindspore/numpy/utils_const.py +1 -1
  203. mindspore/opencv_core452.dll +0 -0
  204. mindspore/opencv_imgcodecs452.dll +0 -0
  205. mindspore/opencv_imgproc452.dll +0 -0
  206. mindspore/ops/_grad_experimental/grad_comm_ops.py +51 -13
  207. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -0
  208. mindspore/ops/_grad_experimental/grad_inner_ops.py +0 -9
  209. mindspore/ops/_op_impl/cpu/__init__.py +1 -0
  210. mindspore/{experimental/es/__init__.py → ops/_op_impl/cpu/joinedstr_op.py} +12 -6
  211. mindspore/ops/_vmap/vmap_array_ops.py +31 -13
  212. mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
  213. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +54 -13
  214. mindspore/ops/auto_generate/gen_extend_func.py +27 -145
  215. mindspore/ops/auto_generate/gen_ops_def.py +1027 -347
  216. mindspore/ops/auto_generate/gen_ops_prim.py +2341 -1117
  217. mindspore/ops/auto_generate/pyboost_inner_prim.py +31 -1
  218. mindspore/ops/composite/__init__.py +10 -0
  219. mindspore/ops/composite/base.py +9 -5
  220. mindspore/ops/composite/multitype_ops/__init__.py +12 -1
  221. mindspore/ops/composite/multitype_ops/_compile_utils.py +133 -109
  222. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -1
  223. mindspore/ops/composite/multitype_ops/add_impl.py +70 -2
  224. mindspore/ops/composite/multitype_ops/div_impl.py +49 -0
  225. mindspore/ops/composite/multitype_ops/floordiv_impl.py +29 -0
  226. mindspore/ops/composite/multitype_ops/getitem_impl.py +11 -0
  227. mindspore/ops/composite/multitype_ops/mod_impl.py +5 -3
  228. mindspore/ops/composite/multitype_ops/mul_impl.py +49 -0
  229. mindspore/ops/composite/multitype_ops/setitem_impl.py +57 -0
  230. mindspore/ops/composite/multitype_ops/sub_impl.py +34 -0
  231. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +14 -0
  232. mindspore/ops/function/__init__.py +4 -1
  233. mindspore/ops/function/_add_attr_func.py +11 -6
  234. mindspore/ops/function/array_func.py +19 -102
  235. mindspore/ops/function/debug_func.py +8 -5
  236. mindspore/ops/function/grad/grad_func.py +5 -13
  237. mindspore/ops/function/math_func.py +77 -572
  238. mindspore/ops/function/nn_func.py +46 -94
  239. mindspore/ops/function/other_func.py +4 -1
  240. mindspore/ops/function/random_func.py +44 -5
  241. mindspore/ops/function/vmap_func.py +2 -1
  242. mindspore/ops/functional.py +4 -4
  243. mindspore/ops/functional_overload.py +594 -18
  244. mindspore/ops/op_info_register.py +21 -0
  245. mindspore/ops/operations/__init__.py +16 -11
  246. mindspore/ops/operations/_custom_ops_utils.py +689 -34
  247. mindspore/ops/operations/_inner_ops.py +14 -18
  248. mindspore/ops/operations/_sequence_ops.py +1 -1
  249. mindspore/ops/operations/array_ops.py +5 -51
  250. mindspore/ops/operations/comm_ops.py +186 -41
  251. mindspore/ops/operations/custom_ops.py +303 -177
  252. mindspore/ops/operations/debug_ops.py +59 -4
  253. mindspore/ops/operations/image_ops.py +13 -13
  254. mindspore/ops/operations/manually_defined/ops_def.py +27 -28
  255. mindspore/ops/operations/math_ops.py +8 -9
  256. mindspore/ops/operations/nn_ops.py +8 -40
  257. mindspore/ops/primitive.py +9 -20
  258. mindspore/ops/tensor_method.py +63 -15
  259. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +1 -1
  260. mindspore/ops_generate/api/functional_map_cpp_generator.py +10 -9
  261. mindspore/ops_generate/api/functions_cc_generator.py +58 -10
  262. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +1 -1
  263. mindspore/ops_generate/common/base_generator.py +14 -0
  264. mindspore/ops_generate/common/gen_constants.py +8 -3
  265. mindspore/ops_generate/common/gen_utils.py +0 -19
  266. mindspore/ops_generate/common/op_proto.py +11 -4
  267. mindspore/ops_generate/common/template.py +88 -11
  268. mindspore/ops_generate/gen_ops.py +1 -1
  269. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +4 -4
  270. mindspore/ops_generate/op_def/ops_def_cc_generator.py +0 -3
  271. mindspore/ops_generate/op_def/ops_name_h_generator.py +0 -3
  272. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +0 -4
  273. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -2
  274. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +49 -8
  275. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +2 -2
  276. mindspore/ops_generate/pyboost/gen_pyboost_func.py +31 -16
  277. mindspore/ops_generate/pyboost/op_template_parser.py +98 -72
  278. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +70 -273
  279. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +14 -6
  280. mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +316 -0
  281. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +1 -1
  282. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +5 -3
  283. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +1 -1
  284. mindspore/ops_generate/pyboost/pyboost_internal_functions_cpp_generator.py +76 -0
  285. mindspore/ops_generate/pyboost/pyboost_internal_functions_h_generator.py +76 -0
  286. mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +125 -0
  287. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +4 -3
  288. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +348 -61
  289. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +1 -1
  290. mindspore/ops_generate/pyboost/pyboost_utils.py +118 -9
  291. mindspore/ops_generate/tensor_py_cc_generator.py +1 -24
  292. mindspore/parallel/_auto_parallel_context.py +16 -23
  293. mindspore/parallel/_cell_wrapper.py +113 -45
  294. mindspore/parallel/_parallel_serialization.py +4 -3
  295. mindspore/parallel/_ps_context.py +4 -6
  296. mindspore/parallel/_tensor.py +167 -12
  297. mindspore/parallel/_transformer/moe.py +1 -1
  298. mindspore/parallel/_transformer/transformer.py +17 -12
  299. mindspore/parallel/_utils.py +5 -11
  300. mindspore/parallel/auto_parallel.py +35 -14
  301. mindspore/parallel/checkpoint_convert.py +3 -3
  302. mindspore/parallel/checkpoint_transform.py +13 -7
  303. mindspore/parallel/cluster/process_entity/_api.py +88 -49
  304. mindspore/parallel/cluster/process_entity/_utils.py +95 -7
  305. mindspore/parallel/cluster/run.py +48 -7
  306. mindspore/parallel/function/__init__.py +8 -1
  307. mindspore/parallel/function/reshard_func.py +12 -12
  308. mindspore/parallel/nn/__init__.py +15 -2
  309. mindspore/parallel/nn/parallel_cell_wrapper.py +50 -14
  310. mindspore/parallel/nn/parallel_grad_reducer.py +7 -14
  311. mindspore/parallel/shard.py +10 -25
  312. mindspore/parallel/transform_safetensors.py +469 -174
  313. mindspore/pgodb140.dll +0 -0
  314. mindspore/pgort140.dll +0 -0
  315. mindspore/profiler/__init__.py +2 -1
  316. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -7
  317. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +3 -0
  318. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +12 -6
  319. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +3 -3
  320. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  321. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +4 -4
  322. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +3 -3
  323. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +4 -1
  324. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +2 -1
  325. mindspore/profiler/analysis/task_manager.py +1 -1
  326. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +5 -1
  327. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +2 -1
  328. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +10 -9
  329. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +43 -23
  330. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +3 -2
  331. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +9 -5
  332. mindspore/profiler/analysis/viewer/ms_operator_details_viewer.py +132 -0
  333. mindspore/profiler/common/constant.py +16 -0
  334. mindspore/profiler/common/msprof_cmd_tool.py +2 -2
  335. mindspore/profiler/common/path_manager.py +9 -0
  336. mindspore/profiler/common/profiler_context.py +50 -29
  337. mindspore/profiler/common/profiler_info.py +0 -16
  338. mindspore/profiler/common/profiler_meta_data.py +1 -0
  339. mindspore/profiler/common/profiler_op_analyse.py +239 -0
  340. mindspore/profiler/common/profiler_output_path.py +23 -8
  341. mindspore/profiler/common/profiler_parameters.py +128 -35
  342. mindspore/profiler/dynamic_profile/__init__.py +0 -0
  343. mindspore/profiler/dynamic_profile/dynamic_monitor_proxy.py +39 -0
  344. mindspore/profiler/dynamic_profile/dynamic_profiler_config_context.py +666 -0
  345. mindspore/profiler/dynamic_profile/dynamic_profiler_utils.py +62 -0
  346. mindspore/profiler/dynamic_profiler.py +374 -338
  347. mindspore/profiler/envprofiler.py +42 -12
  348. mindspore/profiler/experimental_config.py +112 -7
  349. mindspore/profiler/mstx.py +33 -12
  350. mindspore/profiler/platform/__init__.py +2 -3
  351. mindspore/profiler/platform/cpu_profiler.py +10 -4
  352. mindspore/profiler/platform/npu_profiler.py +30 -20
  353. mindspore/profiler/profiler.py +218 -154
  354. mindspore/profiler/profiler_action_controller.py +65 -77
  355. mindspore/profiler/profiler_interface.py +2 -2
  356. mindspore/profiler/schedule.py +10 -4
  357. mindspore/rewrite/common/config.py +1 -0
  358. mindspore/rewrite/common/namer.py +1 -0
  359. mindspore/rewrite/common/namespace.py +1 -0
  360. mindspore/rewrite/node/node.py +31 -11
  361. mindspore/rewrite/parsers/assign_parser.py +1 -1
  362. mindspore/rewrite/symbol_tree/symbol_tree.py +2 -2
  363. mindspore/run_check/_check_version.py +7 -10
  364. mindspore/runtime/__init__.py +8 -6
  365. mindspore/runtime/event.py +10 -4
  366. mindspore/runtime/executor.py +87 -45
  367. mindspore/runtime/memory.py +31 -32
  368. mindspore/runtime/thread_bind_core.py +299 -165
  369. mindspore/safeguard/rewrite_obfuscation.py +12 -13
  370. mindspore/swresample-4.dll +0 -0
  371. mindspore/swscale-6.dll +0 -0
  372. mindspore/tbbmalloc.dll +0 -0
  373. mindspore/tinyxml2.dll +0 -0
  374. mindspore/train/_utils.py +17 -7
  375. mindspore/train/amp.py +43 -23
  376. mindspore/train/callback/__init__.py +5 -5
  377. mindspore/train/callback/_callback.py +2 -1
  378. mindspore/train/callback/_checkpoint.py +4 -14
  379. mindspore/train/callback/_flops_collector.py +11 -7
  380. mindspore/train/callback/_landscape.py +0 -1
  381. mindspore/train/callback/_train_fault_tolerance.py +98 -21
  382. mindspore/train/data_sink.py +15 -6
  383. mindspore/train/dataset_helper.py +14 -5
  384. mindspore/train/model.py +133 -69
  385. mindspore/train/serialization.py +168 -126
  386. mindspore/train/summary/summary_record.py +13 -2
  387. mindspore/train/train_thor/model_thor.py +2 -2
  388. mindspore/turbojpeg.dll +0 -0
  389. mindspore/utils/__init__.py +3 -2
  390. mindspore/utils/dryrun.py +0 -6
  391. mindspore/utils/runtime_execution_order_check.py +163 -77
  392. mindspore/utils/sdc_detect.py +68 -0
  393. mindspore/utils/utils.py +14 -17
  394. mindspore/vcmeta.dll +0 -0
  395. mindspore/vcruntime140.dll +0 -0
  396. mindspore/vcruntime140_1.dll +0 -0
  397. mindspore/version.py +1 -1
  398. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0.dist-info}/METADATA +5 -4
  399. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0.dist-info}/RECORD +403 -442
  400. mindspore/_deprecated/jit.py +0 -198
  401. mindspore/_extends/remote/kernel_build_server_ascend.py +0 -75
  402. mindspore/communication/_hccl_management.py +0 -297
  403. mindspore/experimental/es/embedding_service.py +0 -891
  404. mindspore/experimental/es/embedding_service_layer.py +0 -581
  405. mindspore/profiler/common/validator/__init__.py +0 -14
  406. mindspore/profiler/common/validator/validate_path.py +0 -84
  407. mindspore/profiler/parser/__init__.py +0 -14
  408. mindspore/profiler/parser/aicpu_data_parser.py +0 -272
  409. mindspore/profiler/parser/ascend_analysis/__init__.py +0 -14
  410. mindspore/profiler/parser/ascend_analysis/constant.py +0 -71
  411. mindspore/profiler/parser/ascend_analysis/file_manager.py +0 -180
  412. mindspore/profiler/parser/ascend_analysis/function_event.py +0 -185
  413. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +0 -136
  414. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +0 -131
  415. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +0 -104
  416. mindspore/profiler/parser/ascend_analysis/path_manager.py +0 -313
  417. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +0 -123
  418. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +0 -86
  419. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +0 -75
  420. mindspore/profiler/parser/ascend_cluster_generator.py +0 -116
  421. mindspore/profiler/parser/ascend_communicate_generator.py +0 -314
  422. mindspore/profiler/parser/ascend_flops_generator.py +0 -116
  423. mindspore/profiler/parser/ascend_fpbp_generator.py +0 -82
  424. mindspore/profiler/parser/ascend_hccl_generator.py +0 -271
  425. mindspore/profiler/parser/ascend_integrate_generator.py +0 -42
  426. mindspore/profiler/parser/ascend_memory_generator.py +0 -185
  427. mindspore/profiler/parser/ascend_msprof_exporter.py +0 -282
  428. mindspore/profiler/parser/ascend_msprof_generator.py +0 -187
  429. mindspore/profiler/parser/ascend_op_generator.py +0 -334
  430. mindspore/profiler/parser/ascend_steptrace_generator.py +0 -94
  431. mindspore/profiler/parser/ascend_timeline_generator.py +0 -545
  432. mindspore/profiler/parser/base_timeline_generator.py +0 -483
  433. mindspore/profiler/parser/container.py +0 -229
  434. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +0 -697
  435. mindspore/profiler/parser/flops_parser.py +0 -531
  436. mindspore/profiler/parser/framework_enum.py +0 -111
  437. mindspore/profiler/parser/framework_parser.py +0 -464
  438. mindspore/profiler/parser/framework_struct.py +0 -61
  439. mindspore/profiler/parser/gpu_analysis/__init__.py +0 -14
  440. mindspore/profiler/parser/gpu_analysis/function_event.py +0 -44
  441. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +0 -89
  442. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +0 -72
  443. mindspore/profiler/parser/hccl_parser.py +0 -573
  444. mindspore/profiler/parser/hwts_log_parser.py +0 -122
  445. mindspore/profiler/parser/integrator.py +0 -526
  446. mindspore/profiler/parser/memory_usage_parser.py +0 -277
  447. mindspore/profiler/parser/minddata_analyzer.py +0 -800
  448. mindspore/profiler/parser/minddata_parser.py +0 -186
  449. mindspore/profiler/parser/minddata_pipeline_parser.py +0 -299
  450. mindspore/profiler/parser/op_intermediate_parser.py +0 -149
  451. mindspore/profiler/parser/optime_parser.py +0 -250
  452. mindspore/profiler/parser/profiler_info.py +0 -213
  453. mindspore/profiler/parser/step_trace_parser.py +0 -666
  454. mindspore/utils/hooks.py +0 -81
  455. /mindspore/common/{_auto_dynamic.py → dynamic_shape/_auto_dynamic.py} +0 -0
  456. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0.dist-info}/WHEEL +0 -0
  457. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0.dist-info}/entry_points.txt +0 -0
  458. {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0.dist-info}/top_level.txt +0 -0
@@ -21,11 +21,10 @@ from mindspore.ops import operations as P
21
21
  from mindspore.ops import functional as F
22
22
  from mindspore.ops.composite.multitype_ops import _compile_utils as utils
23
23
  from mindspore.ops.composite.multitype_ops._compile_utils import (
24
- sequence_to_tensor, _tensor_sub, _tensor_pow, _tensor_div, _tensor_floordiv
24
+ sequence_to_tensor, _tensor_sub, _tensor_pow, _tensor_div, _tensor_floordiv, _tensor_mod
25
25
  )
26
26
  from mindspore.ops.auto_generate.gen_ops_prim import (
27
- inplace_scatter_src_op, inplace_scatter_src_reduce_op, inplace_scatter_value_op, inplace_scatter_value_reduce_op,
28
- inplace_copy_op
27
+ inplace_scatter_src_op, inplace_scatter_src_reduce_op, inplace_scatter_value_op, inplace_scatter_value_reduce_op
29
28
  )
30
29
  from mindspore.ops.auto_generate.gen_ops_prim import (
31
30
  floor_div_op, floor_div_scalar_op
@@ -237,7 +236,7 @@ from mindspore.ops.function.array_func import scatter
237
236
  # 92 scatter_add
238
237
  from mindspore.ops.function.array_func import tensor_scatter_add
239
238
  # 93 select
240
- from mindspore.ops.auto_generate import select, select_ext
239
+ from mindspore.ops.auto_generate import select, select_ext_view
241
240
  # 94 sigmoid
242
241
  from mindspore.ops.auto_generate import sigmoid
243
242
  # 95 sin
@@ -273,7 +272,7 @@ from mindspore.ops.operations.manually_defined import tile
273
272
  # 110 topk
274
273
  from mindspore.ops.function.array_func import topk
275
274
  # 111 transpose
276
- from mindspore.ops.auto_generate import transpose, transpose_ext
275
+ from mindspore.ops.auto_generate import transpose, transpose_ext_view
277
276
  # 112 tril
278
277
  from mindspore.ops.function.array_func import tril
279
278
  # 113 trunc
@@ -442,6 +441,9 @@ from mindspore.ops.auto_generate.gen_ops_prim import inplace_exp_op
442
441
  # 1030 log_
443
442
  from mindspore.ops.auto_generate.gen_ops_prim import inplace_log_op
444
443
 
444
+ # 1031 masked_scatter
445
+ from mindspore.ops.auto_generate import masked_scatter
446
+
445
447
  from .._checkparam import check_axis_in_range
446
448
  from ..ops.composite.multitype_ops import _compile_utils as compile_utils
447
449
 
@@ -503,16 +505,16 @@ def tensor_allclose(input, other, rtol=1e-05, atol=1e-08, equal_nan=False):
503
505
 
504
506
 
505
507
  # 8 any
506
- def tensor_any(x, axis=None, keep_dims=False):
508
+ def reduce_tensor_any(x, axis=None, keep_dims=False):
507
509
  if axis is None:
508
510
  axis = ()
509
511
  return any(x, axis, keep_dims)
510
512
 
511
513
 
512
- def deprecated_tensor_any(x, dim=None, keepdim=False):
514
+ def tensor_any(input, dim=None, keepdim=False):
513
515
  if dim is None:
514
516
  dim = ()
515
- return any(x, dim, keepdim)
517
+ return any(input, dim, keepdim)
516
518
 
517
519
 
518
520
  # 9 arctan2
@@ -948,6 +950,10 @@ def deprecated_tensor_remainder(input, divisor):
948
950
  return remainder(input, divisor)
949
951
 
950
952
 
953
+ def deprecated_tensor_mod(input, other):
954
+ return _tensor_mod(input, other)
955
+
956
+
951
957
  # 86 repeat
952
958
  def tensor_repeat(input, *repeats):
953
959
  raise RuntimeError("'repeat' is not supported on this device.")
@@ -998,7 +1004,7 @@ def deprecated_tensor_scatter_add(input, indices, updates):
998
1004
 
999
1005
  # 93 select
1000
1006
  def tensor_select_ext(input, dim, index):
1001
- return select_ext(input, dim, index)
1007
+ return select_ext_view(input, dim, index)
1002
1008
 
1003
1009
 
1004
1010
  def deprecated_tensor_select(input, condition, y):
@@ -1170,7 +1176,7 @@ def deprecated_tensor_topk(input, k, dim=None, largest=True, sorted=True):
1170
1176
 
1171
1177
  # 111 transpose
1172
1178
  def tensor_transpose_ext(input, dim0, dim1):
1173
- return transpose_ext(input, dim0, dim1)
1179
+ return transpose_ext_view(input, dim0, dim1)
1174
1180
 
1175
1181
 
1176
1182
  def deprecated_tensor_transpose(input, *axes):
@@ -1449,14 +1455,10 @@ def tensor_atanh(input):
1449
1455
  return F.atanh(input)
1450
1456
 
1451
1457
 
1452
- def tensor_copy_(input, src):
1458
+ def tensor_copy_(input, src, non_blocking=False):
1453
1459
  raise ValueError("should not come here for copy_ method")
1454
1460
 
1455
1461
 
1456
- def deprecated_tensor_copy_(input, src, non_blocking=False):
1457
- return inplace_copy_op(input, src)
1458
-
1459
-
1460
1462
  def tensor_tan(input):
1461
1463
  return F.tan(input)
1462
1464
 
@@ -1514,6 +1516,16 @@ def tensor_empty(*size, dtype=None, device=None):
1514
1516
  "This is a function for empty not should be called. Please check the implementation.")
1515
1517
 
1516
1518
 
1519
+ def tensor_empty_like(input, *, dtype=None, device=None):
1520
+ raise NotImplementedError(
1521
+ "This is a function for empty_like should not be called. Please check the implementation.")
1522
+
1523
+
1524
+ def tensor_new_empty(input, size, *, dtype=None, device=None):
1525
+ raise NotImplementedError(
1526
+ "This is a function for new_empty should not be called. Please check the implementation.")
1527
+
1528
+
1517
1529
  def deprecated_tensor_logaddexp(input, other):
1518
1530
  return F.logaddexp(input, other)
1519
1531
 
@@ -1744,6 +1756,10 @@ def deprecated_tensor_diag(input):
1744
1756
  return F.diag(input)
1745
1757
 
1746
1758
 
1759
+ def deprecated_einsum(equation, operands):
1760
+ raise NotImplementedError('einsum only supports Ascend.')
1761
+
1762
+
1747
1763
  # 916 index_add
1748
1764
  @constexpr
1749
1765
  def _check_index_add_alpha(alpha):
@@ -1808,6 +1824,8 @@ def tensor_inplace_sub(input, other, *, alpha=1):
1808
1824
  return sub(input, other)
1809
1825
  return sub_ext(input, other, alpha=alpha)
1810
1826
 
1827
+ def tensor_new_full(input, size, fill_value, *, dtype=None):
1828
+ raise NotImplementedError("new_full method support Ascend only")
1811
1829
 
1812
1830
  def tensor_div_empty_(input, other, rounding_mode=None):
1813
1831
  raise ValueError("should not come here for div_ method.")
@@ -1840,6 +1858,14 @@ def all_gather_matmul(
1840
1858
  raise NotImplementedError('all_gather_matmul only supports Ascend.')
1841
1859
 
1842
1860
 
1861
+ def conv3d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1):
1862
+ raise NotImplementedError('conv3d only supports Ascend.')
1863
+
1864
+
1865
+ def tensor_remainder_(input, other):
1866
+ return _tensor_mod(input, other)
1867
+
1868
+
1843
1869
  def tensor_floor_divide_(input, other):
1844
1870
  return _tensor_floordiv(input, other)
1845
1871
 
@@ -1884,5 +1910,27 @@ def tensor_gelu(input, *, approximate):
1884
1910
  return gelu(input, approximate)
1885
1911
 
1886
1912
 
1913
+ def tensor_bernoulli_(input, p, seed, offset):
1914
+ raise RuntimeError("'bernoulli_' is not supported on this device.")
1915
+
1916
+
1887
1917
  def deprecated_pixel_shuffle(input, upscale_factor):
1888
1918
  return F.pixel_shuffle(input, upscale_factor)
1919
+
1920
+
1921
+ def tensor_quant_matmul(x1, x2, scale, *, offset=None, pertoken_scale=None, bias=None, output_dtype=None,
1922
+ x1_dtype=None, x2_dtype=None, pertoken_scale_dtype=None, scale_dtype=None, group_sizes=None):
1923
+ r"""
1924
+ For details, please refer to :func:`mindspore.ops.auto_generate.quant_matmul`.
1925
+ """
1926
+ raise NotImplementedError('quant_matmul only supports Ascend.')
1927
+
1928
+
1929
+ def tensor_gmm(x, weight, *, bias=None, group_list=None, group_type=0, group_list_type=0):
1930
+ raise NotImplementedError("gmm has not been implemented by python.")
1931
+
1932
+ def raise_func(*args, **kwargs):
1933
+ raise NotImplementedError("this func has not been implemented.")
1934
+
1935
+ def tensor_masked_scatter(input, mask, source):
1936
+ return masked_scatter(input, mask, source)
@@ -53,7 +53,7 @@ class CppCreatePrimInstanceHelperGenerator(BaseGenerator):
53
53
  """
54
54
  py_arg_default = self.generate_op_arg_default_value(op_protos)
55
55
  py_labels = self.generate_op_labels(op_protos)
56
- res_str = (template.PY_LICENSE_STR + py_arg_default + py_labels)
56
+ res_str = template.PY_LICENSE_STR + py_arg_default + py_labels
57
57
 
58
58
  save_path = os.path.join(work_path, K.PY_AUTO_GEN_PATH)
59
59
  file_name = "cpp_create_prim_instance_helper.py"
@@ -159,14 +159,6 @@ class FunctionalMapCppGenerator(BaseGenerator):
159
159
  sig_str += '}\n},'
160
160
  return sig_str
161
161
 
162
- def _is_input_arg(self, arg_name, op_name):
163
- res = False
164
- if op_name in K.INPUT_NAME_MAP and arg_name == K.INPUT_NAME_MAP[op_name]:
165
- res = True
166
- elif op_name not in K.INPUT_NAME_MAP and arg_name in K.INPUT_ARGS_NAME:
167
- res = True
168
- return res
169
-
170
162
  def _generate_single_signature_str(self, func_api_name, tensor_proto, is_tensor_method) -> str:
171
163
  """
172
164
  Generates a single function signature string for the given operation prototype.
@@ -186,7 +178,7 @@ class FunctionalMapCppGenerator(BaseGenerator):
186
178
  arg_valid_types = []
187
179
  for _, arg in enumerate(op_proto.op_args):
188
180
  arg_name = arg.arg_name
189
- if is_tensor_method and self._is_input_arg(arg_name, op_name):
181
+ if is_tensor_method and _is_input_arg(arg_name, op_name):
190
182
  continue
191
183
 
192
184
  arg_valid_types = self._handle_arg_valid_types(arg, arg_name, arg_valid_types, func_api_name)
@@ -502,3 +494,12 @@ class FunctionalMapCppGenerator(BaseGenerator):
502
494
  self._get_and_append_single_op_varargs_list(func_protos,
503
495
  mint_varargs_list)
504
496
  return mint_varargs_list
497
+
498
+
499
+ def _is_input_arg(arg_name, op_name):
500
+ res = False
501
+ if op_name in K.INPUT_NAME_MAP and arg_name == K.INPUT_NAME_MAP[op_name]:
502
+ res = True
503
+ elif op_name not in K.INPUT_NAME_MAP and arg_name in K.INPUT_ARGS_NAME:
504
+ res = True
505
+ return res
@@ -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