mindspore 2.2.14__cp37-cp37m-manylinux1_x86_64.whl → 2.3.0rc2__cp37-cp37m-manylinux1_x86_64.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.
Files changed (1172) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +4 -4
  3. mindspore/_akg/akg/composite/build_module.py +155 -11
  4. mindspore/_akg/akg/config/repository.json +38 -0
  5. mindspore/_akg/akg/ms/info_version_adapt.py +29 -0
  6. mindspore/_akg/akg/tvm/contrib/nvcc.py +4 -1
  7. mindspore/_akg/akg/utils/ascend_profilier/path_manager.py +2 -1
  8. mindspore/_akg/akg/utils/composite_op_helper.py +4 -2
  9. mindspore/_akg/akg/utils/dump_ascend_meta.py +2 -2
  10. mindspore/_akg/akg/utils/gen_random.py +14 -8
  11. mindspore/_akg/akg/utils/op_dsl.py +11 -0
  12. mindspore/_akg/akg/utils/tbe_codegen_utils.py +18 -8
  13. mindspore/_c_dataengine.cpython-37m-x86_64-linux-gnu.so +0 -0
  14. mindspore/_c_expression.cpython-37m-x86_64-linux-gnu.so +0 -0
  15. mindspore/_c_mindrecord.cpython-37m-x86_64-linux-gnu.so +0 -0
  16. mindspore/_checkparam.py +78 -0
  17. mindspore/_extends/builtin_operations.py +2 -1
  18. mindspore/_extends/graph_kernel/model/graph_parallel.py +16 -6
  19. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +3 -16
  20. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +16 -4
  21. mindspore/_extends/parallel_compile/akg_compiler/compiler.py +1 -0
  22. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +96 -0
  23. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +2 -1
  24. mindspore/_extends/parallel_compile/akg_compiler/util.py +5 -2
  25. mindspore/_extends/parse/__init__.py +18 -14
  26. mindspore/_extends/parse/compile_config.py +229 -0
  27. mindspore/_extends/parse/parser.py +155 -59
  28. mindspore/_extends/parse/resources.py +40 -7
  29. mindspore/_extends/parse/standard_method.py +127 -206
  30. mindspore/_extends/remote/kernel_build_server.py +2 -0
  31. mindspore/_mindspore_offline_debug.cpython-37m-x86_64-linux-gnu.so +0 -0
  32. mindspore/{ops/_op_impl/tbe/atomic_addr_clean.py → _profiler.py} +13 -16
  33. mindspore/amp.py +24 -18
  34. mindspore/bin/cache_admin +0 -0
  35. mindspore/bin/cache_server +0 -0
  36. mindspore/boost/boost_cell_wrapper.py +1 -1
  37. mindspore/boost/group_loss_scale_manager.py +1 -1
  38. mindspore/common/__init__.py +7 -3
  39. mindspore/common/_jit_fallback_utils.py +2 -3
  40. mindspore/common/_register_for_adapter.py +7 -0
  41. mindspore/common/_register_for_recompute.py +48 -0
  42. mindspore/common/_stub_tensor.py +7 -1
  43. mindspore/common/_utils.py +5 -17
  44. mindspore/common/api.py +145 -50
  45. mindspore/common/auto_dynamic_shape.py +27 -14
  46. mindspore/common/dtype.py +9 -6
  47. mindspore/common/dump.py +5 -4
  48. mindspore/common/hook_handle.py +51 -4
  49. mindspore/common/initializer.py +1 -1
  50. mindspore/common/jit_config.py +33 -13
  51. mindspore/common/lazy_inline.py +58 -17
  52. mindspore/common/mindir_util.py +12 -2
  53. mindspore/common/mutable.py +79 -14
  54. mindspore/common/parameter.py +24 -4
  55. mindspore/common/recompute.py +247 -0
  56. mindspore/common/seed.py +9 -9
  57. mindspore/common/sparse_tensor.py +251 -18
  58. mindspore/common/symbol.py +122 -0
  59. mindspore/common/tensor.py +391 -465
  60. mindspore/communication/__init__.py +3 -3
  61. mindspore/communication/_comm_helper.py +5 -0
  62. mindspore/communication/management.py +53 -38
  63. mindspore/config/op_info.config +22 -54
  64. mindspore/context.py +176 -55
  65. mindspore/dataset/__init__.py +5 -5
  66. mindspore/dataset/audio/__init__.py +6 -6
  67. mindspore/dataset/audio/transforms.py +711 -158
  68. mindspore/dataset/callback/ds_callback.py +2 -2
  69. mindspore/dataset/engine/cache_client.py +2 -2
  70. mindspore/dataset/engine/datasets.py +72 -38
  71. mindspore/dataset/engine/datasets_audio.py +14 -14
  72. mindspore/dataset/engine/datasets_standard_format.py +33 -3
  73. mindspore/dataset/engine/datasets_text.py +38 -38
  74. mindspore/dataset/engine/datasets_user_defined.py +7 -7
  75. mindspore/dataset/engine/datasets_vision.py +75 -71
  76. mindspore/dataset/engine/offload.py +5 -7
  77. mindspore/dataset/text/__init__.py +3 -3
  78. mindspore/dataset/text/transforms.py +408 -121
  79. mindspore/dataset/text/utils.py +9 -9
  80. mindspore/dataset/transforms/__init__.py +1 -1
  81. mindspore/dataset/transforms/transforms.py +261 -76
  82. mindspore/dataset/utils/browse_dataset.py +9 -9
  83. mindspore/dataset/vision/__init__.py +3 -3
  84. mindspore/dataset/vision/c_transforms.py +5 -5
  85. mindspore/dataset/vision/transforms.py +2264 -514
  86. mindspore/dataset/vision/utils.py +40 -9
  87. mindspore/dataset/vision/validators.py +7 -1
  88. mindspore/experimental/optim/__init__.py +12 -2
  89. mindspore/experimental/optim/adadelta.py +161 -0
  90. mindspore/experimental/optim/adagrad.py +168 -0
  91. mindspore/experimental/optim/adam.py +35 -34
  92. mindspore/experimental/optim/adamax.py +170 -0
  93. mindspore/experimental/optim/adamw.py +40 -16
  94. mindspore/experimental/optim/asgd.py +153 -0
  95. mindspore/experimental/optim/lr_scheduler.py +66 -121
  96. mindspore/experimental/optim/nadam.py +157 -0
  97. mindspore/experimental/optim/optimizer.py +15 -8
  98. mindspore/experimental/optim/radam.py +194 -0
  99. mindspore/experimental/optim/rmsprop.py +154 -0
  100. mindspore/experimental/optim/rprop.py +164 -0
  101. mindspore/experimental/optim/sgd.py +28 -19
  102. mindspore/hal/__init__.py +34 -0
  103. mindspore/hal/_ascend.py +57 -0
  104. mindspore/hal/_base.py +57 -0
  105. mindspore/hal/_cpu.py +56 -0
  106. mindspore/hal/_gpu.py +57 -0
  107. mindspore/hal/device.py +356 -0
  108. mindspore/hal/event.py +179 -0
  109. mindspore/hal/stream.py +339 -0
  110. mindspore/include/api/data_type.h +2 -2
  111. mindspore/include/api/dual_abi_helper.h +16 -3
  112. mindspore/include/api/model.h +1 -3
  113. mindspore/include/api/status.h +14 -0
  114. mindspore/include/c_api/model_c.h +173 -0
  115. mindspore/include/c_api/ms/base/types.h +1 -0
  116. mindspore/include/c_api/types_c.h +19 -0
  117. mindspore/include/dataset/execute.h +1 -3
  118. mindspore/include/mindapi/base/format.h +125 -23
  119. mindspore/include/mindapi/base/types.h +12 -0
  120. mindspore/lib/libdnnl.so.2 +0 -0
  121. mindspore/lib/libmindspore.so +0 -0
  122. mindspore/lib/libmindspore_backend.so +0 -0
  123. mindspore/lib/libmindspore_common.so +0 -0
  124. mindspore/lib/libmindspore_core.so +0 -0
  125. mindspore/lib/libmindspore_glog.so.0 +0 -0
  126. mindspore/lib/libmindspore_gpr.so.15 +0 -0
  127. mindspore/lib/libmindspore_grpc++.so.1 +0 -0
  128. mindspore/lib/libmindspore_grpc.so.15 +0 -0
  129. mindspore/lib/libmindspore_shared_lib.so +0 -0
  130. mindspore/lib/libmpi_adapter.so +0 -0
  131. mindspore/lib/libmpi_collective.so +0 -0
  132. mindspore/lib/libnnacl.so +0 -0
  133. mindspore/lib/libopencv_core.so.4.5 +0 -0
  134. mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
  135. mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
  136. mindspore/lib/libps_cache.so +0 -0
  137. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +2044 -154
  138. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +2044 -33
  139. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/build_tbe_kernel.py +529 -0
  140. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/compiler.py +56 -0
  141. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/custom.py +1109 -0
  142. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/get_file_path.py +36 -0
  143. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +0 -2
  144. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/tbe_topi.py +556 -0
  145. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +0 -2
  146. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
  147. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +6318 -1760
  148. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
  149. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/include/aclnn_add_custom.h +49 -0
  150. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/include/aclnn_decoder_kv_cache.h +59 -0
  151. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/include/aclnn_prompt_kv_cache.h +59 -0
  152. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_api/lib/libcust_opapi.so +0 -0
  153. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/config/ascend310p/aic-ascend310p-ops-info.json +52 -0
  154. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +232 -0
  155. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +232 -0
  156. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/add_custom.cpp +81 -0
  157. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/add_custom.py +134 -0
  158. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/decoder_kv_cache.cpp +192 -0
  159. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/decoder_kv_cache.py +134 -0
  160. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/prompt_kv_cache.cpp +274 -0
  161. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/custom_ascendc_ops_impl/dynamic/prompt_kv_cache.py +134 -0
  162. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/op_tiling/lib/linux/x86_64/libcust_opmaster_rt2.0.so +0 -0
  163. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_impl/ai_core/tbe/op_tiling/liboptiling.so +0 -0
  164. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_proto/inc/op_proto.h +39 -0
  165. mindspore/lib/plugin/ascend/custom_ascendc_ops/op_proto/lib/linux/x86_64/libcust_opsproto_rt2.0.so +0 -0
  166. mindspore/lib/plugin/ascend/libakg.so +0 -0
  167. mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
  168. mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
  169. mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
  170. mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
  171. mindspore/lib/plugin/cpu/libakg.so +0 -0
  172. mindspore/lib/plugin/gpu/libcuda_ops.so.10 +0 -0
  173. mindspore/lib/plugin/gpu/libcuda_ops.so.11 +0 -0
  174. mindspore/lib/plugin/gpu10.1/libakg.so +0 -0
  175. mindspore/lib/plugin/gpu10.1/libnccl.so.2 +0 -0
  176. mindspore/lib/plugin/gpu10.1/libnvidia_collective.so +0 -0
  177. mindspore/lib/plugin/gpu11.1/libakg.so +0 -0
  178. mindspore/lib/plugin/gpu11.1/libnccl.so.2 +0 -0
  179. mindspore/lib/plugin/gpu11.1/libnvidia_collective.so +0 -0
  180. mindspore/lib/plugin/gpu11.6/libakg.so +0 -0
  181. mindspore/lib/plugin/gpu11.6/libnccl.so.2 +0 -0
  182. mindspore/lib/plugin/gpu11.6/libnvidia_collective.so +0 -0
  183. mindspore/lib/plugin/{libmindspore_ascend.so.1 → libmindspore_ascend.so.2} +0 -0
  184. mindspore/lib/plugin/libmindspore_gpu.so.10.1 +0 -0
  185. mindspore/lib/plugin/libmindspore_gpu.so.11.1 +0 -0
  186. mindspore/lib/plugin/libmindspore_gpu.so.11.6 +0 -0
  187. mindspore/log.py +2 -2
  188. mindspore/mindrecord/__init__.py +5 -1
  189. mindspore/mindrecord/config.py +809 -0
  190. mindspore/mindrecord/filereader.py +25 -0
  191. mindspore/mindrecord/filewriter.py +74 -56
  192. mindspore/mindrecord/mindpage.py +40 -6
  193. mindspore/mindrecord/shardutils.py +3 -2
  194. mindspore/mindrecord/shardwriter.py +7 -0
  195. mindspore/mindrecord/tools/cifar100_to_mr.py +8 -13
  196. mindspore/mindrecord/tools/cifar10_to_mr.py +9 -15
  197. mindspore/mindrecord/tools/csv_to_mr.py +4 -9
  198. mindspore/mindrecord/tools/imagenet_to_mr.py +3 -8
  199. mindspore/mindrecord/tools/mnist_to_mr.py +7 -12
  200. mindspore/mindrecord/tools/tfrecord_to_mr.py +1 -6
  201. mindspore/mint/__init__.py +457 -0
  202. mindspore/mint/nn/__init__.py +430 -0
  203. mindspore/mint/nn/functional.py +424 -0
  204. mindspore/mint/optim/__init__.py +24 -0
  205. mindspore/mint/optim/adamw.py +186 -0
  206. mindspore/multiprocessing/__init__.py +72 -0
  207. mindspore/nn/__init__.py +3 -0
  208. mindspore/nn/cell.py +131 -174
  209. mindspore/nn/dynamic_lr.py +2 -2
  210. mindspore/nn/extend/__init__.py +29 -0
  211. mindspore/nn/extend/basic.py +140 -0
  212. mindspore/nn/extend/embedding.py +143 -0
  213. mindspore/{rewrite/ast_creator_register.py → nn/extend/layer/__init__.py} +9 -19
  214. mindspore/nn/extend/layer/normalization.py +107 -0
  215. mindspore/nn/extend/pooling.py +117 -0
  216. mindspore/nn/generator.py +297 -0
  217. mindspore/nn/layer/activation.py +79 -90
  218. mindspore/nn/layer/basic.py +113 -81
  219. mindspore/nn/layer/channel_shuffle.py +3 -16
  220. mindspore/nn/layer/container.py +3 -3
  221. mindspore/nn/layer/conv.py +71 -71
  222. mindspore/nn/layer/embedding.py +105 -44
  223. mindspore/nn/layer/image.py +4 -7
  224. mindspore/nn/layer/normalization.py +52 -66
  225. mindspore/nn/layer/padding.py +30 -39
  226. mindspore/nn/layer/pooling.py +13 -9
  227. mindspore/nn/layer/rnn_cells.py +5 -15
  228. mindspore/nn/layer/rnns.py +6 -5
  229. mindspore/nn/layer/thor_layer.py +1 -2
  230. mindspore/nn/layer/timedistributed.py +1 -1
  231. mindspore/nn/layer/transformer.py +52 -50
  232. mindspore/nn/learning_rate_schedule.py +6 -5
  233. mindspore/nn/loss/loss.py +43 -64
  234. mindspore/nn/optim/ada_grad.py +4 -2
  235. mindspore/nn/optim/adadelta.py +3 -1
  236. mindspore/nn/optim/adafactor.py +1 -1
  237. mindspore/nn/optim/adam.py +102 -181
  238. mindspore/nn/optim/adamax.py +4 -2
  239. mindspore/nn/optim/adasum.py +2 -2
  240. mindspore/nn/optim/asgd.py +4 -2
  241. mindspore/nn/optim/ftrl.py +31 -61
  242. mindspore/nn/optim/lamb.py +5 -3
  243. mindspore/nn/optim/lars.py +2 -2
  244. mindspore/nn/optim/lazyadam.py +6 -4
  245. mindspore/nn/optim/momentum.py +13 -25
  246. mindspore/nn/optim/optimizer.py +6 -3
  247. mindspore/nn/optim/proximal_ada_grad.py +4 -2
  248. mindspore/nn/optim/rmsprop.py +9 -3
  249. mindspore/nn/optim/rprop.py +4 -2
  250. mindspore/nn/optim/sgd.py +6 -5
  251. mindspore/nn/optim/thor.py +2 -2
  252. mindspore/nn/probability/distribution/_utils/custom_ops.py +2 -2
  253. mindspore/nn/probability/distribution/beta.py +2 -2
  254. mindspore/nn/probability/distribution/categorical.py +4 -6
  255. mindspore/nn/probability/distribution/cauchy.py +2 -2
  256. mindspore/nn/probability/distribution/exponential.py +1 -1
  257. mindspore/nn/probability/distribution/gumbel.py +2 -2
  258. mindspore/nn/probability/distribution/poisson.py +2 -2
  259. mindspore/nn/probability/distribution/uniform.py +2 -2
  260. mindspore/nn/reinforcement/_tensors_queue.py +13 -1
  261. mindspore/nn/wrap/__init__.py +2 -1
  262. mindspore/nn/wrap/cell_wrapper.py +33 -12
  263. mindspore/nn/wrap/grad_reducer.py +148 -8
  264. mindspore/nn/wrap/loss_scale.py +7 -7
  265. mindspore/numpy/__init__.py +2 -0
  266. mindspore/numpy/array_creations.py +2 -0
  267. mindspore/numpy/array_ops.py +1 -5
  268. mindspore/numpy/fft.py +431 -0
  269. mindspore/numpy/math_ops.py +54 -60
  270. mindspore/numpy/utils.py +3 -0
  271. mindspore/ops/__init__.py +5 -4
  272. mindspore/ops/_grad_experimental/grad_array_ops.py +4 -129
  273. mindspore/ops/_grad_experimental/grad_comm_ops.py +14 -18
  274. mindspore/ops/_grad_experimental/grad_math_ops.py +68 -283
  275. mindspore/ops/_grad_experimental/grad_nn_ops.py +0 -53
  276. mindspore/ops/_grad_experimental/grad_quant_ops.py +3 -3
  277. mindspore/ops/_grad_experimental/grad_sparse.py +1 -1
  278. mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
  279. mindspore/ops/_op_impl/__init__.py +0 -1
  280. mindspore/ops/_op_impl/aicpu/gamma.py +2 -0
  281. mindspore/ops/_op_impl/aicpu/generate_eod_mask.py +1 -1
  282. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +1 -3
  283. mindspore/ops/_op_impl/aicpu/poisson.py +2 -0
  284. mindspore/ops/_op_impl/cpu/__init__.py +1 -3
  285. mindspore/ops/_op_impl/cpu/adam.py +2 -2
  286. mindspore/ops/_op_impl/cpu/adam_weight_decay.py +3 -2
  287. mindspore/ops/_op_impl/cpu/maximum_grad.py +16 -14
  288. mindspore/ops/_op_impl/cpu/minimum_grad.py +8 -0
  289. mindspore/ops/_vmap/vmap_array_ops.py +137 -101
  290. mindspore/ops/_vmap/vmap_base.py +8 -1
  291. mindspore/ops/_vmap/vmap_grad_math_ops.py +95 -9
  292. mindspore/ops/_vmap/vmap_grad_nn_ops.py +143 -58
  293. mindspore/ops/_vmap/vmap_image_ops.py +70 -13
  294. mindspore/ops/_vmap/vmap_math_ops.py +101 -57
  295. mindspore/ops/_vmap/vmap_nn_ops.py +230 -97
  296. mindspore/ops/_vmap/vmap_other_ops.py +1 -1
  297. mindspore/ops/auto_generate/__init__.py +31 -0
  298. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +205 -0
  299. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +257 -0
  300. mindspore/ops/auto_generate/gen_arg_handler.py +171 -0
  301. mindspore/ops/auto_generate/gen_extend_func.py +404 -0
  302. mindspore/ops/auto_generate/gen_ops_def.py +5653 -0
  303. mindspore/ops/auto_generate/gen_ops_prim.py +11623 -0
  304. mindspore/ops/auto_generate/pyboost_inner_prim.py +359 -0
  305. mindspore/ops/composite/__init__.py +5 -2
  306. mindspore/ops/composite/base.py +118 -17
  307. mindspore/ops/composite/math_ops.py +9 -48
  308. mindspore/ops/composite/multitype_ops/_compile_utils.py +168 -602
  309. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +24 -133
  310. mindspore/ops/composite/multitype_ops/add_impl.py +6 -0
  311. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +6 -0
  312. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +6 -0
  313. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +6 -0
  314. mindspore/ops/composite/multitype_ops/div_impl.py +8 -0
  315. mindspore/ops/composite/multitype_ops/equal_impl.py +6 -0
  316. mindspore/ops/composite/multitype_ops/floordiv_impl.py +8 -0
  317. mindspore/ops/composite/multitype_ops/getitem_impl.py +6 -0
  318. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +6 -0
  319. mindspore/ops/composite/multitype_ops/greater_impl.py +6 -0
  320. mindspore/ops/composite/multitype_ops/in_impl.py +8 -2
  321. mindspore/ops/composite/multitype_ops/left_shift_impl.py +6 -0
  322. mindspore/ops/composite/multitype_ops/less_equal_impl.py +6 -0
  323. mindspore/ops/composite/multitype_ops/less_impl.py +6 -0
  324. mindspore/ops/composite/multitype_ops/logic_not_impl.py +6 -0
  325. mindspore/ops/composite/multitype_ops/logical_and_impl.py +6 -0
  326. mindspore/ops/composite/multitype_ops/logical_or_impl.py +6 -0
  327. mindspore/ops/composite/multitype_ops/mod_impl.py +6 -0
  328. mindspore/ops/composite/multitype_ops/mul_impl.py +6 -0
  329. mindspore/ops/composite/multitype_ops/negative_impl.py +9 -3
  330. mindspore/ops/composite/multitype_ops/not_equal_impl.py +6 -0
  331. mindspore/ops/composite/multitype_ops/not_in_impl.py +6 -1
  332. mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -2
  333. mindspore/ops/composite/multitype_ops/pow_impl.py +6 -0
  334. mindspore/ops/composite/multitype_ops/right_shift_impl.py +6 -0
  335. mindspore/ops/composite/multitype_ops/setitem_impl.py +32 -21
  336. mindspore/ops/composite/multitype_ops/sub_impl.py +6 -0
  337. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +6 -3
  338. mindspore/ops/deprecated.py +14 -3
  339. mindspore/ops/extend/__init__.py +54 -0
  340. mindspore/ops/extend/array_func.py +259 -0
  341. mindspore/ops/extend/math_func.py +76 -0
  342. mindspore/ops/extend/nn_func.py +384 -0
  343. mindspore/ops/function/__init__.py +37 -12
  344. mindspore/ops/function/array_func.py +702 -1867
  345. mindspore/ops/function/clip_func.py +19 -31
  346. mindspore/ops/function/debug_func.py +1 -4
  347. mindspore/ops/function/fft_func.py +31 -0
  348. mindspore/ops/function/grad/grad_func.py +24 -17
  349. mindspore/ops/function/image_func.py +27 -21
  350. mindspore/ops/function/linalg_func.py +35 -68
  351. mindspore/ops/function/math_func.py +639 -2531
  352. mindspore/ops/function/nn_func.py +1274 -832
  353. mindspore/ops/function/other_func.py +4 -5
  354. mindspore/ops/function/parameter_func.py +5 -93
  355. mindspore/ops/function/random_func.py +84 -71
  356. mindspore/ops/function/sparse_unary_func.py +9 -16
  357. mindspore/ops/function/spectral_func.py +1 -1
  358. mindspore/ops/function/vmap_func.py +14 -14
  359. mindspore/ops/functional.py +57 -63
  360. mindspore/ops/op_info_register.py +16 -43
  361. mindspore/ops/operations/__init__.py +19 -20
  362. mindspore/ops/operations/_grad_ops.py +20 -828
  363. mindspore/ops/operations/_inner_ops.py +180 -288
  364. mindspore/ops/operations/_scalar_ops.py +5 -480
  365. mindspore/ops/operations/_sequence_ops.py +6 -36
  366. mindspore/ops/operations/array_ops.py +83 -2697
  367. mindspore/ops/operations/comm_ops.py +38 -46
  368. mindspore/ops/operations/custom_ops.py +14 -96
  369. mindspore/ops/operations/debug_ops.py +100 -31
  370. mindspore/ops/operations/image_ops.py +1 -217
  371. mindspore/ops/operations/inner_ops.py +3 -38
  372. mindspore/ops/operations/linalg_ops.py +1 -49
  373. mindspore/{rewrite/ast_transformers → ops/operations/manually_defined}/__init__.py +11 -4
  374. mindspore/ops/operations/manually_defined/_inner.py +61 -0
  375. mindspore/ops/operations/manually_defined/ops_def.py +1716 -0
  376. mindspore/ops/operations/math_ops.py +581 -4629
  377. mindspore/ops/operations/nn_ops.py +260 -1941
  378. mindspore/ops/operations/other_ops.py +50 -42
  379. mindspore/ops/operations/random_ops.py +3 -52
  380. mindspore/ops/operations/sparse_ops.py +3 -3
  381. mindspore/ops/primitive.py +196 -96
  382. mindspore/ops_generate/__init__.py +27 -0
  383. mindspore/ops_generate/arg_dtype_cast.py +257 -0
  384. mindspore/ops_generate/arg_handler.py +171 -0
  385. mindspore/ops_generate/gen_aclnn_implement.py +266 -0
  386. mindspore/ops_generate/gen_ops.py +1062 -0
  387. mindspore/ops_generate/gen_ops_inner_prim.py +131 -0
  388. mindspore/ops_generate/gen_pyboost_func.py +939 -0
  389. mindspore/ops_generate/gen_utils.py +188 -0
  390. mindspore/ops_generate/op_proto.py +138 -0
  391. mindspore/ops_generate/pyboost_utils.py +349 -0
  392. mindspore/ops_generate/template.py +238 -0
  393. mindspore/parallel/__init__.py +6 -4
  394. mindspore/parallel/_auto_parallel_context.py +52 -2
  395. mindspore/parallel/_cell_wrapper.py +16 -9
  396. mindspore/parallel/_cost_model_context.py +1 -1
  397. mindspore/parallel/_dp_allreduce_fusion.py +159 -159
  398. mindspore/parallel/_parallel_serialization.py +29 -13
  399. mindspore/parallel/_ps_context.py +1 -1
  400. mindspore/parallel/_recovery_context.py +1 -1
  401. mindspore/parallel/_tensor.py +19 -7
  402. mindspore/parallel/_transformer/__init__.py +1 -1
  403. mindspore/parallel/_transformer/layers.py +1 -1
  404. mindspore/parallel/_transformer/loss.py +1 -1
  405. mindspore/parallel/_transformer/moe.py +1 -1
  406. mindspore/parallel/_transformer/op_parallel_config.py +1 -1
  407. mindspore/parallel/_transformer/transformer.py +1 -1
  408. mindspore/parallel/_utils.py +147 -6
  409. mindspore/parallel/algo_parameter_config.py +6 -6
  410. mindspore/parallel/checkpoint_transform.py +180 -24
  411. mindspore/parallel/cluster/__init__.py +15 -0
  412. mindspore/parallel/cluster/process_entity/__init__.py +18 -0
  413. mindspore/parallel/cluster/process_entity/_api.py +345 -0
  414. mindspore/parallel/cluster/process_entity/_utils.py +116 -0
  415. mindspore/parallel/cluster/run.py +139 -0
  416. mindspore/parallel/mpi/__init__.py +1 -1
  417. mindspore/parallel/mpi/_mpi_config.py +1 -1
  418. mindspore/parallel/parameter_broadcast.py +152 -0
  419. mindspore/parallel/shard.py +99 -2
  420. mindspore/profiler/common/util.py +20 -0
  421. mindspore/profiler/envprofiling.py +1 -1
  422. mindspore/{_extends/parallel_compile/tbe_compiler → profiler/parser/ascend_analysis}/__init__.py +1 -1
  423. mindspore/profiler/parser/ascend_analysis/constant.py +66 -0
  424. mindspore/profiler/parser/ascend_analysis/file_manager.py +77 -0
  425. mindspore/profiler/parser/ascend_analysis/function_event.py +146 -0
  426. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +109 -0
  427. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +80 -0
  428. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +52 -0
  429. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +116 -0
  430. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +86 -0
  431. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +59 -0
  432. mindspore/profiler/parser/ascend_cluster_generator.py +14 -9
  433. mindspore/profiler/parser/ascend_communicate_generator.py +0 -1
  434. mindspore/profiler/parser/ascend_flops_generator.py +20 -4
  435. mindspore/profiler/parser/ascend_hccl_generator.py +25 -277
  436. mindspore/profiler/parser/ascend_msprof_exporter.py +112 -132
  437. mindspore/profiler/parser/ascend_msprof_generator.py +73 -283
  438. mindspore/profiler/parser/ascend_op_generator.py +92 -42
  439. mindspore/profiler/parser/ascend_timeline_generator.py +294 -133
  440. mindspore/profiler/parser/base_timeline_generator.py +6 -0
  441. mindspore/profiler/parser/framework_parser.py +3 -2
  442. mindspore/profiler/parser/integrator.py +3 -1
  443. mindspore/profiler/parser/msadvisor_analyzer.py +1 -1
  444. mindspore/profiler/parser/msadvisor_parser.py +1 -1
  445. mindspore/profiler/parser/profiler_info.py +16 -1
  446. mindspore/profiler/profiling.py +305 -167
  447. mindspore/rewrite/__init__.py +2 -13
  448. mindspore/rewrite/api/node.py +121 -35
  449. mindspore/rewrite/api/pattern_engine.py +2 -3
  450. mindspore/rewrite/api/scoped_value.py +16 -15
  451. mindspore/rewrite/api/symbol_tree.py +45 -29
  452. mindspore/rewrite/ast_helpers/__init__.py +3 -6
  453. mindspore/rewrite/ast_helpers/ast_converter.py +143 -0
  454. mindspore/rewrite/ast_helpers/ast_finder.py +48 -0
  455. mindspore/rewrite/ast_helpers/ast_flattener.py +268 -0
  456. mindspore/rewrite/ast_helpers/ast_modifier.py +160 -92
  457. mindspore/rewrite/common/__init__.py +1 -2
  458. mindspore/rewrite/common/config.py +24 -0
  459. mindspore/rewrite/common/{rewrite_elog.py → error_log.py} +39 -39
  460. mindspore/rewrite/{namer.py → common/namer.py} +63 -18
  461. mindspore/rewrite/common/namespace.py +118 -0
  462. mindspore/rewrite/node/__init__.py +5 -5
  463. mindspore/rewrite/node/call_function.py +23 -7
  464. mindspore/rewrite/node/cell_container.py +7 -3
  465. mindspore/rewrite/node/control_flow.py +53 -28
  466. mindspore/rewrite/node/node.py +212 -196
  467. mindspore/rewrite/node/node_manager.py +51 -22
  468. mindspore/rewrite/node/node_topological_manager.py +3 -23
  469. mindspore/rewrite/parsers/__init__.py +12 -0
  470. mindspore/rewrite/parsers/arguments_parser.py +8 -9
  471. mindspore/rewrite/parsers/assign_parser.py +635 -413
  472. mindspore/rewrite/parsers/attribute_parser.py +3 -4
  473. mindspore/rewrite/parsers/class_def_parser.py +107 -144
  474. mindspore/rewrite/parsers/constant_parser.py +5 -5
  475. mindspore/rewrite/parsers/container_parser.py +4 -6
  476. mindspore/rewrite/parsers/expr_parser.py +55 -0
  477. mindspore/rewrite/parsers/for_parser.py +31 -98
  478. mindspore/rewrite/parsers/function_def_parser.py +13 -5
  479. mindspore/rewrite/parsers/if_parser.py +28 -10
  480. mindspore/rewrite/parsers/module_parser.py +8 -182
  481. mindspore/rewrite/parsers/parser.py +1 -5
  482. mindspore/rewrite/parsers/parser_register.py +1 -1
  483. mindspore/rewrite/parsers/return_parser.py +5 -10
  484. mindspore/rewrite/parsers/while_parser.py +59 -0
  485. mindspore/rewrite/sparsify/utils.py +1 -1
  486. mindspore/rewrite/symbol_tree/__init__.py +20 -0
  487. mindspore/rewrite/{symbol_tree.py → symbol_tree/symbol_tree.py} +704 -185
  488. mindspore/rewrite/{symbol_tree_builder.py → symbol_tree/symbol_tree_builder.py} +8 -8
  489. mindspore/rewrite/{symbol_tree_dumper.py → symbol_tree/symbol_tree_dumper.py} +4 -4
  490. mindspore/run_check/_check_version.py +6 -14
  491. mindspore/run_check/run_check.py +1 -1
  492. mindspore/safeguard/rewrite_obfuscation.py +9 -19
  493. mindspore/scipy/__init__.py +2 -1
  494. mindspore/scipy/fft.py +133 -0
  495. mindspore/scipy/linalg.py +140 -55
  496. mindspore/scipy/ops.py +15 -71
  497. mindspore/scipy/ops_grad.py +5 -34
  498. mindspore/scipy/optimize/line_search.py +2 -2
  499. mindspore/scipy/optimize/minimize.py +1 -1
  500. mindspore/train/__init__.py +3 -2
  501. mindspore/train/_utils.py +178 -4
  502. mindspore/train/amp.py +167 -245
  503. mindspore/train/anf_ir_pb2.py +8 -2
  504. mindspore/train/callback/_backup_and_restore.py +4 -4
  505. mindspore/train/callback/_callback.py +4 -4
  506. mindspore/train/callback/_checkpoint.py +39 -13
  507. mindspore/train/callback/_early_stop.py +2 -2
  508. mindspore/train/callback/_landscape.py +14 -8
  509. mindspore/train/callback/_loss_monitor.py +2 -2
  510. mindspore/train/callback/_on_request_exit.py +2 -2
  511. mindspore/train/callback/_reduce_lr_on_plateau.py +2 -2
  512. mindspore/train/callback/_summary_collector.py +7 -7
  513. mindspore/train/callback/_time_monitor.py +2 -2
  514. mindspore/train/data_sink.py +1 -1
  515. mindspore/train/dataset_helper.py +18 -4
  516. mindspore/train/loss_scale_manager.py +2 -2
  517. mindspore/train/metrics/accuracy.py +7 -7
  518. mindspore/train/metrics/confusion_matrix.py +8 -6
  519. mindspore/train/metrics/cosine_similarity.py +6 -4
  520. mindspore/train/metrics/error.py +2 -2
  521. mindspore/train/metrics/metric.py +3 -3
  522. mindspore/train/metrics/perplexity.py +2 -1
  523. mindspore/train/metrics/topk.py +2 -2
  524. mindspore/train/mind_ir_pb2.py +89 -15
  525. mindspore/train/model.py +24 -22
  526. mindspore/train/serialization.py +257 -133
  527. mindspore/train/summary/summary_record.py +51 -28
  528. mindspore/train/train_thor/convert_utils.py +3 -3
  529. mindspore/version.py +1 -1
  530. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc2.dist-info}/METADATA +2 -2
  531. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc2.dist-info}/RECORD +534 -1066
  532. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc2.dist-info}/entry_points.txt +1 -0
  533. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +0 -662
  534. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +0 -377
  535. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +0 -201
  536. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +0 -515
  537. mindspore/config/super_bar_config.json +0 -544
  538. mindspore/gen_ops.py +0 -273
  539. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
  540. mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
  541. mindspore/nn/layer/flash_attention.py +0 -189
  542. mindspore/ops/_op_impl/cpu/concat.py +0 -39
  543. mindspore/ops/_op_impl/cpu/tensor_shape.py +0 -42
  544. mindspore/ops/_op_impl/tbe/__init__.py +0 -47
  545. mindspore/ops/_op_impl/tbe/abs.py +0 -38
  546. mindspore/ops/_op_impl/tbe/abs_ds.py +0 -39
  547. mindspore/ops/_op_impl/tbe/abs_grad.py +0 -43
  548. mindspore/ops/_op_impl/tbe/abs_grad_ds.py +0 -44
  549. mindspore/ops/_op_impl/tbe/accumulate_n_v2.py +0 -41
  550. mindspore/ops/_op_impl/tbe/accumulate_n_v2_ds.py +0 -42
  551. mindspore/ops/_op_impl/tbe/acos.py +0 -37
  552. mindspore/ops/_op_impl/tbe/acos_ds.py +0 -38
  553. mindspore/ops/_op_impl/tbe/acos_grad.py +0 -43
  554. mindspore/ops/_op_impl/tbe/acos_grad_ds.py +0 -44
  555. mindspore/ops/_op_impl/tbe/acosh.py +0 -37
  556. mindspore/ops/_op_impl/tbe/acosh_ds.py +0 -38
  557. mindspore/ops/_op_impl/tbe/acosh_grad.py +0 -43
  558. mindspore/ops/_op_impl/tbe/acosh_grad_ds.py +0 -44
  559. mindspore/ops/_op_impl/tbe/act_ulq_clamp_max_grad.py +0 -38
  560. mindspore/ops/_op_impl/tbe/act_ulq_clamp_min_grad.py +0 -38
  561. mindspore/ops/_op_impl/tbe/acts_ulq.py +0 -45
  562. mindspore/ops/_op_impl/tbe/acts_ulq_input_grad.py +0 -38
  563. mindspore/ops/_op_impl/tbe/adam_apply_one.py +0 -50
  564. mindspore/ops/_op_impl/tbe/adam_apply_one_assign.py +0 -53
  565. mindspore/ops/_op_impl/tbe/adam_apply_one_ds.py +0 -51
  566. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay.py +0 -54
  567. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay_assign.py +0 -54
  568. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay_ds.py +0 -55
  569. mindspore/ops/_op_impl/tbe/adaptive_max_pool2d.py +0 -37
  570. mindspore/ops/_op_impl/tbe/add.py +0 -42
  571. mindspore/ops/_op_impl/tbe/add_ds.py +0 -43
  572. mindspore/ops/_op_impl/tbe/add_n.py +0 -39
  573. mindspore/ops/_op_impl/tbe/add_n_ds.py +0 -40
  574. mindspore/ops/_op_impl/tbe/addcdiv.py +0 -41
  575. mindspore/ops/_op_impl/tbe/addcdiv_ds.py +0 -42
  576. mindspore/ops/_op_impl/tbe/addcmul.py +0 -43
  577. mindspore/ops/_op_impl/tbe/addcmul_ds.py +0 -44
  578. mindspore/ops/_op_impl/tbe/apply_ada_max.py +0 -68
  579. mindspore/ops/_op_impl/tbe/apply_ada_max_ds.py +0 -69
  580. mindspore/ops/_op_impl/tbe/apply_adadelta.py +0 -66
  581. mindspore/ops/_op_impl/tbe/apply_adadelta_ds.py +0 -67
  582. mindspore/ops/_op_impl/tbe/apply_adagrad.py +0 -55
  583. mindspore/ops/_op_impl/tbe/apply_adagrad_d_a.py +0 -67
  584. mindspore/ops/_op_impl/tbe/apply_adagrad_ds.py +0 -56
  585. mindspore/ops/_op_impl/tbe/apply_adagrad_v2.py +0 -48
  586. mindspore/ops/_op_impl/tbe/apply_adagrad_v2_ds.py +0 -49
  587. mindspore/ops/_op_impl/tbe/apply_adam.py +0 -79
  588. mindspore/ops/_op_impl/tbe/apply_adam_ds.py +0 -80
  589. mindspore/ops/_op_impl/tbe/apply_adam_with_amsgrad.py +0 -60
  590. mindspore/ops/_op_impl/tbe/apply_adam_with_amsgrad_ds.py +0 -61
  591. mindspore/ops/_op_impl/tbe/apply_add_sign.py +0 -65
  592. mindspore/ops/_op_impl/tbe/apply_add_sign_ds.py +0 -66
  593. mindspore/ops/_op_impl/tbe/apply_centered_rms_prop.py +0 -77
  594. mindspore/ops/_op_impl/tbe/apply_centered_rms_prop_ds.py +0 -78
  595. mindspore/ops/_op_impl/tbe/apply_ftrl.py +0 -67
  596. mindspore/ops/_op_impl/tbe/apply_ftrl_ds.py +0 -68
  597. mindspore/ops/_op_impl/tbe/apply_gradient_descent.py +0 -44
  598. mindspore/ops/_op_impl/tbe/apply_gradient_descent_ds.py +0 -45
  599. mindspore/ops/_op_impl/tbe/apply_keras_momentum.py +0 -49
  600. mindspore/ops/_op_impl/tbe/apply_momentum.py +0 -64
  601. mindspore/ops/_op_impl/tbe/apply_momentum_ds.py +0 -65
  602. mindspore/ops/_op_impl/tbe/apply_power_sign.py +0 -65
  603. mindspore/ops/_op_impl/tbe/apply_power_sign_ds.py +0 -66
  604. mindspore/ops/_op_impl/tbe/apply_proximal_adagrad.py +0 -57
  605. mindspore/ops/_op_impl/tbe/apply_proximal_adagrad_ds.py +0 -58
  606. mindspore/ops/_op_impl/tbe/apply_proximal_gradient_descent.py +0 -54
  607. mindspore/ops/_op_impl/tbe/apply_proximal_gradient_descent_ds.py +0 -55
  608. mindspore/ops/_op_impl/tbe/apply_rms_prop.py +0 -52
  609. mindspore/ops/_op_impl/tbe/approximate_equal.py +0 -39
  610. mindspore/ops/_op_impl/tbe/approximate_equal_ds.py +0 -40
  611. mindspore/ops/_op_impl/tbe/arg_max.py +0 -38
  612. mindspore/ops/_op_impl/tbe/arg_max_with_value.py +0 -38
  613. mindspore/ops/_op_impl/tbe/arg_max_with_value_ds.py +0 -39
  614. mindspore/ops/_op_impl/tbe/arg_min.py +0 -38
  615. mindspore/ops/_op_impl/tbe/arg_min_v2_ds.py +0 -40
  616. mindspore/ops/_op_impl/tbe/arg_min_with_value.py +0 -38
  617. mindspore/ops/_op_impl/tbe/arg_min_with_value_ds.py +0 -39
  618. mindspore/ops/_op_impl/tbe/asin.py +0 -37
  619. mindspore/ops/_op_impl/tbe/asin_ds.py +0 -38
  620. mindspore/ops/_op_impl/tbe/asin_grad.py +0 -43
  621. mindspore/ops/_op_impl/tbe/asin_grad_ds.py +0 -44
  622. mindspore/ops/_op_impl/tbe/asinh.py +0 -37
  623. mindspore/ops/_op_impl/tbe/asinh_ds.py +0 -38
  624. mindspore/ops/_op_impl/tbe/asinh_grad.py +0 -43
  625. mindspore/ops/_op_impl/tbe/asinh_grad_ds.py +0 -44
  626. mindspore/ops/_op_impl/tbe/assign.py +0 -79
  627. mindspore/ops/_op_impl/tbe/assign_add.py +0 -59
  628. mindspore/ops/_op_impl/tbe/assign_add_ds.py +0 -60
  629. mindspore/ops/_op_impl/tbe/assign_ds.py +0 -80
  630. mindspore/ops/_op_impl/tbe/assign_sub.py +0 -55
  631. mindspore/ops/_op_impl/tbe/assign_sub_ds.py +0 -56
  632. mindspore/ops/_op_impl/tbe/atan.py +0 -37
  633. mindspore/ops/_op_impl/tbe/atan2.py +0 -38
  634. mindspore/ops/_op_impl/tbe/atan2_ds.py +0 -39
  635. mindspore/ops/_op_impl/tbe/atan_ds.py +0 -38
  636. mindspore/ops/_op_impl/tbe/atan_grad.py +0 -43
  637. mindspore/ops/_op_impl/tbe/atan_grad_ds.py +0 -44
  638. mindspore/ops/_op_impl/tbe/atanh.py +0 -37
  639. mindspore/ops/_op_impl/tbe/atanh_ds.py +0 -38
  640. mindspore/ops/_op_impl/tbe/avg_pool.py +0 -43
  641. mindspore/ops/_op_impl/tbe/avg_pool_3d.py +0 -44
  642. mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +0 -45
  643. mindspore/ops/_op_impl/tbe/avg_pool_ds.py +0 -44
  644. mindspore/ops/_op_impl/tbe/avg_pool_grad.py +0 -42
  645. mindspore/ops/_op_impl/tbe/avg_pool_grad_vm.py +0 -42
  646. mindspore/ops/_op_impl/tbe/basic_lstm_cell.py +0 -57
  647. mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad.py +0 -50
  648. mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad_v2.py +0 -51
  649. mindspore/ops/_op_impl/tbe/basic_lstm_cell_input_grad.py +0 -42
  650. mindspore/ops/_op_impl/tbe/basic_lstm_cell_weight_grad.py +0 -41
  651. mindspore/ops/_op_impl/tbe/batch_matmul.py +0 -42
  652. mindspore/ops/_op_impl/tbe/batch_matmul_ds.py +0 -41
  653. mindspore/ops/_op_impl/tbe/batch_matmul_v2.py +0 -47
  654. mindspore/ops/_op_impl/tbe/batch_to_space.py +0 -38
  655. mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +0 -38
  656. mindspore/ops/_op_impl/tbe/batch_to_space_nd_ds.py +0 -39
  657. mindspore/ops/_op_impl/tbe/batch_to_space_nd_v2.py +0 -41
  658. mindspore/ops/_op_impl/tbe/batchnorm.py +0 -58
  659. mindspore/ops/_op_impl/tbe/batchnorm_grad.py +0 -58
  660. mindspore/ops/_op_impl/tbe/bce_with_logits_loss.py +0 -42
  661. mindspore/ops/_op_impl/tbe/bessel_i0e.py +0 -37
  662. mindspore/ops/_op_impl/tbe/bessel_i0e_ds.py +0 -38
  663. mindspore/ops/_op_impl/tbe/bessel_i1e.py +0 -37
  664. mindspore/ops/_op_impl/tbe/bessel_i1e_ds.py +0 -38
  665. mindspore/ops/_op_impl/tbe/bias_add.py +0 -38
  666. mindspore/ops/_op_impl/tbe/bias_add_ds.py +0 -39
  667. mindspore/ops/_op_impl/tbe/bias_add_grad.py +0 -53
  668. mindspore/ops/_op_impl/tbe/binary_cross_entropy.py +0 -39
  669. mindspore/ops/_op_impl/tbe/binary_cross_entropy_ds.py +0 -40
  670. mindspore/ops/_op_impl/tbe/binary_cross_entropy_grad.py +0 -44
  671. mindspore/ops/_op_impl/tbe/binary_cross_entropy_grad_ds.py +0 -45
  672. mindspore/ops/_op_impl/tbe/bitwise_and.py +0 -39
  673. mindspore/ops/_op_impl/tbe/bitwise_and_ds.py +0 -40
  674. mindspore/ops/_op_impl/tbe/bitwise_or.py +0 -39
  675. mindspore/ops/_op_impl/tbe/bitwise_or_ds.py +0 -40
  676. mindspore/ops/_op_impl/tbe/bitwise_xor.py +0 -39
  677. mindspore/ops/_op_impl/tbe/bitwise_xor_ds.py +0 -40
  678. mindspore/ops/_op_impl/tbe/bn_infer.py +0 -43
  679. mindspore/ops/_op_impl/tbe/bn_infer_ds.py +0 -45
  680. mindspore/ops/_op_impl/tbe/bn_infer_grad.py +0 -41
  681. mindspore/ops/_op_impl/tbe/bn_infer_grad_ds.py +0 -40
  682. mindspore/ops/_op_impl/tbe/bn_inference.py +0 -50
  683. mindspore/ops/_op_impl/tbe/bn_training_reduce.py +0 -38
  684. mindspore/ops/_op_impl/tbe/bn_training_reduce_ds.py +0 -39
  685. mindspore/ops/_op_impl/tbe/bn_training_reduce_grad.py +0 -46
  686. mindspore/ops/_op_impl/tbe/bn_training_reduce_grad_ds.py +0 -47
  687. mindspore/ops/_op_impl/tbe/bn_training_update.py +0 -52
  688. mindspore/ops/_op_impl/tbe/bn_training_update_ds.py +0 -53
  689. mindspore/ops/_op_impl/tbe/bn_training_update_grad.py +0 -44
  690. mindspore/ops/_op_impl/tbe/bn_training_update_grad_ds.py +0 -45
  691. mindspore/ops/_op_impl/tbe/bn_training_update_v2.py +0 -48
  692. mindspore/ops/_op_impl/tbe/bn_training_update_v3.py +0 -51
  693. mindspore/ops/_op_impl/tbe/bounding_box_decode.py +0 -41
  694. mindspore/ops/_op_impl/tbe/bounding_box_decode_ds.py +0 -42
  695. mindspore/ops/_op_impl/tbe/bounding_box_encode.py +0 -38
  696. mindspore/ops/_op_impl/tbe/broadcast_to.py +0 -40
  697. mindspore/ops/_op_impl/tbe/broadcast_to_ds.py +0 -44
  698. mindspore/ops/_op_impl/tbe/cast.py +0 -55
  699. mindspore/ops/_op_impl/tbe/cast_ds.py +0 -58
  700. mindspore/ops/_op_impl/tbe/cdist.py +0 -38
  701. mindspore/ops/_op_impl/tbe/cdist_grad.py +0 -42
  702. mindspore/ops/_op_impl/tbe/ceil.py +0 -37
  703. mindspore/ops/_op_impl/tbe/ceil_ds.py +0 -38
  704. mindspore/ops/_op_impl/tbe/celu.py +0 -39
  705. mindspore/ops/_op_impl/tbe/centralization.py +0 -39
  706. mindspore/ops/_op_impl/tbe/check_valid.py +0 -38
  707. mindspore/ops/_op_impl/tbe/check_valid_ds.py +0 -39
  708. mindspore/ops/_op_impl/tbe/clip_by_norm_no_div_sum.py +0 -41
  709. mindspore/ops/_op_impl/tbe/clip_by_norm_no_div_sum_ds.py +0 -42
  710. mindspore/ops/_op_impl/tbe/clip_by_value.py +0 -41
  711. mindspore/ops/_op_impl/tbe/clip_by_value_ds.py +0 -42
  712. mindspore/ops/_op_impl/tbe/concat.py +0 -40
  713. mindspore/ops/_op_impl/tbe/concat_ds.py +0 -38
  714. mindspore/ops/_op_impl/tbe/confusion_matrix.py +0 -63
  715. mindspore/ops/_op_impl/tbe/confusion_mul_grad.py +0 -40
  716. mindspore/ops/_op_impl/tbe/confusion_softmax_grad.py +0 -41
  717. mindspore/ops/_op_impl/tbe/confusion_transpose_d.py +0 -39
  718. mindspore/ops/_op_impl/tbe/conv2d.py +0 -47
  719. mindspore/ops/_op_impl/tbe/conv2d_backprop_filter.py +0 -42
  720. mindspore/ops/_op_impl/tbe/conv2d_backprop_filter_ds.py +0 -43
  721. mindspore/ops/_op_impl/tbe/conv2d_backprop_input.py +0 -42
  722. mindspore/ops/_op_impl/tbe/conv2d_backprop_input_ds.py +0 -44
  723. mindspore/ops/_op_impl/tbe/conv2d_ds.py +0 -47
  724. mindspore/ops/_op_impl/tbe/conv2d_transpose.py +0 -48
  725. mindspore/ops/_op_impl/tbe/conv3d.py +0 -45
  726. mindspore/ops/_op_impl/tbe/conv3d_backprop_filter.py +0 -42
  727. mindspore/ops/_op_impl/tbe/conv3d_backprop_input.py +0 -42
  728. mindspore/ops/_op_impl/tbe/conv3d_transpose.py +0 -47
  729. mindspore/ops/_op_impl/tbe/conv3d_transpose_ds.py +0 -48
  730. mindspore/ops/_op_impl/tbe/cos.py +0 -37
  731. mindspore/ops/_op_impl/tbe/cos_ds.py +0 -38
  732. mindspore/ops/_op_impl/tbe/cosh.py +0 -37
  733. mindspore/ops/_op_impl/tbe/cosh_ds.py +0 -38
  734. mindspore/ops/_op_impl/tbe/ctc_loss_v2.py +0 -42
  735. mindspore/ops/_op_impl/tbe/ctc_loss_v2_grad.py +0 -44
  736. mindspore/ops/_op_impl/tbe/cum_sum.py +0 -42
  737. mindspore/ops/_op_impl/tbe/cum_sum_ds.py +0 -44
  738. mindspore/ops/_op_impl/tbe/cummin.py +0 -41
  739. mindspore/ops/_op_impl/tbe/cumprod.py +0 -42
  740. mindspore/ops/_op_impl/tbe/data_format_dim_map.py +0 -38
  741. mindspore/ops/_op_impl/tbe/data_format_dim_map_ds.py +0 -40
  742. mindspore/ops/_op_impl/tbe/deformable_offsets.py +0 -45
  743. mindspore/ops/_op_impl/tbe/deformable_offsets_grad.py +0 -48
  744. mindspore/ops/_op_impl/tbe/depth_to_space_ds.py +0 -49
  745. mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +0 -44
  746. mindspore/ops/_op_impl/tbe/depthwise_conv2d_backprop_filter.py +0 -41
  747. mindspore/ops/_op_impl/tbe/depthwise_conv2d_backprop_input.py +0 -41
  748. mindspore/ops/_op_impl/tbe/diag.py +0 -38
  749. mindspore/ops/_op_impl/tbe/diag_part.py +0 -38
  750. mindspore/ops/_op_impl/tbe/dilation.py +0 -40
  751. mindspore/ops/_op_impl/tbe/div.py +0 -41
  752. mindspore/ops/_op_impl/tbe/div_ds.py +0 -42
  753. mindspore/ops/_op_impl/tbe/div_no_nan.py +0 -41
  754. mindspore/ops/_op_impl/tbe/div_no_nan_ds.py +0 -42
  755. mindspore/ops/_op_impl/tbe/dropout_do_mask.py +0 -38
  756. mindspore/ops/_op_impl/tbe/dropout_do_mask_ds.py +0 -39
  757. mindspore/ops/_op_impl/tbe/dropout_do_mask_v3.py +0 -39
  758. mindspore/ops/_op_impl/tbe/dynamic_atomic_addr_clean.py +0 -34
  759. mindspore/ops/_op_impl/tbe/dynamic_gru_v2.py +0 -95
  760. mindspore/ops/_op_impl/tbe/dynamic_rnn.py +0 -82
  761. mindspore/ops/_op_impl/tbe/elu.py +0 -38
  762. mindspore/ops/_op_impl/tbe/elu_ds.py +0 -39
  763. mindspore/ops/_op_impl/tbe/elu_grad.py +0 -43
  764. mindspore/ops/_op_impl/tbe/elu_grad_ds.py +0 -44
  765. mindspore/ops/_op_impl/tbe/equal.py +0 -42
  766. mindspore/ops/_op_impl/tbe/equal_ds.py +0 -42
  767. mindspore/ops/_op_impl/tbe/erf.py +0 -37
  768. mindspore/ops/_op_impl/tbe/erf_ds.py +0 -38
  769. mindspore/ops/_op_impl/tbe/erfc.py +0 -37
  770. mindspore/ops/_op_impl/tbe/erfc_ds.py +0 -38
  771. mindspore/ops/_op_impl/tbe/erfinv.py +0 -36
  772. mindspore/ops/_op_impl/tbe/exp.py +0 -40
  773. mindspore/ops/_op_impl/tbe/exp_ds.py +0 -41
  774. mindspore/ops/_op_impl/tbe/expand_dims.py +0 -38
  775. mindspore/ops/_op_impl/tbe/expm1.py +0 -37
  776. mindspore/ops/_op_impl/tbe/expm1_ds.py +0 -38
  777. mindspore/ops/_op_impl/tbe/extract_image_patches.py +0 -41
  778. mindspore/ops/_op_impl/tbe/extract_volume_patches.py +0 -39
  779. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars.py +0 -39
  780. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_gradient.py +0 -43
  781. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_per_channel.py +0 -39
  782. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_per_channel_gradient.py +0 -43
  783. mindspore/ops/_op_impl/tbe/fast_gelu.py +0 -37
  784. mindspore/ops/_op_impl/tbe/fast_gelu_ds.py +0 -38
  785. mindspore/ops/_op_impl/tbe/fast_gelu_grad.py +0 -41
  786. mindspore/ops/_op_impl/tbe/fast_gelu_grad_ds.py +0 -42
  787. mindspore/ops/_op_impl/tbe/fill.py +0 -56
  788. mindspore/ops/_op_impl/tbe/fill_ds.py +0 -42
  789. mindspore/ops/_op_impl/tbe/flatten.py +0 -48
  790. mindspore/ops/_op_impl/tbe/floor.py +0 -37
  791. mindspore/ops/_op_impl/tbe/floor_div.py +0 -41
  792. mindspore/ops/_op_impl/tbe/floor_div_ds.py +0 -42
  793. mindspore/ops/_op_impl/tbe/floor_ds.py +0 -38
  794. mindspore/ops/_op_impl/tbe/floor_mod.py +0 -39
  795. mindspore/ops/_op_impl/tbe/floor_mod_ds.py +0 -40
  796. mindspore/ops/_op_impl/tbe/fused_dbn_dw.py +0 -52
  797. mindspore/ops/_op_impl/tbe/fused_mul_add.py +0 -38
  798. mindspore/ops/_op_impl/tbe/fused_mul_add_n.py +0 -48
  799. mindspore/ops/_op_impl/tbe/fused_mul_add_n_l2loss.py +0 -53
  800. mindspore/ops/_op_impl/tbe/fused_mul_apply_momentum.py +0 -57
  801. mindspore/ops/_op_impl/tbe/fused_mul_apply_momentum_extern.py +0 -67
  802. mindspore/ops/_op_impl/tbe/gather_nd.py +0 -52
  803. mindspore/ops/_op_impl/tbe/gather_nd_ds.py +0 -48
  804. mindspore/ops/_op_impl/tbe/gather_v2.py +0 -56
  805. mindspore/ops/_op_impl/tbe/gather_v2_ds.py +0 -68
  806. mindspore/ops/_op_impl/tbe/gelu.py +0 -37
  807. mindspore/ops/_op_impl/tbe/gelu_ds.py +0 -38
  808. mindspore/ops/_op_impl/tbe/gelu_grad.py +0 -42
  809. mindspore/ops/_op_impl/tbe/gelu_grad_ds.py +0 -43
  810. mindspore/ops/_op_impl/tbe/ger.py +0 -43
  811. mindspore/ops/_op_impl/tbe/ger_ds.py +0 -44
  812. mindspore/ops/_op_impl/tbe/greater.py +0 -43
  813. mindspore/ops/_op_impl/tbe/greater_equal.py +0 -41
  814. mindspore/ops/_op_impl/tbe/greater_equal_ds.py +0 -42
  815. mindspore/ops/_op_impl/tbe/gru_v2_hidden_grad.py +0 -51
  816. mindspore/ops/_op_impl/tbe/gru_v2_hidden_grad_cell.py +0 -52
  817. mindspore/ops/_op_impl/tbe/hard_swish.py +0 -37
  818. mindspore/ops/_op_impl/tbe/hard_swish_ds.py +0 -38
  819. mindspore/ops/_op_impl/tbe/hard_swish_grad.py +0 -41
  820. mindspore/ops/_op_impl/tbe/hard_swish_grad_ds.py +0 -42
  821. mindspore/ops/_op_impl/tbe/histogram_fixed_width.py +0 -40
  822. mindspore/ops/_op_impl/tbe/hshrink.py +0 -33
  823. mindspore/ops/_op_impl/tbe/hshrink_grad.py +0 -37
  824. mindspore/ops/_op_impl/tbe/hsigmoid.py +0 -45
  825. mindspore/ops/_op_impl/tbe/hsigmoid_grad.py +0 -39
  826. mindspore/ops/_op_impl/tbe/ifmr.py +0 -47
  827. mindspore/ops/_op_impl/tbe/ifmr_ds.py +0 -48
  828. mindspore/ops/_op_impl/tbe/im2col.py +0 -42
  829. mindspore/ops/_op_impl/tbe/in_top_k.py +0 -37
  830. mindspore/ops/_op_impl/tbe/inplace_add.py +0 -39
  831. mindspore/ops/_op_impl/tbe/inplace_index_add.py +0 -46
  832. mindspore/ops/_op_impl/tbe/inplace_sub.py +0 -39
  833. mindspore/ops/_op_impl/tbe/inplace_update.py +0 -39
  834. mindspore/ops/_op_impl/tbe/inplace_update_ds.py +0 -40
  835. mindspore/ops/_op_impl/tbe/inv.py +0 -38
  836. mindspore/ops/_op_impl/tbe/inv_ds.py +0 -39
  837. mindspore/ops/_op_impl/tbe/inv_grad.py +0 -40
  838. mindspore/ops/_op_impl/tbe/inv_grad_ds.py +0 -41
  839. mindspore/ops/_op_impl/tbe/invert.py +0 -37
  840. mindspore/ops/_op_impl/tbe/invert_ds.py +0 -38
  841. mindspore/ops/_op_impl/tbe/iou.py +0 -38
  842. mindspore/ops/_op_impl/tbe/iou_ds.py +0 -39
  843. mindspore/ops/_op_impl/tbe/is_close.py +0 -40
  844. mindspore/ops/_op_impl/tbe/kl_div_loss.py +0 -38
  845. mindspore/ops/_op_impl/tbe/kl_div_loss_ds.py +0 -39
  846. mindspore/ops/_op_impl/tbe/kl_div_loss_grad.py +0 -40
  847. mindspore/ops/_op_impl/tbe/l2_loss.py +0 -36
  848. mindspore/ops/_op_impl/tbe/l2_loss_ds.py +0 -37
  849. mindspore/ops/_op_impl/tbe/l2_normalize.py +0 -38
  850. mindspore/ops/_op_impl/tbe/l2_normalize_grad.py +0 -40
  851. mindspore/ops/_op_impl/tbe/lamb_apply_optimizer_assign.py +0 -55
  852. mindspore/ops/_op_impl/tbe/lamb_apply_weight_assign.py +0 -42
  853. mindspore/ops/_op_impl/tbe/lamb_next_mv.py +0 -59
  854. mindspore/ops/_op_impl/tbe/lamb_next_mv_with_decay.py +0 -59
  855. mindspore/ops/_op_impl/tbe/lamb_next_right.py +0 -44
  856. mindspore/ops/_op_impl/tbe/lamb_update_with_lr.py +0 -48
  857. mindspore/ops/_op_impl/tbe/lamb_update_with_lr_v2.py +0 -44
  858. mindspore/ops/_op_impl/tbe/lars_update.py +0 -50
  859. mindspore/ops/_op_impl/tbe/lars_update_ds.py +0 -51
  860. mindspore/ops/_op_impl/tbe/layer_norm.py +0 -46
  861. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop.py +0 -44
  862. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_ds.py +0 -45
  863. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2.py +0 -40
  864. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2_ds.py +0 -41
  865. mindspore/ops/_op_impl/tbe/layer_norm_ds.py +0 -47
  866. mindspore/ops/_op_impl/tbe/layer_norm_grad.py +0 -48
  867. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop.py +0 -43
  868. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_ds.py +0 -44
  869. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_v2.py +0 -45
  870. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_v2_ds.py +0 -45
  871. mindspore/ops/_op_impl/tbe/lerp.py +0 -38
  872. mindspore/ops/_op_impl/tbe/less.py +0 -41
  873. mindspore/ops/_op_impl/tbe/less_ds.py +0 -42
  874. mindspore/ops/_op_impl/tbe/less_equal.py +0 -41
  875. mindspore/ops/_op_impl/tbe/less_equal_ds.py +0 -42
  876. mindspore/ops/_op_impl/tbe/log.py +0 -40
  877. mindspore/ops/_op_impl/tbe/log1p.py +0 -37
  878. mindspore/ops/_op_impl/tbe/log1p_ds.py +0 -38
  879. mindspore/ops/_op_impl/tbe/log_ds.py +0 -41
  880. mindspore/ops/_op_impl/tbe/logical_and.py +0 -37
  881. mindspore/ops/_op_impl/tbe/logical_and_ds.py +0 -38
  882. mindspore/ops/_op_impl/tbe/logical_not.py +0 -36
  883. mindspore/ops/_op_impl/tbe/logical_not_ds.py +0 -37
  884. mindspore/ops/_op_impl/tbe/logical_or.py +0 -37
  885. mindspore/ops/_op_impl/tbe/logical_or_ds.py +0 -38
  886. mindspore/ops/_op_impl/tbe/logsoftmax.py +0 -37
  887. mindspore/ops/_op_impl/tbe/logsoftmax_ds.py +0 -38
  888. mindspore/ops/_op_impl/tbe/logsoftmax_grad.py +0 -38
  889. mindspore/ops/_op_impl/tbe/logsoftmax_grad_ds.py +0 -39
  890. mindspore/ops/_op_impl/tbe/lp_norm.py +0 -40
  891. mindspore/ops/_op_impl/tbe/lp_norm_ds.py +0 -41
  892. mindspore/ops/_op_impl/tbe/lrn.py +0 -41
  893. mindspore/ops/_op_impl/tbe/lrn_grad.py +0 -42
  894. mindspore/ops/_op_impl/tbe/lstm_input_grad.py +0 -51
  895. mindspore/ops/_op_impl/tbe/masked_fill.py +0 -40
  896. mindspore/ops/_op_impl/tbe/masked_fill_ds.py +0 -41
  897. mindspore/ops/_op_impl/tbe/matmul.py +0 -53
  898. mindspore/ops/_op_impl/tbe/matmul_ds.py +0 -47
  899. mindspore/ops/_op_impl/tbe/matmul_v2.py +0 -50
  900. mindspore/ops/_op_impl/tbe/matrix_diag.py +0 -45
  901. mindspore/ops/_op_impl/tbe/matrix_diag_part.py +0 -45
  902. mindspore/ops/_op_impl/tbe/matrix_set_diag.py +0 -46
  903. mindspore/ops/_op_impl/tbe/max_pool.py +0 -39
  904. mindspore/ops/_op_impl/tbe/max_pool3d.py +0 -44
  905. mindspore/ops/_op_impl/tbe/max_pool3d_grad.py +0 -43
  906. mindspore/ops/_op_impl/tbe/max_pool3d_grad_grad.py +0 -44
  907. mindspore/ops/_op_impl/tbe/max_pool_ds.py +0 -40
  908. mindspore/ops/_op_impl/tbe/max_pool_grad.py +0 -43
  909. mindspore/ops/_op_impl/tbe/max_pool_grad_grad.py +0 -41
  910. mindspore/ops/_op_impl/tbe/max_pool_grad_grad_with_argmax.py +0 -41
  911. mindspore/ops/_op_impl/tbe/max_pool_grad_with_argmax.py +0 -42
  912. mindspore/ops/_op_impl/tbe/max_pool_with_argmax.py +0 -40
  913. mindspore/ops/_op_impl/tbe/maximum.py +0 -39
  914. mindspore/ops/_op_impl/tbe/maximum_ds.py +0 -40
  915. mindspore/ops/_op_impl/tbe/maximum_grad.py +0 -46
  916. mindspore/ops/_op_impl/tbe/maximum_grad_ds.py +0 -47
  917. mindspore/ops/_op_impl/tbe/mem_set.py +0 -38
  918. mindspore/ops/_op_impl/tbe/minimum.py +0 -40
  919. mindspore/ops/_op_impl/tbe/minimum_ds.py +0 -41
  920. mindspore/ops/_op_impl/tbe/minimum_grad.py +0 -46
  921. mindspore/ops/_op_impl/tbe/minimum_grad_ds.py +0 -47
  922. mindspore/ops/_op_impl/tbe/mish.py +0 -37
  923. mindspore/ops/_op_impl/tbe/mod.py +0 -41
  924. mindspore/ops/_op_impl/tbe/mod_ds.py +0 -42
  925. mindspore/ops/_op_impl/tbe/mul.py +0 -37
  926. mindspore/ops/_op_impl/tbe/mul_ds.py +0 -38
  927. mindspore/ops/_op_impl/tbe/mul_no_nan.py +0 -39
  928. mindspore/ops/_op_impl/tbe/mul_no_nan_ds.py +0 -40
  929. mindspore/ops/_op_impl/tbe/multilabel_margin_loss.py +0 -39
  930. mindspore/ops/_op_impl/tbe/neg.py +0 -39
  931. mindspore/ops/_op_impl/tbe/neg_ds.py +0 -40
  932. mindspore/ops/_op_impl/tbe/new_im2col.py +0 -40
  933. mindspore/ops/_op_impl/tbe/nll_loss.py +0 -41
  934. mindspore/ops/_op_impl/tbe/nll_loss_grad.py +0 -44
  935. mindspore/ops/_op_impl/tbe/nms_with_mask.py +0 -39
  936. mindspore/ops/_op_impl/tbe/not_equal.py +0 -41
  937. mindspore/ops/_op_impl/tbe/not_equal_ds.py +0 -42
  938. mindspore/ops/_op_impl/tbe/npu_alloc_float_status.py +0 -34
  939. mindspore/ops/_op_impl/tbe/npu_clear_float_status.py +0 -35
  940. mindspore/ops/_op_impl/tbe/npu_clear_float_status_v2.py +0 -35
  941. mindspore/ops/_op_impl/tbe/npu_get_float_status.py +0 -35
  942. mindspore/ops/_op_impl/tbe/npu_get_float_status_v2.py +0 -35
  943. mindspore/ops/_op_impl/tbe/one_hot.py +0 -48
  944. mindspore/ops/_op_impl/tbe/one_hot_ds.py +0 -45
  945. mindspore/ops/_op_impl/tbe/ones_like.py +0 -40
  946. mindspore/ops/_op_impl/tbe/ones_like_ds.py +0 -41
  947. mindspore/ops/_op_impl/tbe/p_s_r_o_i_pooling.py +0 -40
  948. mindspore/ops/_op_impl/tbe/p_s_r_o_i_pooling_grad.py +0 -40
  949. mindspore/ops/_op_impl/tbe/pack.py +0 -58
  950. mindspore/ops/_op_impl/tbe/pack_ds.py +0 -59
  951. mindspore/ops/_op_impl/tbe/pad_d.py +0 -40
  952. mindspore/ops/_op_impl/tbe/pad_d_ds.py +0 -41
  953. mindspore/ops/_op_impl/tbe/parallel_concat.py +0 -70
  954. mindspore/ops/_op_impl/tbe/parallel_resize_bilinear.py +0 -45
  955. mindspore/ops/_op_impl/tbe/parallel_resize_bilinear_grad.py +0 -44
  956. mindspore/ops/_op_impl/tbe/pdist.py +0 -36
  957. mindspore/ops/_op_impl/tbe/pooling.py +0 -46
  958. mindspore/ops/_op_impl/tbe/population_count.py +0 -38
  959. mindspore/ops/_op_impl/tbe/pow.py +0 -41
  960. mindspore/ops/_op_impl/tbe/pow_ds.py +0 -42
  961. mindspore/ops/_op_impl/tbe/prelu.py +0 -37
  962. mindspore/ops/_op_impl/tbe/prelu_ds.py +0 -38
  963. mindspore/ops/_op_impl/tbe/prelu_grad.py +0 -40
  964. mindspore/ops/_op_impl/tbe/range.py +0 -39
  965. mindspore/ops/_op_impl/tbe/real_div.py +0 -38
  966. mindspore/ops/_op_impl/tbe/real_div_ds.py +0 -39
  967. mindspore/ops/_op_impl/tbe/reciprocal.py +0 -36
  968. mindspore/ops/_op_impl/tbe/reciprocal_ds.py +0 -37
  969. mindspore/ops/_op_impl/tbe/reciprocal_grad.py +0 -38
  970. mindspore/ops/_op_impl/tbe/reciprocal_grad_ds.py +0 -39
  971. mindspore/ops/_op_impl/tbe/reduce_all.py +0 -38
  972. mindspore/ops/_op_impl/tbe/reduce_all_ds.py +0 -39
  973. mindspore/ops/_op_impl/tbe/reduce_any.py +0 -38
  974. mindspore/ops/_op_impl/tbe/reduce_any_ds.py +0 -39
  975. mindspore/ops/_op_impl/tbe/reduce_max.py +0 -43
  976. mindspore/ops/_op_impl/tbe/reduce_max_ds.py +0 -41
  977. mindspore/ops/_op_impl/tbe/reduce_mean.py +0 -40
  978. mindspore/ops/_op_impl/tbe/reduce_mean_ds.py +0 -42
  979. mindspore/ops/_op_impl/tbe/reduce_min.py +0 -41
  980. mindspore/ops/_op_impl/tbe/reduce_min_ds.py +0 -41
  981. mindspore/ops/_op_impl/tbe/reduce_prod.py +0 -42
  982. mindspore/ops/_op_impl/tbe/reduce_prod_ds.py +0 -41
  983. mindspore/ops/_op_impl/tbe/reduce_std.py +0 -44
  984. mindspore/ops/_op_impl/tbe/reduce_sum.py +0 -39
  985. mindspore/ops/_op_impl/tbe/reduce_sum_ds.py +0 -41
  986. mindspore/ops/_op_impl/tbe/relu.py +0 -39
  987. mindspore/ops/_op_impl/tbe/relu6.py +0 -38
  988. mindspore/ops/_op_impl/tbe/relu6_ds.py +0 -39
  989. mindspore/ops/_op_impl/tbe/relu6_grad.py +0 -43
  990. mindspore/ops/_op_impl/tbe/relu6_grad_ds.py +0 -44
  991. mindspore/ops/_op_impl/tbe/relu_ds.py +0 -40
  992. mindspore/ops/_op_impl/tbe/relu_grad.py +0 -41
  993. mindspore/ops/_op_impl/tbe/relu_grad_ds.py +0 -42
  994. mindspore/ops/_op_impl/tbe/relu_grad_v2.py +0 -40
  995. mindspore/ops/_op_impl/tbe/relu_grad_v2_ds.py +0 -41
  996. mindspore/ops/_op_impl/tbe/relu_v2.py +0 -40
  997. mindspore/ops/_op_impl/tbe/relu_v2_ds.py +0 -41
  998. mindspore/ops/_op_impl/tbe/renorm.py +0 -39
  999. mindspore/ops/_op_impl/tbe/resize_bilinear.py +0 -40
  1000. mindspore/ops/_op_impl/tbe/resize_bilinear_grad.py +0 -41
  1001. mindspore/ops/_op_impl/tbe/resize_bilinear_v2.py +0 -43
  1002. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor.py +0 -40
  1003. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_ds.py +0 -40
  1004. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_grad.py +0 -39
  1005. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_grad_ds.py +0 -42
  1006. mindspore/ops/_op_impl/tbe/reverse_v2_d.py +0 -37
  1007. mindspore/ops/_op_impl/tbe/rint.py +0 -37
  1008. mindspore/ops/_op_impl/tbe/rint_ds.py +0 -38
  1009. mindspore/ops/_op_impl/tbe/roi_align.py +0 -43
  1010. mindspore/ops/_op_impl/tbe/roi_align_ds.py +0 -44
  1011. mindspore/ops/_op_impl/tbe/roi_align_grad.py +0 -43
  1012. mindspore/ops/_op_impl/tbe/roi_align_grad_ds.py +0 -44
  1013. mindspore/ops/_op_impl/tbe/roll.py +0 -42
  1014. mindspore/ops/_op_impl/tbe/round.py +0 -38
  1015. mindspore/ops/_op_impl/tbe/round_ds.py +0 -39
  1016. mindspore/ops/_op_impl/tbe/rsqrt.py +0 -37
  1017. mindspore/ops/_op_impl/tbe/rsqrt_ds.py +0 -38
  1018. mindspore/ops/_op_impl/tbe/rsqrt_grad.py +0 -40
  1019. mindspore/ops/_op_impl/tbe/rsqrt_grad_ds.py +0 -41
  1020. mindspore/ops/_op_impl/tbe/scatter_add.py +0 -44
  1021. mindspore/ops/_op_impl/tbe/scatter_div.py +0 -46
  1022. mindspore/ops/_op_impl/tbe/scatter_max.py +0 -45
  1023. mindspore/ops/_op_impl/tbe/scatter_min.py +0 -45
  1024. mindspore/ops/_op_impl/tbe/scatter_mul.py +0 -44
  1025. mindspore/ops/_op_impl/tbe/scatter_nd.py +0 -41
  1026. mindspore/ops/_op_impl/tbe/scatter_nd_add.py +0 -45
  1027. mindspore/ops/_op_impl/tbe/scatter_nd_d.py +0 -41
  1028. mindspore/ops/_op_impl/tbe/scatter_nd_ds.py +0 -49
  1029. mindspore/ops/_op_impl/tbe/scatter_nd_sub.py +0 -47
  1030. mindspore/ops/_op_impl/tbe/scatter_nd_sub_ds.py +0 -48
  1031. mindspore/ops/_op_impl/tbe/scatter_nd_update.py +0 -47
  1032. mindspore/ops/_op_impl/tbe/scatter_nd_update_ds.py +0 -48
  1033. mindspore/ops/_op_impl/tbe/scatter_non_aliasing_add.py +0 -39
  1034. mindspore/ops/_op_impl/tbe/scatter_non_aliasing_add_ds.py +0 -40
  1035. mindspore/ops/_op_impl/tbe/scatter_sub.py +0 -47
  1036. mindspore/ops/_op_impl/tbe/scatter_sub_ds.py +0 -48
  1037. mindspore/ops/_op_impl/tbe/scatter_update.py +0 -43
  1038. mindspore/ops/_op_impl/tbe/select.py +0 -38
  1039. mindspore/ops/_op_impl/tbe/select_ds.py +0 -39
  1040. mindspore/ops/_op_impl/tbe/selu.py +0 -39
  1041. mindspore/ops/_op_impl/tbe/selu_ds.py +0 -40
  1042. mindspore/ops/_op_impl/tbe/sgd.py +0 -62
  1043. mindspore/ops/_op_impl/tbe/sigmoid.py +0 -37
  1044. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits.py +0 -41
  1045. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_ds.py +0 -42
  1046. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_grad.py +0 -42
  1047. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_grad_ds.py +0 -43
  1048. mindspore/ops/_op_impl/tbe/sigmoid_ds.py +0 -38
  1049. mindspore/ops/_op_impl/tbe/sigmoid_grad.py +0 -39
  1050. mindspore/ops/_op_impl/tbe/sigmoid_grad_ds.py +0 -40
  1051. mindspore/ops/_op_impl/tbe/sign.py +0 -38
  1052. mindspore/ops/_op_impl/tbe/sign_ds.py +0 -39
  1053. mindspore/ops/_op_impl/tbe/sin.py +0 -37
  1054. mindspore/ops/_op_impl/tbe/sin_ds.py +0 -38
  1055. mindspore/ops/_op_impl/tbe/sinh.py +0 -37
  1056. mindspore/ops/_op_impl/tbe/sinh_ds.py +0 -38
  1057. mindspore/ops/_op_impl/tbe/slice.py +0 -58
  1058. mindspore/ops/_op_impl/tbe/smooth_l1_loss.py +0 -45
  1059. mindspore/ops/_op_impl/tbe/smooth_l1_loss_ds.py +0 -46
  1060. mindspore/ops/_op_impl/tbe/smooth_l1_loss_grad.py +0 -46
  1061. mindspore/ops/_op_impl/tbe/smooth_l1_loss_grad_ds.py +0 -47
  1062. mindspore/ops/_op_impl/tbe/soft_margin_loss.py +0 -38
  1063. mindspore/ops/_op_impl/tbe/soft_margin_loss_grad.py +0 -39
  1064. mindspore/ops/_op_impl/tbe/soft_shrink.py +0 -36
  1065. mindspore/ops/_op_impl/tbe/soft_shrink_grad.py +0 -38
  1066. mindspore/ops/_op_impl/tbe/softmax.py +0 -37
  1067. mindspore/ops/_op_impl/tbe/softmax_cross_entropy_with_logits.py +0 -38
  1068. mindspore/ops/_op_impl/tbe/softmax_cross_entropy_with_logits_ds.py +0 -39
  1069. mindspore/ops/_op_impl/tbe/softmax_ds.py +0 -38
  1070. mindspore/ops/_op_impl/tbe/softmax_grad_ext.py +0 -42
  1071. mindspore/ops/_op_impl/tbe/softmax_v2_with_dropout_do_mask_v3.py +0 -39
  1072. mindspore/ops/_op_impl/tbe/softplus.py +0 -37
  1073. mindspore/ops/_op_impl/tbe/softplus_ds.py +0 -38
  1074. mindspore/ops/_op_impl/tbe/softplus_grad.py +0 -38
  1075. mindspore/ops/_op_impl/tbe/softplus_grad_ds.py +0 -38
  1076. mindspore/ops/_op_impl/tbe/softsign.py +0 -37
  1077. mindspore/ops/_op_impl/tbe/softsign_ds.py +0 -38
  1078. mindspore/ops/_op_impl/tbe/sort.py +0 -38
  1079. mindspore/ops/_op_impl/tbe/sort_ds.py +0 -39
  1080. mindspore/ops/_op_impl/tbe/space_to_batch.py +0 -38
  1081. mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +0 -38
  1082. mindspore/ops/_op_impl/tbe/space_to_depth.py +0 -47
  1083. mindspore/ops/_op_impl/tbe/sparse_apply_adadelta.py +0 -56
  1084. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad.py +0 -45
  1085. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_ds.py +0 -46
  1086. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_v2.py +0 -46
  1087. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_v2_ds.py +0 -47
  1088. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_d.py +0 -53
  1089. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_d_ds.py +0 -50
  1090. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_v2.py +0 -50
  1091. mindspore/ops/_op_impl/tbe/sparse_apply_proximal_adagrad.py +0 -66
  1092. mindspore/ops/_op_impl/tbe/sparse_apply_proximal_adagrad_ds.py +0 -67
  1093. mindspore/ops/_op_impl/tbe/sparse_apply_r_m_s_prop.py +0 -57
  1094. mindspore/ops/_op_impl/tbe/sparse_apply_r_m_s_prop_ds.py +0 -58
  1095. mindspore/ops/_op_impl/tbe/sparse_gather_v2.py +0 -56
  1096. mindspore/ops/_op_impl/tbe/sparse_gather_v2_ds.py +0 -58
  1097. mindspore/ops/_op_impl/tbe/split_d.py +0 -38
  1098. mindspore/ops/_op_impl/tbe/split_d_ds.py +0 -39
  1099. mindspore/ops/_op_impl/tbe/split_v.py +0 -39
  1100. mindspore/ops/_op_impl/tbe/splitv.py +0 -39
  1101. mindspore/ops/_op_impl/tbe/sqrt.py +0 -37
  1102. mindspore/ops/_op_impl/tbe/sqrt_ds.py +0 -38
  1103. mindspore/ops/_op_impl/tbe/sqrt_grad.py +0 -43
  1104. mindspore/ops/_op_impl/tbe/sqrt_grad_ds.py +0 -44
  1105. mindspore/ops/_op_impl/tbe/square.py +0 -38
  1106. mindspore/ops/_op_impl/tbe/square_ds.py +0 -39
  1107. mindspore/ops/_op_impl/tbe/square_sum_all.py +0 -40
  1108. mindspore/ops/_op_impl/tbe/square_sum_all_ds.py +0 -41
  1109. mindspore/ops/_op_impl/tbe/square_sum_v1.py +0 -38
  1110. mindspore/ops/_op_impl/tbe/square_sum_v1_ds.py +0 -39
  1111. mindspore/ops/_op_impl/tbe/square_sum_v2.py +0 -39
  1112. mindspore/ops/_op_impl/tbe/squared_difference.py +0 -39
  1113. mindspore/ops/_op_impl/tbe/squared_difference_ds.py +0 -41
  1114. mindspore/ops/_op_impl/tbe/squeeze.py +0 -37
  1115. mindspore/ops/_op_impl/tbe/strided_read.py +0 -38
  1116. mindspore/ops/_op_impl/tbe/strided_slice_d.py +0 -44
  1117. mindspore/ops/_op_impl/tbe/strided_slice_ds.py +0 -71
  1118. mindspore/ops/_op_impl/tbe/strided_slice_grad_d.py +0 -51
  1119. mindspore/ops/_op_impl/tbe/strided_slice_grad_ds.py +0 -57
  1120. mindspore/ops/_op_impl/tbe/strided_write.py +0 -38
  1121. mindspore/ops/_op_impl/tbe/sub.py +0 -39
  1122. mindspore/ops/_op_impl/tbe/sub_ds.py +0 -40
  1123. mindspore/ops/_op_impl/tbe/tan.py +0 -38
  1124. mindspore/ops/_op_impl/tbe/tan_ds.py +0 -39
  1125. mindspore/ops/_op_impl/tbe/tanh.py +0 -37
  1126. mindspore/ops/_op_impl/tbe/tanh_ds.py +0 -38
  1127. mindspore/ops/_op_impl/tbe/tanh_grad.py +0 -39
  1128. mindspore/ops/_op_impl/tbe/tanh_grad_ds.py +0 -40
  1129. mindspore/ops/_op_impl/tbe/tensor_move.py +0 -49
  1130. mindspore/ops/_op_impl/tbe/tensor_move_ds.py +0 -50
  1131. mindspore/ops/_op_impl/tbe/tensor_scatter_update.py +0 -41
  1132. mindspore/ops/_op_impl/tbe/tile.py +0 -37
  1133. mindspore/ops/_op_impl/tbe/tile_ds.py +0 -42
  1134. mindspore/ops/_op_impl/tbe/top_k.py +0 -42
  1135. mindspore/ops/_op_impl/tbe/top_k_ds.py +0 -43
  1136. mindspore/ops/_op_impl/tbe/trans_data.py +0 -167
  1137. mindspore/ops/_op_impl/tbe/trans_data_ds.py +0 -180
  1138. mindspore/ops/_op_impl/tbe/trans_data_rnn.py +0 -44
  1139. mindspore/ops/_op_impl/tbe/transpose.py +0 -60
  1140. mindspore/ops/_op_impl/tbe/transpose_d.py +0 -47
  1141. mindspore/ops/_op_impl/tbe/transpose_nod.py +0 -60
  1142. mindspore/ops/_op_impl/tbe/trunc.py +0 -39
  1143. mindspore/ops/_op_impl/tbe/truncate_div.py +0 -41
  1144. mindspore/ops/_op_impl/tbe/truncate_div_ds.py +0 -42
  1145. mindspore/ops/_op_impl/tbe/truncate_mod.py +0 -41
  1146. mindspore/ops/_op_impl/tbe/truncate_mod_ds.py +0 -42
  1147. mindspore/ops/_op_impl/tbe/unpack.py +0 -38
  1148. mindspore/ops/_op_impl/tbe/unpack_ds.py +0 -39
  1149. mindspore/ops/_op_impl/tbe/unsorted_segment_max.py +0 -49
  1150. mindspore/ops/_op_impl/tbe/unsorted_segment_max_ds.py +0 -40
  1151. mindspore/ops/_op_impl/tbe/unsorted_segment_min.py +0 -49
  1152. mindspore/ops/_op_impl/tbe/unsorted_segment_min_ds.py +0 -40
  1153. mindspore/ops/_op_impl/tbe/unsorted_segment_prod.py +0 -49
  1154. mindspore/ops/_op_impl/tbe/unsorted_segment_prod_ds.py +0 -38
  1155. mindspore/ops/_op_impl/tbe/unsorted_segment_sum.py +0 -38
  1156. mindspore/ops/_op_impl/tbe/unsorted_segment_sum_ds.py +0 -41
  1157. mindspore/ops/_op_impl/tbe/wts_arq.py +0 -40
  1158. mindspore/ops/_op_impl/tbe/xdivy.py +0 -38
  1159. mindspore/ops/_op_impl/tbe/xdivy_ds.py +0 -39
  1160. mindspore/ops/_op_impl/tbe/xlogy.py +0 -38
  1161. mindspore/ops/_op_impl/tbe/xlogy_ds.py +0 -39
  1162. mindspore/ops/_op_impl/tbe/zeros_like.py +0 -41
  1163. mindspore/ops/_op_impl/tbe/zeros_like_ds.py +0 -42
  1164. mindspore/ops/_tracefunc.py +0 -241
  1165. mindspore/ops/arg_dtype_cast.py +0 -54
  1166. mindspore/rewrite/api/tree_node_helper.py +0 -60
  1167. mindspore/rewrite/ast_helpers/ast_creator.py +0 -115
  1168. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +0 -267
  1169. mindspore/rewrite/ast_transformers/remove_return_out_of_if.py +0 -228
  1170. mindspore/rewrite/namespace.py +0 -53
  1171. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc2.dist-info}/WHEEL +0 -0
  1172. {mindspore-2.2.14.dist-info → mindspore-2.3.0rc2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1062 @@
1
+ # Copyright 2023 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+ """
16
+ Generate operator definition from ops.yaml
17
+ """
18
+ import os
19
+ import re
20
+ import shutil
21
+ import pathlib
22
+ import logging
23
+ import gen_utils
24
+ from gen_utils import (py_licence_str, cc_license_str, check_change_and_replace_file, merge_files,
25
+ safe_load_yaml, convert_dtype_str, write_file)
26
+ from pyboost_utils import get_pyboost_name, is_pyboost_enable, AclnnUtils, get_dtypes
27
+ import template
28
+ from template import CppTemplate
29
+ from gen_pyboost_func import gen_pyboost_code
30
+ from gen_aclnn_implement import gen_aclnn_kernel
31
+
32
+
33
+ def _get_op_name(yaml_key, yaml_value):
34
+ """
35
+ Get op name for python class Primitive or c++ OpDef name.
36
+ """
37
+ # If has class item, use the specified item.
38
+ class_def = yaml_value.get("class")
39
+ if class_def is not None:
40
+ class_name_specify = class_def.get("name")
41
+ if class_name_specify is not None:
42
+ return class_name_specify
43
+ # Else use the default rule generate class name.
44
+ op_name = yaml_key
45
+ class_name_normal = ''.join(word.capitalize() for word in op_name.split('_'))
46
+ return class_name_normal
47
+
48
+
49
+ def _get_op_func_name(yaml_key, yaml_value):
50
+ func_def = yaml_value.get('function')
51
+ func_name = yaml_key
52
+
53
+ if func_def is not None:
54
+ item = func_def.get("name")
55
+ if item is not None:
56
+ func_name = item
57
+ return func_name
58
+
59
+
60
+ def _auto_generate_class_disabled(yaml_value):
61
+ """Check whether class can be auto generated."""
62
+ if 'class' not in yaml_value.keys():
63
+ return False
64
+ class_def = yaml_value.get("class")
65
+ if 'disable' not in class_def.keys():
66
+ return False
67
+ disable_item = class_def.get("disable")
68
+ if disable_item is True:
69
+ return True
70
+ if disable_item is False:
71
+ return False
72
+ raise TypeError(f"The disable label for class should be True or False, but get {disable_item}.")
73
+
74
+
75
+ def _auto_generate_func_disabled(yaml_value):
76
+ """Check whether function can be auto generated."""
77
+ if 'function' not in yaml_value.keys():
78
+ return False
79
+ func_def = yaml_value.get('function')
80
+ if 'disable' not in func_def.keys():
81
+ return False
82
+ disable_item = func_def.get("disable")
83
+ if disable_item is True:
84
+ return True
85
+ if disable_item is False:
86
+ return False
87
+ raise TypeError(f"The disable label for function should be True or False, but get {disable_item}.")
88
+
89
+
90
+ def signature_get_rw_label(arg_name, write_list, read_list, ref_list):
91
+ """
92
+ Generate signature rw code
93
+ """
94
+ for rw_arg_name in write_list:
95
+ if rw_arg_name == arg_name:
96
+ return ', sig.sig_rw.RW_WRITE'
97
+ for read_arg_name in read_list:
98
+ if read_arg_name == arg_name:
99
+ return ', sig.sig_rw.RW_READ'
100
+ for ref_arg_name in ref_list:
101
+ if ref_arg_name == arg_name:
102
+ return ', sig.sig_rw.RW_REF'
103
+ return ''
104
+
105
+
106
+ def signature_get_rw_label_cc(rw_op_name, write_list, read_list, ref_list):
107
+ """
108
+ Generate cc signature rw code
109
+ """
110
+ rw_label = 'kRWDefault'
111
+ for op in write_list:
112
+ if op == rw_op_name:
113
+ rw_label = 'kRWWrite'
114
+ for op in read_list:
115
+ if op == rw_op_name:
116
+ rw_label = 'kRWRead'
117
+ for op in ref_list:
118
+ if op == rw_op_name:
119
+ rw_label = 'kRWRef'
120
+ return 'SignatureEnumRW::' + rw_label
121
+
122
+
123
+ def signature_get_enum_dtype_cc(index):
124
+ """
125
+ Generate cc enum dtype code
126
+ """
127
+ enum_type = 'SignatureEnumDType::'
128
+ type_map = {0: 'kDType',
129
+ 1: 'kDType1',
130
+ 2: 'kDType2',
131
+ 3: 'kDType3',
132
+ 4: 'kDType4',
133
+ 5: 'kDType5',
134
+ 6: 'kDType6',
135
+ 7: 'kDType7',
136
+ 8: 'kDType8',
137
+ 9: 'kDType9'}
138
+ if index in type_map:
139
+ return enum_type + type_map[index]
140
+ return enum_type + 'kDTypeEmptyDefaultValue'
141
+
142
+
143
+ def signature_get_dtype_label(index):
144
+ """
145
+ Generate signature dtype code
146
+ """
147
+ dtype_index = ''
148
+ if index > 0:
149
+ dtype_index = f"""{index}"""
150
+ return f"""dtype=sig.sig_dtype.T{dtype_index}"""
151
+
152
+
153
+ def get_same_dtype_groups(args_signature, args_name):
154
+ """
155
+ Get same dtype groups
156
+ """
157
+ same_dtype_groups = {}
158
+ dtype_conut = 0
159
+ if args_signature is None:
160
+ return same_dtype_groups, dtype_conut
161
+
162
+ dtype_group = args_signature.get('dtype_group')
163
+ if dtype_group is not None:
164
+ args_list = []
165
+ match = re.findall(r'\((.*?)\)', dtype_group)
166
+ for item in match:
167
+ args_list.append(item.replace(' ', '').split(","))
168
+ for arg_name in args_name:
169
+ if arg_name in same_dtype_groups:
170
+ continue
171
+ is_match = False
172
+ for group in args_list:
173
+ if arg_name in group:
174
+ is_match = True
175
+ for item in group:
176
+ same_dtype_groups[item] = dtype_conut
177
+ break
178
+ if not is_match:
179
+ same_dtype_groups[arg_name] = dtype_conut
180
+ dtype_conut = dtype_conut + 1
181
+ return same_dtype_groups, dtype_conut
182
+
183
+
184
+ def generate_py_op_signature(op_name, args_signature, args_name, args_default):
185
+ """
186
+ Generate __mindspore_signature__
187
+ """
188
+ def _check_signature_arg_valid(op_name, sig_arg_names, args_names):
189
+ for sig_arg_name in sig_arg_names:
190
+ if sig_arg_name not in args_names:
191
+ raise ValueError(f"Op {op_name} has no input arg named '{sig_arg_name}'!")
192
+
193
+ if args_signature is None and not args_default:
194
+ return ''
195
+
196
+ signature_code = f""" __mindspore_signature__ = """
197
+
198
+ # Init rw.
199
+ write_list = []
200
+ read_list = []
201
+ ref_list = []
202
+ if args_signature is not None:
203
+ rw_write = args_signature.get('rw_write')
204
+ rw_read = args_signature.get('rw_read')
205
+ rw_ref = args_signature.get('rw_ref')
206
+ if rw_write is not None:
207
+ write_list = rw_write.replace(' ', '').split(",")
208
+ _check_signature_arg_valid(op_name, write_list, args_name)
209
+ if rw_read is not None:
210
+ read_list = rw_read.replace(' ', '').split(",")
211
+ _check_signature_arg_valid(op_name, read_list, args_name)
212
+ if rw_ref is not None:
213
+ ref_list = rw_ref.replace(' ', '').split(",")
214
+ _check_signature_arg_valid(op_name, ref_list, args_name)
215
+ # Init dtype group.
216
+ same_dtype_groups, dtype_conut = get_same_dtype_groups(args_signature, args_name)
217
+ _check_signature_arg_valid(op_name, list(same_dtype_groups.keys()), args_name)
218
+ # Only one dtype_group is set.
219
+ if dtype_conut == 1 and not any([write_list, read_list, ref_list, args_default]):
220
+ signature_code += '('
221
+ for _ in range(len(args_name) - 1):
222
+ signature_code += 'sig.sig_dtype.T, '
223
+ signature_code += 'sig.sig_dtype.T)\n\n'
224
+ return signature_code
225
+
226
+ # Set sig.make_sig.
227
+ signature_code += f""" (\n"""
228
+ for arg_name in args_name:
229
+ signature_code += f""" sig.make_sig('{arg_name}'"""
230
+ signature_code += signature_get_rw_label(arg_name, write_list, read_list, ref_list)
231
+ if arg_name in same_dtype_groups:
232
+ signature_code += f""", """ + signature_get_dtype_label(same_dtype_groups[arg_name])
233
+ if arg_name in args_default:
234
+ signature_code += f""", default=""" + str(args_default[arg_name])
235
+ signature_code += f"""),\n"""
236
+ signature_code += f""" )\n\n"""
237
+ return signature_code
238
+
239
+
240
+ def generate_cc_op_signature(args_signature, args_name):
241
+ """
242
+ generate signatures on in cc file
243
+ :param args_signature:
244
+ :param args_name:
245
+ :return:
246
+ """
247
+ if args_signature is None:
248
+ return ''
249
+ signature_code = ''
250
+ # Init rw.
251
+ write_list = []
252
+ read_list = []
253
+ ref_list = []
254
+ if args_signature is not None:
255
+ rw_write = args_signature.get('rw_write')
256
+ rw_read = args_signature.get('rw_read')
257
+ rw_ref = args_signature.get('rw_ref')
258
+ if rw_write is not None:
259
+ write_list = rw_write.replace(' ', '').split(",")
260
+ if rw_read is not None:
261
+ read_list = rw_read.replace(' ', '').split(",")
262
+ if rw_ref is not None:
263
+ ref_list = rw_ref.replace(' ', '').split(",")
264
+ # Init dtype group.
265
+ same_dtype_groups, _ = get_same_dtype_groups(args_signature, args_name)
266
+ for arg_name in args_name:
267
+ enum_rw = signature_get_rw_label_cc(arg_name, write_list, read_list, ref_list)
268
+ enum_dtype = signature_get_enum_dtype_cc(same_dtype_groups.get(arg_name))
269
+ signature = f"""Signature("{arg_name}", {enum_rw}, \
270
+ SignatureEnumKind::kKindPositionalKeyword, nullptr, {enum_dtype}),\n """
271
+ signature_code += signature
272
+ return signature_code
273
+
274
+
275
+ def generate_py_op_deprecated(deprecated):
276
+ """
277
+ Generate @deprecated
278
+ """
279
+ if deprecated is None:
280
+ return ''
281
+ version = deprecated.get("version")
282
+ if version is None:
283
+ raise ValueError("The version of deprecated can't be None.")
284
+ substitute = deprecated.get("substitute")
285
+ if substitute is None:
286
+ raise ValueError("The substitute of deprecated can't be None.")
287
+ use_substitute = deprecated.get("use_substitute")
288
+ if use_substitute is None:
289
+ raise ValueError("The use_substitute of deprecated can't be None.")
290
+ if use_substitute is not True and use_substitute is not False:
291
+ raise ValueError(f"The use_substitute must be True or False, but got {use_substitute}")
292
+
293
+ deprecated = f""" @deprecated("{version}", "{substitute}", {use_substitute})\n"""
294
+ return deprecated
295
+
296
+
297
+ def _normalize_func_description_fromat(description):
298
+ """
299
+ Process description.
300
+ """
301
+ if not description:
302
+ return description
303
+ lines = description.split("\n")
304
+ if len(lines) == 1:
305
+ return description
306
+ # Add line indentation to other lines after the first line
307
+ for i in range(1, len(lines)):
308
+ indent = " " if lines[i] else ""
309
+ lines[i] = indent + lines[i]
310
+ # Remove trailing blank lines
311
+ lines = lines if lines[-1] != "" else lines[:-1]
312
+ description = "\n".join(lines)
313
+ return description
314
+
315
+
316
+ def _get_op_description(operator_name, doc_str):
317
+ """
318
+ Generate ops api description.
319
+ """
320
+ if doc_str is None:
321
+ print(f"Description is None, op_name: {operator_name}")
322
+ return ""
323
+ description = doc_str.get(operator_name)
324
+ if description is None:
325
+ print(f"Description is None, op_name: {operator_name}")
326
+ return ""
327
+ description = description.get("description")
328
+ if description is None:
329
+ print(f"Description is None, op_name: {operator_name}")
330
+ return ""
331
+ return _normalize_func_description_fromat(description)
332
+
333
+
334
+ def generate_py_op_func(yaml_data, doc_data):
335
+ """
336
+ Generate operator python function api.
337
+ """
338
+ gen_py = ''
339
+
340
+ for operator_name, operator_data in yaml_data.items():
341
+ if _auto_generate_func_disabled(operator_data):
342
+ continue
343
+ func_name = _get_op_func_name(operator_name, operator_data)
344
+ args = operator_data.get('args')
345
+ class_name = _get_op_name(operator_name, operator_data)
346
+ func_args = []
347
+ prim_init_args = []
348
+ prim_call_args = []
349
+ for arg_name, arg_info in args.items():
350
+ is_prim_init = arg_info.get('prim_init')
351
+ has_default = 'default' in arg_info.keys()
352
+
353
+ # step1: Process function args.
354
+ if not has_default:
355
+ func_args.append(f"""{arg_name}""")
356
+ else:
357
+ default_value = arg_info.get('default')
358
+ func_args.append(f"""{arg_name}={default_value}""")
359
+
360
+ # step2: Process primitive object init args.
361
+ if is_prim_init:
362
+ prim_init_args.append(arg_name)
363
+
364
+ # step3: Process primitive object call args.
365
+ else:
366
+ prim_call_args.append(arg_name)
367
+ description = _get_op_description(operator_name, doc_data)
368
+ function_code = f"""\n
369
+ def {func_name}({', '.join(arg for arg in func_args)}):
370
+ r\"\"\"
371
+ {description}
372
+ \"\"\"
373
+ {operator_name}_op = _get_cache_prim({class_name})({', '.join(arg_name for arg_name in prim_init_args)})
374
+ return {operator_name}_op({', '.join(arg_name for arg_name in prim_call_args)})\n"""
375
+
376
+ if not prim_init_args:
377
+ if _auto_generate_class_disabled(operator_data):
378
+ gen_py += f"""\n{operator_name}_op={class_name}()"""
379
+ function_code = f"""\n
380
+ def {func_name}({', '.join(arg for arg in func_args)}):
381
+ r\"\"\"
382
+ {description}
383
+ \"\"\"
384
+ return {operator_name}_op({', '.join(arg_name for arg_name in prim_call_args)})\n"""
385
+ else:
386
+ dis = operator_data.get("dispatch")
387
+ if dis is not None:
388
+ enable_pyboost = dis.get("enable")
389
+ if enable_pyboost:
390
+ function_code = f"""\n
391
+ def {func_name}({', '.join(arg for arg in func_args)}):
392
+ r\"\"\"
393
+ {description}
394
+ \"\"\"
395
+ return {operator_name}_impl({', '.join(arg_name for arg_name, _ in args.items())})\n"""
396
+ gen_py += function_code
397
+
398
+ return gen_py
399
+
400
+
401
+ def get_dtype(arg_info):
402
+ dtype = arg_info.get('dtype')
403
+ # Currently, TypeId is represented by int
404
+ if dtype == 'TypeId':
405
+ dtype = 'int'
406
+ return dtype
407
+
408
+
409
+ def process_args(class_name, args):
410
+ """
411
+ Process arg for yaml, get arg_name, init value, type cast, arg_handler, etc.
412
+ """
413
+ inputs_name = []
414
+ args_name = []
415
+ args_assign = []
416
+ inputs_default = {}
417
+ init_args_with_default = []
418
+ args_handlers = {}
419
+ for arg_name, arg_info in args.items():
420
+ dtype = get_dtype(arg_info)
421
+ default_value = arg_info.get('default')
422
+ has_default = 'default' in arg_info.keys()
423
+ is_prim_init = arg_info.get('prim_init')
424
+ arg_handler = arg_info.get('arg_handler')
425
+
426
+ # step1: get args infos:
427
+ if is_prim_init:
428
+ # step1.1: get args name:
429
+ args_name.append(arg_name)
430
+ # step1.2: get args assign with default value:
431
+ if has_default:
432
+ init_args_with_default.append(f"""{arg_name}={default_value}""")
433
+ else:
434
+ init_args_with_default.append(f"""{arg_name}""")
435
+
436
+ # step1.3: get args set prim arg expression:
437
+ assign_str = gen_utils.get_assign_str_by_type_it(class_name, arg_info, arg_name, dtype)
438
+ if arg_handler:
439
+ assign_str = f""" self._set_prim_arg_with_handler("{arg_name}", {assign_str}, {arg_handler})"""
440
+ else:
441
+ assign_str = f""" self._set_prim_arg("{arg_name}", {assign_str})"""
442
+ args_assign.append(assign_str)
443
+ # step2: get inputs infos:
444
+ else:
445
+ # step2.1: get inputs name:
446
+ inputs_name.append(arg_name)
447
+
448
+ # step2.2: get default value of inputs:
449
+ if has_default:
450
+ inputs_default[arg_name] = default_value
451
+
452
+ # step2.3: get args_handler functions for inputs
453
+ if arg_handler:
454
+ args_handlers[arg_name] = arg_handler
455
+
456
+ return inputs_name, inputs_default, args_name, args_assign, init_args_with_default, args_handlers
457
+
458
+
459
+ def generate_pyboost_import_header(yaml_data):
460
+ """
461
+ Generate python primitive
462
+ """
463
+ pyboost_import_header = ''
464
+ import_pyboost = CppTemplate("from mindspore._c_expression import $var\n")
465
+ for operator_name, operator_data in yaml_data.items():
466
+ is_pyboost = is_pyboost_enable(operator_data)
467
+ if is_pyboost:
468
+ header = import_pyboost.replace(var=get_pyboost_name(operator_name))
469
+ pyboost_import_header += header
470
+ return pyboost_import_header
471
+
472
+
473
+ def _generate_class_description(class_name, func_name, input_args, init_args, func_disabled, doc_str):
474
+ """Generate description for every primitive definition."""
475
+ if func_disabled:
476
+ # if function disabled, function name is equal to operator_name
477
+ description = _get_op_description(func_name, doc_str)
478
+ description = f""" r\"\"\"
479
+ {description}
480
+ \"\"\"
481
+ """
482
+ return description
483
+
484
+ # If function is an released API, refer to the function doc.
485
+ description_str = f""" r\"\"\"
486
+ .. code-block::
487
+
488
+ prim = ops.{class_name}({', '.join(init_args)})
489
+ out = prim({', '.join(input_args)})
490
+
491
+ is equivalent to
492
+
493
+ .. code-block::
494
+
495
+ ops.{func_name}({", ".join(input_args + init_args)})
496
+
497
+ Refer to :func:`mindspore.ops.{func_name}` for more details.
498
+ \"\"\"
499
+ """
500
+ return description_str
501
+
502
+
503
+ def get_init_code(init_code, operator_data):
504
+ """
505
+ Generate init code for primitive
506
+ """
507
+ labels = operator_data.get('labels')
508
+ if labels is not None:
509
+ if init_code != "":
510
+ init_code += "\n"
511
+ init_code += \
512
+ '\n'.join([f""" self.add_prim_attr("{key}", {value})""" for key, value in labels.items()])
513
+ if init_code == "":
514
+ init_code = f""" pass"""
515
+ return init_code
516
+
517
+
518
+ def generate_py_primitive(yaml_data, doc_str):
519
+ """
520
+ Generate python primitive
521
+ """
522
+
523
+ def _generate_arg_handler(class_name, arg, arg_handler, is_optional):
524
+ """Generate arg_handler"""
525
+ arg_handler_call = f"""{arg_handler}('{class_name}', '{arg}', {arg})"""
526
+ if is_optional:
527
+ arg_handler_call = f"""{arg} if {arg} is None else {arg_handler_call}"""
528
+ return arg_handler_call
529
+
530
+ gen_py = ''
531
+ for operator_name, operator_data in yaml_data.items():
532
+ if _auto_generate_class_disabled(operator_data):
533
+ continue
534
+ class_name = _get_op_name(operator_name, operator_data)
535
+ func_name = _get_op_func_name(operator_name, operator_data)
536
+ pyboost_func_name = get_pyboost_name(operator_name)
537
+ args = operator_data.get('args')
538
+ inputs_args, inputs_default, init_args, args_assign, init_args_with_default, args_handlers = \
539
+ process_args(class_name, args)
540
+ init_code = '\n'.join(args_assign)
541
+ signature_code = generate_py_op_signature(class_name, operator_data.get('args_signature'), inputs_args,
542
+ inputs_default)
543
+ deprecated_code = generate_py_op_deprecated(operator_data.get('deprecated'))
544
+ init_code = get_init_code(init_code, operator_data)
545
+ primitive_code = f"""\n
546
+ class {class_name}(Primitive):\n"""
547
+ func_disabled = _auto_generate_func_disabled(operator_data)
548
+ primitive_code += _generate_class_description(class_name, func_name, inputs_args, init_args, func_disabled,
549
+ doc_str)
550
+ if signature_code != "":
551
+ primitive_code += signature_code
552
+ if deprecated_code != "":
553
+ primitive_code += deprecated_code
554
+ primitive_code += f""" @prim_arg_register
555
+ def __init__(self"""
556
+ if init_args_with_default:
557
+ primitive_code += ", " + f"""{', '.join(init_args_with_default) if init_args_with_default else ''}"""
558
+ call_args = []
559
+ for name in inputs_args:
560
+ call_args.append(f"""{name}={inputs_default[name]}""" if name in inputs_default else name)
561
+ primitive_code += f"""):
562
+ {init_code}
563
+
564
+ def __call__(self, {', '.join(call_args)}):"""
565
+ is_pyboost = is_pyboost_enable(operator_data)
566
+ if is_pyboost:
567
+ primitive_code += f"""
568
+ return _convert_stub({pyboost_func_name}(self, ["""
569
+ else:
570
+ primitive_code += f"""
571
+ return super().__call__("""
572
+ if inputs_args:
573
+ args_with_handler = []
574
+ for arg in inputs_args:
575
+ if arg in args_handlers:
576
+ is_optional = inputs_default.get(arg) == "None"
577
+ args_with_handler.append(_generate_arg_handler(class_name, arg, args_handlers[arg], is_optional))
578
+ else:
579
+ args_with_handler.append(arg)
580
+ primitive_code += ', '.join(args_with_handler)
581
+
582
+ if init_args:
583
+ primitive_code += ', '
584
+ primitive_code += ', '.join([f'self.{arg}' for arg in init_args])
585
+ if is_pyboost:
586
+ primitive_code += """]))"""
587
+ else:
588
+ primitive_code += """)
589
+ """
590
+
591
+ gen_py += primitive_code
592
+ if not init_args:
593
+ prim_op_object = f"""\n
594
+ {operator_name}_op={class_name}()
595
+ """
596
+ gen_py += prim_op_object
597
+ return gen_py
598
+
599
+
600
+ def generate_op_name_opdef(yaml_data):
601
+ """
602
+ Generate op name
603
+ """
604
+ op_name_head = f"""
605
+ #ifndef MINDSPORE_CORE_OP_NAME_H_
606
+ #define MINDSPORE_CORE_OP_NAME_H_
607
+
608
+ namespace mindspore::ops {{
609
+ """
610
+
611
+ op_name_end = f"""}} // namespace mindspore::ops
612
+
613
+ #endif // MINDSPORE_CORE_OP_NAME_H_
614
+ """
615
+
616
+ op_name_gen = ''
617
+ op_name_gen += op_name_head
618
+ for operator_name, operator_data in yaml_data.items():
619
+ k_name_op = _get_op_name(operator_name, operator_data)
620
+ op_name_gen += f"""constexpr auto kName{k_name_op} = "{k_name_op}";
621
+ """
622
+
623
+ op_name_gen += op_name_end
624
+ return op_name_gen
625
+
626
+
627
+ def generate_op_prim_opdef(yaml_data):
628
+ """
629
+ Generate primitive c++ definition
630
+ """
631
+ ops_prim_head = f"""
632
+ #ifndef MINDSPORE_CORE_OPS_GEN_OPS_PRIMITIVE_H_
633
+ #define MINDSPORE_CORE_OPS_GEN_OPS_PRIMITIVE_H_
634
+
635
+ #include <memory>
636
+ #include "ir/anf.h"
637
+ #include "ir/primitive.h"
638
+ #include "ops/auto_generate/gen_ops_name.h"
639
+ #include "mindapi/base/macros.h"
640
+
641
+ namespace mindspore::prim {{
642
+ """
643
+
644
+ ops_prim_end = f"""}} // namespace mindspore::prim
645
+ #endif // MINDSPORE_CORE_OPS_GEN_OPS_PRIMITIVE_H_
646
+ """
647
+
648
+ ops_prim_gen = ''
649
+ ops_prim_gen += ops_prim_head
650
+ for operator_name, operator_data in yaml_data.items():
651
+ k_name_op = _get_op_name(operator_name, operator_data)
652
+ ops_prim_gen += f"""GVAR_DEF(PrimitivePtr, kPrim{k_name_op}, std::make_shared<Primitive>(ops::kName{k_name_op}))
653
+ """
654
+ ops_prim_gen += ops_prim_end
655
+ return ops_prim_gen
656
+
657
+
658
+ def generate_lite_ops(yaml_data):
659
+ """
660
+ Generate BaseOperator parameter set and get func
661
+ """
662
+ lite_ops_h_head = f"""
663
+ #ifndef MINDSPORE_CORE_OPS_GEN_LITE_OPS_H_
664
+ #define MINDSPORE_CORE_OPS_GEN_LITE_OPS_H_
665
+
666
+ #include <vector>
667
+ #include "ops/base_operator.h"
668
+ #include "ops/auto_generate/gen_ops_name.h"
669
+
670
+ namespace mindspore::ops {{
671
+ """
672
+
673
+ lite_ops_h_end = f"""}} // namespace mindspore::ops
674
+ #endif // MINDSPORE_CORE_OPS_GEN_LITE_OPS_H_
675
+ """
676
+
677
+ lite_ops_cc_head = """
678
+ #include "ops/auto_generate/gen_lite_ops.h"
679
+ #include "mindapi/src/helper.h"
680
+ #include "ops/primitive_c.h"
681
+ #include "ops/base_operator.h"
682
+ #include "abstract/abstract_value.h"
683
+
684
+ namespace mindspore::ops {
685
+ """
686
+
687
+ lite_ops_cc_end = f"""}} // namespace mindspore::ops
688
+ """
689
+
690
+ lite_ops_h_gen = ''
691
+ lite_ops_cc_gen = ''
692
+
693
+ lite_ops_h_gen += lite_ops_h_head
694
+ lite_ops_cc_gen += lite_ops_cc_head
695
+ for operator_name, operator_data in yaml_data.items():
696
+ op_name = _get_op_name(operator_name, operator_data)
697
+ lite_ops_h_gen += f"""class MIND_API {op_name} : public BaseOperator {{
698
+ public:
699
+ MIND_API_BASE_MEMBER({op_name});
700
+ {op_name}() : BaseOperator(kName{op_name}) {{}}\n"""
701
+ args = operator_data.get('args')
702
+ for _, (arg_name, arg_info) in enumerate(args.items()):
703
+ is_prim_init = arg_info.get('prim_init')
704
+ if not is_prim_init:
705
+ continue
706
+
707
+ dtype = get_dtype(arg_info)
708
+ if dtype == "str":
709
+ dtype = "std::string"
710
+ if dtype == "tuple[int]":
711
+ dtype = "std::vector<int64_t>"
712
+ if dtype == "int":
713
+ dtype = "int64_t"
714
+ lite_ops_h_gen += f""" void set_{arg_name}(const {dtype} &{arg_name});\n"""
715
+ lite_ops_h_gen += f""" {dtype} get_{arg_name}() const;\n"""
716
+
717
+ lite_ops_cc_gen += f"""void {op_name}::set_{arg_name}(const {dtype} &{arg_name}) \
718
+ {{ (void)this->AddAttr("{arg_name}", api::MakeValue({arg_name})); }}\n\n"""
719
+ lite_ops_cc_gen += f"""{dtype} {op_name}::get_{arg_name}() const \
720
+ {{ return GetValue<{dtype}>(GetAttr("{arg_name}")); }}\n\n"""
721
+
722
+ op_name = _get_op_name(operator_name, operator_data)
723
+ lite_ops_cc_gen += f"""REGISTER_PRIMITIVE_C(kName{op_name}, {op_name});\n"""
724
+ lite_ops_cc_gen += f"""MIND_API_OPERATOR_IMPL({op_name}, BaseOperator);\n\n"""
725
+ lite_ops_h_gen += f"""}};\n\n"""
726
+ lite_ops_h_gen += lite_ops_h_end
727
+ lite_ops_cc_gen += lite_ops_cc_end
728
+ return lite_ops_h_gen, lite_ops_cc_gen
729
+
730
+
731
+ def generate_cc_opdef(yaml_data):
732
+ """
733
+ Generate c++ OpDef
734
+ """
735
+ gen_cc_code = f"""\n
736
+ namespace mindspore::ops {{"""
737
+ gen_opdef_map = f"""
738
+ std::unordered_map<std::string, OpDefPtr> gOpDefTable = {{"""
739
+ gen_include = f"""\n
740
+ #include \"ops/auto_generate/gen_ops_def.h\""""
741
+ gen_include += f"""
742
+ #include \"mindspore/core/ir/signature.h\""""
743
+
744
+ for operator_name, operator_data in yaml_data.items():
745
+ args = operator_data.get('args')
746
+ class_name = _get_op_name(operator_name, operator_data)
747
+ inputs_args, _, _, _, _, _ = process_args(class_name, args)
748
+ signature_code = generate_cc_op_signature(operator_data.get('args_signature'), inputs_args)
749
+ args = operator_data.get('args')
750
+ returns = operator_data.get('returns')
751
+ dispatch = operator_data.get("dispatch")
752
+ # dispatch not defined in yaml or dispatch.enable==False
753
+ if not dispatch or not dispatch.get("enable"):
754
+ dispatch = "false"
755
+ else:
756
+ dispatch = "true"
757
+ enable_dispatch_str = f"""{dispatch}"""
758
+
759
+ gen_include += f"""\n#include "ops/ops_func_impl/{operator_name}.h\""""
760
+ cc_index_str = ''
761
+ gen_opdef_map += f"""\n {{"{class_name}", &g{class_name}}},"""
762
+ input_args_str = ''
763
+ args_dict = {}
764
+ for i, (arg_name, arg_info) in enumerate(args.items()):
765
+ args_dict[arg_name] = i
766
+ cc_index_str += f"""{{"{arg_name}", {i}}},\n"""
767
+ dtype = get_dtype(arg_info)
768
+ cc_dtype_str = convert_dtype_str(dtype)
769
+
770
+ is_prim_init = 1 if arg_info.get('prim_init') else 0
771
+ arg_handler = arg_info.get('arg_handler')
772
+ arg_handler_str = "" if arg_handler is None else arg_handler
773
+
774
+ type_cast = arg_info.get('type_cast')
775
+ type_cast_str = "" if type_cast is None else \
776
+ ', '.join('DT_' + type.replace('[', '_').replace(']', '').upper() for type in
777
+ (ct.strip() for ct in type_cast.split(",")))
778
+
779
+ # default: None is regarded as a optional argument.
780
+ is_optional_str = "false"
781
+ if 'default' in arg_info.keys() and arg_info.get('default') == "None":
782
+ is_optional_str = "true"
783
+
784
+ input_args_str += f"""\n {{/*.arg_name_=*/"{arg_name}", /*.arg_dtype_=*/{cc_dtype_str}, """ + \
785
+ f"""/*.as_init_arg_=*/{is_prim_init}, /*.arg_handler_=*/"{arg_handler_str}", """ + \
786
+ f"""/*.cast_dtype_ =*/{{{type_cast_str}}}, /*.is_optional_=*/{is_optional_str}}},"""
787
+
788
+ # Process outputs.
789
+ return_args_str = ''
790
+ for return_name, return_info in returns.items():
791
+ return_dtype = return_info.get('dtype')
792
+ ref_name = return_info.get('inplace')
793
+ ref_index_str = -1 if ref_name is None else args_dict.get(ref_name)
794
+ cc_return_type_str = 'DT_' + return_dtype.replace('[', '_').replace(']', '').upper()
795
+ return_args_str += f"""{{/*.arg_name_=*/"{return_name}", /*.arg_dtype_=*/{cc_return_type_str},
796
+ /*.inplace_input_index_=*/{ref_index_str}}},\n"""
797
+
798
+ op_def_cc = template.OP_PROTO_TEMPLATE.replace(class_name=class_name, input_args=input_args_str,
799
+ return_args=return_args_str, signatures=signature_code,
800
+ indexes=cc_index_str, enable_dispatch=enable_dispatch_str)
801
+ gen_cc_code += op_def_cc
802
+ gen_opdef_map += f"""\n}};"""
803
+ gen_cc_code += gen_opdef_map
804
+
805
+ cc_opdef_end = f"""\n}} // namespace mindspore::ops\n"""
806
+ return gen_include + gen_cc_code + cc_opdef_end
807
+
808
+
809
+ ops_py_prim_header = f"""
810
+ \"\"\"Operators definition generated by gen_ops.py, includes primitive classes.\"\"\"
811
+
812
+ from mindspore.ops.primitive import Primitive, prim_arg_register
813
+ from mindspore.ops import signature as sig
814
+ from mindspore.common import dtype as mstype
815
+ from mindspore.common._decorator import deprecated
816
+ from mindspore.ops._primitive_cache import _get_cache_prim
817
+ from mindspore.ops.auto_generate.gen_arg_dtype_cast import type_it
818
+ from mindspore.ops.auto_generate.gen_arg_handler import *
819
+ from mindspore._c_expression import OpDtype
820
+ from mindspore.common._stub_tensor import _convert_stub
821
+ """
822
+
823
+
824
+ ops_py_def_header = f"""
825
+ \"\"\"Operators definition generated by gen_ops.py, includes functions.\"\"\"
826
+
827
+ from .gen_ops_prim import *
828
+ from .pyboost_inner_prim import *
829
+ from mindspore.ops.operations.manually_defined.ops_def import *
830
+ from mindspore.ops._primitive_cache import _get_cache_prim
831
+ """
832
+
833
+
834
+ def generate_ops_prim_file(work_path, yaml_str, doc_str, file_pre):
835
+ py_path = os.path.join(work_path, f'mindspore/python/mindspore/ops/auto_generate/{file_pre}_ops_prim.py')
836
+ tmp_py_path = os.path.join(work_path, f'mindspore/python/mindspore/ops/auto_generate/tmp_{file_pre}_ops_prim.py')
837
+ pyboost_import_header = generate_pyboost_import_header(yaml_str)
838
+ py_prim = generate_py_primitive(yaml_str, doc_str)
839
+ write_file(tmp_py_path, py_licence_str + ops_py_prim_header + pyboost_import_header + py_prim)
840
+ check_change_and_replace_file(py_path, tmp_py_path)
841
+
842
+
843
+ def generate_ops_def_file(work_path, yaml_str, doc_str, file_pre):
844
+ py_path = os.path.join(work_path, f'mindspore/python/mindspore/ops/auto_generate/{file_pre}_ops_def.py')
845
+ tmp_py_path = os.path.join(work_path, f'mindspore/python/mindspore/ops/auto_generate/tmp_{file_pre}_ops_def.py')
846
+ py_func = generate_py_op_func(yaml_str, doc_str)
847
+ write_file(tmp_py_path, py_licence_str + ops_py_def_header + py_func)
848
+ check_change_and_replace_file(py_path, tmp_py_path)
849
+
850
+
851
+ def generate_ops_py_files(work_path, yaml_str, doc_str, file_pre):
852
+ """
853
+ Generate ops python file from yaml.
854
+ """
855
+ generate_ops_prim_file(work_path, yaml_str, doc_str, file_pre)
856
+ generate_ops_def_file(work_path, yaml_str, doc_str, file_pre)
857
+
858
+
859
+ def generate_ops_cc_files(work_path, yaml_str):
860
+ """
861
+ Generate ops c++ file from yaml.
862
+ """
863
+ # ops_def
864
+ op_cc_path = os.path.join(work_path, 'mindspore/core/ops/auto_generate/gen_ops_def.cc')
865
+ tmp_op_cc_path = os.path.join(work_path, 'mindspore/core/ops/auto_generate/tmp_gen_ops_def.cc')
866
+ cc_def_code = generate_cc_opdef(yaml_str)
867
+ write_file(tmp_op_cc_path, cc_license_str + cc_def_code)
868
+ check_change_and_replace_file(op_cc_path, tmp_op_cc_path)
869
+
870
+ # ops_primitive
871
+ op_prim_path = os.path.join(work_path, 'mindspore/core/ops/auto_generate/gen_ops_primitive.h')
872
+ tmp_op_prim_path = os.path.join(work_path, 'mindspore/core/ops/auto_generate/tmp_gen_ops_primitive.h')
873
+ op_prim_code = generate_op_prim_opdef(yaml_str)
874
+ write_file(tmp_op_prim_path, cc_license_str + op_prim_code)
875
+ check_change_and_replace_file(op_prim_path, tmp_op_prim_path)
876
+
877
+ # lite_h_ops
878
+ lite_ops_h_path = os.path.join(work_path, 'mindspore/core/ops/auto_generate/gen_lite_ops.h')
879
+ tmp_lite_ops_h_path = os.path.join(work_path, 'mindspore/core/ops/auto_generate/tmp_gen_lite_ops.h')
880
+ lite_ops_h_code, lite_ops_cc_code = generate_lite_ops(yaml_str)
881
+ write_file(tmp_lite_ops_h_path, cc_license_str + lite_ops_h_code)
882
+ check_change_and_replace_file(lite_ops_h_path, tmp_lite_ops_h_path)
883
+
884
+ # lite_cc_ops
885
+ lite_ops_cc_path = os.path.join(work_path, 'mindspore/core/ops/auto_generate/gen_lite_ops.cc')
886
+ tmp_lite_ops_cc_path = os.path.join(work_path, 'mindspore/core/ops/auto_generate/tmp_gen_lite_ops.cc')
887
+ write_file(tmp_lite_ops_cc_path, cc_license_str + lite_ops_cc_code)
888
+ check_change_and_replace_file(lite_ops_cc_path, tmp_lite_ops_cc_path)
889
+
890
+ # ops_names
891
+ op_name_path = os.path.join(work_path, 'mindspore/core/ops/auto_generate/gen_ops_name.h')
892
+ tmp_op_name_path = os.path.join(work_path, 'mindspore/core/ops/auto_generate/tmp_gen_ops_name.h')
893
+ op_name_code = generate_op_name_opdef(yaml_str)
894
+ write_file(tmp_op_name_path, cc_license_str + op_name_code)
895
+ check_change_and_replace_file(op_name_path, tmp_op_name_path)
896
+
897
+
898
+ def generate_op_labels(yaml_data):
899
+ """
900
+ Generate python labels
901
+ """
902
+ gen_label_py = f"""op_labels = {{"""
903
+ for operator_name, operator_data in yaml_data.items():
904
+ labels = operator_data.get('labels')
905
+ if labels is not None:
906
+ class_name = _get_op_name(operator_name, operator_data)
907
+ gen_label_py += f"""
908
+ "{class_name}": {{"""
909
+ gen_label_py += f""", """.join([f""""{key}": {value}""" for key, value in labels.items()])
910
+ gen_label_py += f"""}},"""
911
+ gen_label_py += f"""
912
+ }}"""
913
+ return gen_label_py
914
+
915
+
916
+ def generate_op_arg_default_value(yaml_data):
917
+ """
918
+ Generate python default value.
919
+ """
920
+ default_py_header = f"""\"\"\"Operator labels and args default value.\"\"\"
921
+ from mindspore.common import dtype as mstype\n\n"""
922
+
923
+ gen_default_py = default_py_header + f"""op_args_default_value = {{"""
924
+ for operator_name, operator_data in yaml_data.items():
925
+ arg_default_dict = {}
926
+ args = operator_data.get('args')
927
+ for arg_name, arg_info in args.items():
928
+ arg_default = arg_info.get('default')
929
+ if arg_default is not None:
930
+ arg_default_dict[arg_name] = arg_default
931
+ if arg_default_dict:
932
+ class_name = _get_op_name(operator_name, operator_data)
933
+ gen_default_py += f"""
934
+ "{class_name}": {{"""
935
+ gen_default_py += f""", """.join([f""""{key}": {value}""" for key, value in arg_default_dict.items()])
936
+ gen_default_py += f"""}},"""
937
+ gen_default_py += f"""
938
+ }}"""
939
+ return gen_default_py
940
+
941
+
942
+ def generate_create_instance_helper_file(work_path, yaml_str):
943
+ """
944
+ Generate C++ helper file from yaml.
945
+ """
946
+ dst_dir = os.path.join(work_path, 'mindspore/python/mindspore/ops/auto_generate')
947
+ op_py_path = os.path.join(dst_dir, 'cpp_create_prim_instance_helper.py')
948
+ tmp_op_py_path = os.path.join(dst_dir, 'tmp_cpp_create_prim_instance_helper.py')
949
+ py_labels = generate_op_labels(yaml_str)
950
+ py_arg_default = generate_op_arg_default_value(yaml_str)
951
+ write_file(tmp_op_py_path, py_licence_str + "\n" + py_arg_default + "\n\n" + py_labels + "\n")
952
+ check_change_and_replace_file(op_py_path, tmp_op_py_path)
953
+
954
+
955
+ def generate_aclnn_reg_code(yaml_data):
956
+ """generate aclnn register code"""
957
+ reg_code = f"""
958
+ #include "plugin/device/ascend/kernel/opapi/aclnn_kernel_mod.h"
959
+
960
+ namespace mindspore {{
961
+ namespace kernel {{
962
+ """
963
+ for operator_name, operator_data in yaml_data.items():
964
+ dispatch = operator_data.get("dispatch")
965
+ if not dispatch or not dispatch.get("enable"):
966
+ continue
967
+ Ascend = dispatch.get("Ascend")
968
+ if Ascend is not None: # KernelMod is provided by yaml, don't auto generate it.
969
+ continue
970
+ _, _, none_tensor_exist = get_dtypes(operator_data)
971
+ if none_tensor_exist:
972
+ gen_aclnn_kernel(operator_name, auto=True)
973
+ continue
974
+ class_name = ''.join(word.capitalize() for word in operator_name.split('_'))
975
+ op_class = operator_data.get("class")
976
+ if op_class and op_class.get("name") is not None:
977
+ class_name = op_class.get("name")
978
+ inputs_outputs_num = len(operator_data.get("args")) + len(operator_data.get("returns"))
979
+ aclnn_name = AclnnUtils.get_aclnn_interface(class_name)
980
+ reg_code += f"""
981
+ MS_ACLNN_COMMON_KERNEL_FACTORY_REG({class_name}, {aclnn_name}, {inputs_outputs_num});"""
982
+ reg_code += f"""
983
+ }} // namespace kernel
984
+ }} // namespace mindspore
985
+ """
986
+ return reg_code
987
+
988
+
989
+ def generate_aclnn_reg_file(work_path, yaml_str):
990
+ """
991
+ Generate nnacl kernelmod register
992
+ """
993
+ tmp_register_file = work_path + 'mindspore/ccsrc/plugin/device/ascend/kernel/opapi/tmp_aclnn_kernel_register.cc'
994
+ register_file = work_path + 'mindspore/ccsrc/plugin/device/ascend/kernel/opapi/aclnn_kernel_register_auto.cc'
995
+ reg_code = generate_aclnn_reg_code(yaml_str)
996
+ write_file(tmp_register_file, cc_license_str + reg_code)
997
+ check_change_and_replace_file(register_file, tmp_register_file)
998
+
999
+
1000
+ def generate_arg_handler_files(work_path):
1001
+ """
1002
+ Generate arg handler files.
1003
+ """
1004
+ dst_dir = os.path.join(work_path, 'mindspore/python/mindspore/ops/auto_generate')
1005
+ src_arg_handler_path = os.path.join(work_path, 'mindspore/python/mindspore/ops_generate/arg_handler.py')
1006
+ dst_arg_handler_path = os.path.join(dst_dir, 'gen_arg_handler.py')
1007
+ tmp_dst_arg_handler_path = os.path.join(dst_dir, 'tmp_gen_arg_handler.py')
1008
+ if not os.path.exists(dst_dir):
1009
+ os.makedirs(dst_dir)
1010
+ shutil.copy(src_arg_handler_path, tmp_dst_arg_handler_path)
1011
+ check_change_and_replace_file(dst_arg_handler_path, tmp_dst_arg_handler_path)
1012
+
1013
+ src_arg_dtype_cast_path = os.path.join(work_path, 'mindspore/python/mindspore/ops_generate/arg_dtype_cast.py')
1014
+ dst_arg_dtype_cast_path = os.path.join(dst_dir, 'gen_arg_dtype_cast.py')
1015
+ tmp_arg_dtype_cast_path = os.path.join(dst_dir, 'tmp_arg_dtype_cast.py')
1016
+ shutil.copy(src_arg_dtype_cast_path, tmp_arg_dtype_cast_path)
1017
+ check_change_and_replace_file(dst_arg_dtype_cast_path, tmp_arg_dtype_cast_path)
1018
+
1019
+
1020
+ def main():
1021
+ current_path = os.path.dirname(os.path.abspath(__file__))
1022
+ work_path = os.path.join(current_path, '../../../../')
1023
+
1024
+ # merge ops yaml
1025
+ ops_yaml_path = os.path.join(work_path, 'mindspore/python/mindspore/ops_generate/ops.yaml')
1026
+ doc_yaml_path = os.path.join(work_path, 'mindspore/python/mindspore/ops_generate/ops_doc.yaml')
1027
+
1028
+ ops_yaml_dir_path = os.path.join(work_path, 'mindspore/core/ops/ops_def/')
1029
+ doc_yaml_dir_path = os.path.join(work_path, 'mindspore/core/ops/ops_def/doc/')
1030
+ merge_files(ops_yaml_dir_path, ops_yaml_path, '*op.yaml')
1031
+ merge_files(doc_yaml_dir_path, doc_yaml_path, '*doc.yaml')
1032
+
1033
+ # make auto_generate dir
1034
+ cc_path = os.path.join(work_path, 'mindspore/core/ops/auto_generate/')
1035
+ pathlib.Path(cc_path).mkdir(parents=True, exist_ok=True)
1036
+
1037
+ # generate arg_handler files
1038
+ generate_arg_handler_files(work_path)
1039
+
1040
+ # read ops definition str and doc str
1041
+ ops_yaml_str = safe_load_yaml(ops_yaml_path)
1042
+ doc_yaml_str = safe_load_yaml(doc_yaml_path)
1043
+
1044
+ # generate ops python files
1045
+ generate_ops_py_files(work_path, ops_yaml_str, doc_yaml_str, "gen")
1046
+
1047
+ # generate ops c++ files
1048
+ generate_ops_cc_files(work_path, ops_yaml_str)
1049
+ # generate create prim instance helper file
1050
+ generate_create_instance_helper_file(work_path, ops_yaml_str)
1051
+ # generate pyboost code
1052
+ gen_pyboost_code(work_path, ops_yaml_str, doc_yaml_str)
1053
+ # generate aclnn kernelmod register
1054
+ generate_aclnn_reg_file(work_path, ops_yaml_str)
1055
+
1056
+
1057
+ if __name__ == "__main__":
1058
+ try:
1059
+ main()
1060
+ # pylint: disable=broad-except
1061
+ except Exception as e:
1062
+ logging.critical("Auto generate failed, err info: %s", e)