mindspore 2.1.0__cp38-cp38-manylinux1_x86_64.whl → 2.2.11__cp38-cp38-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.

Potentially problematic release.


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

Files changed (589) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +4 -1
  3. mindspore/_akg/akg/build_module.py +5 -6
  4. mindspore/_akg/akg/composite/build_module.py +139 -22
  5. mindspore/_akg/akg/composite/split_stitch.py +10 -11
  6. mindspore/_akg/akg/ms/info_version_adapt.py +67 -1
  7. mindspore/_akg/akg/tvm/api.py +4 -3
  8. mindspore/_akg/akg/tvm/autotvm/__init__.py +1 -2
  9. mindspore/_akg/akg/tvm/autotvm/graph_tuner/base_graph_tuner.py +1 -5
  10. mindspore/_akg/akg/tvm/autotvm/measure/__init__.py +1 -1
  11. mindspore/_akg/akg/tvm/autotvm/measure/measure.py +1 -10
  12. mindspore/_akg/akg/tvm/autotvm/measure/measure_methods.py +1 -372
  13. mindspore/_akg/akg/tvm/build_module.py +16 -1
  14. mindspore/_akg/akg/tvm/contrib/graph_runtime.py +0 -53
  15. mindspore/_akg/akg/tvm/hybrid/parser.py +7 -6
  16. mindspore/_akg/akg/tvm/ir_builder.py +1 -1
  17. mindspore/_akg/akg/tvm/module.py +1 -2
  18. mindspore/_akg/akg/tvm/stmt.py +2 -2
  19. mindspore/_akg/akg/utils/ascend_profilier/cann_file_parser.py +76 -0
  20. mindspore/_akg/akg/utils/ascend_profilier/file_manager.py +56 -0
  21. mindspore/_akg/akg/utils/ascend_profilier/op_summary_bean.py +23 -0
  22. mindspore/_akg/akg/utils/ascend_profilier/op_summary_headers.py +8 -0
  23. mindspore/_akg/akg/utils/ascend_profilier/op_summary_parser.py +42 -0
  24. mindspore/_akg/akg/utils/ascend_profilier/path_manager.py +65 -0
  25. mindspore/_akg/akg/utils/composite_op_helper.py +16 -12
  26. mindspore/_akg/akg/utils/dump_ascend_meta.py +22 -3
  27. mindspore/_akg/akg/utils/kernel_exec.py +98 -274
  28. mindspore/_akg/akg/utils/result_analysis.py +4 -24
  29. mindspore/_akg/akg/utils/tbe_codegen_utils.py +219 -0
  30. mindspore/_akg/akg/utils/util.py +56 -1
  31. mindspore/_c_dataengine.cpython-38-x86_64-linux-gnu.so +0 -0
  32. mindspore/_c_expression.cpython-38-x86_64-linux-gnu.so +0 -0
  33. mindspore/_c_mindrecord.cpython-38-x86_64-linux-gnu.so +0 -0
  34. mindspore/_check_jit_forbidden_api.py +3 -1
  35. mindspore/_checkparam.py +23 -29
  36. mindspore/_extends/graph_kernel/__init__.py +0 -1
  37. mindspore/_extends/graph_kernel/model/graph_split.py +84 -76
  38. mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
  39. mindspore/_extends/graph_kernel/splitter.py +4 -11
  40. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +122 -15
  41. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +84 -67
  42. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
  43. mindspore/_extends/parallel_compile/akg_compiler/util.py +10 -7
  44. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +2 -2
  45. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +6 -5
  46. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
  47. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
  48. mindspore/_extends/parse/__init__.py +13 -15
  49. mindspore/_extends/parse/namespace.py +7 -33
  50. mindspore/_extends/parse/parser.py +67 -72
  51. mindspore/_extends/parse/resources.py +1 -1
  52. mindspore/_extends/parse/standard_method.py +86 -106
  53. mindspore/_extends/parse/trope.py +1 -1
  54. mindspore/_extends/remote/kernel_build_server.py +25 -7
  55. mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
  56. mindspore/_install_custom.py +43 -0
  57. mindspore/_mindspore_offline_debug.cpython-38-x86_64-linux-gnu.so +0 -0
  58. mindspore/amp.py +47 -11
  59. mindspore/bin/cache_admin +0 -0
  60. mindspore/bin/cache_server +0 -0
  61. mindspore/boost/boost.py +1 -8
  62. mindspore/boost/boost_cell_wrapper.py +3 -2
  63. mindspore/boost/grad_accumulation.py +1 -1
  64. mindspore/boost/group_loss_scale_manager.py +8 -7
  65. mindspore/common/__init__.py +5 -3
  66. mindspore/common/_jit_fallback_utils.py +6 -0
  67. mindspore/common/_register_for_adapter.py +2 -0
  68. mindspore/common/_register_for_tensor.py +2 -2
  69. mindspore/common/_stub_tensor.py +13 -0
  70. mindspore/common/_utils.py +29 -0
  71. mindspore/common/api.py +174 -259
  72. mindspore/common/auto_dynamic_shape.py +494 -0
  73. mindspore/common/dtype.py +18 -11
  74. mindspore/common/dump.py +6 -4
  75. mindspore/common/initializer.py +14 -14
  76. mindspore/common/jit_config.py +33 -15
  77. mindspore/common/lazy_inline.py +126 -7
  78. mindspore/common/mindir_util.py +101 -0
  79. mindspore/common/parameter.py +51 -41
  80. mindspore/common/seed.py +4 -4
  81. mindspore/common/sparse_tensor.py +13 -14
  82. mindspore/common/tensor.py +243 -165
  83. mindspore/communication/__init__.py +7 -4
  84. mindspore/communication/_comm_helper.py +83 -4
  85. mindspore/communication/management.py +152 -84
  86. mindspore/config/op_info.config +14 -3
  87. mindspore/config/super_bar_config.json +4 -2
  88. mindspore/context.py +152 -61
  89. mindspore/dataset/__init__.py +5 -5
  90. mindspore/dataset/audio/__init__.py +2 -2
  91. mindspore/dataset/audio/transforms.py +52 -52
  92. mindspore/dataset/callback/ds_callback.py +16 -2
  93. mindspore/dataset/core/config.py +68 -51
  94. mindspore/dataset/engine/cache_client.py +33 -7
  95. mindspore/dataset/engine/datasets.py +250 -112
  96. mindspore/dataset/engine/datasets_audio.py +43 -211
  97. mindspore/dataset/engine/datasets_standard_format.py +16 -35
  98. mindspore/dataset/engine/datasets_text.py +43 -67
  99. mindspore/dataset/engine/datasets_user_defined.py +86 -100
  100. mindspore/dataset/engine/datasets_vision.py +219 -1029
  101. mindspore/dataset/engine/iterators.py +11 -4
  102. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +4 -0
  103. mindspore/dataset/engine/obs/util.py +3 -0
  104. mindspore/dataset/engine/samplers.py +1 -1
  105. mindspore/dataset/engine/validators.py +19 -5
  106. mindspore/dataset/text/__init__.py +3 -3
  107. mindspore/dataset/text/transforms.py +101 -127
  108. mindspore/dataset/text/utils.py +205 -138
  109. mindspore/dataset/transforms/__init__.py +1 -1
  110. mindspore/dataset/transforms/py_transforms_util.py +40 -12
  111. mindspore/dataset/transforms/transforms.py +95 -40
  112. mindspore/dataset/utils/browse_dataset.py +8 -2
  113. mindspore/dataset/utils/line_reader.py +17 -19
  114. mindspore/dataset/vision/__init__.py +3 -3
  115. mindspore/dataset/vision/c_transforms.py +6 -3
  116. mindspore/dataset/vision/transforms.py +409 -287
  117. mindspore/dataset/vision/utils.py +13 -14
  118. mindspore/dataset/vision/validators.py +11 -1
  119. mindspore/experimental/map_parameter.py +14 -0
  120. mindspore/{nn/optim_ex → experimental/optim}/__init__.py +30 -29
  121. mindspore/{nn/optim_ex → experimental/optim}/adam.py +60 -67
  122. mindspore/{nn/optim_ex → experimental/optim}/adamw.py +181 -203
  123. mindspore/experimental/optim/lr_scheduler.py +1427 -0
  124. mindspore/{nn/optim_ex → experimental/optim}/optimizer.py +252 -259
  125. mindspore/{nn/optim_ex → experimental/optim}/sgd.py +147 -152
  126. mindspore/gen_ops.py +273 -0
  127. mindspore/include/OWNERS +0 -1
  128. mindspore/include/api/data_type.h +2 -1
  129. mindspore/include/api/graph.h +0 -15
  130. mindspore/include/api/kernel.h +2 -0
  131. mindspore/include/api/kernel_api.h +37 -12
  132. mindspore/include/api/model.h +17 -14
  133. mindspore/include/api/status.h +8 -3
  134. mindspore/include/api/types.h +37 -4
  135. mindspore/include/c_api/ms/abstract.h +67 -0
  136. mindspore/include/c_api/ms/attribute.h +197 -0
  137. mindspore/include/c_api/ms/base/handle_types.h +43 -0
  138. mindspore/include/c_api/ms/base/macros.h +32 -0
  139. mindspore/include/c_api/ms/base/status.h +33 -0
  140. mindspore/include/c_api/ms/base/types.h +282 -0
  141. mindspore/include/c_api/ms/context.h +102 -0
  142. mindspore/include/c_api/ms/graph.h +160 -0
  143. mindspore/include/c_api/ms/node.h +606 -0
  144. mindspore/include/c_api/ms/tensor.h +161 -0
  145. mindspore/include/c_api/ms/value.h +84 -0
  146. mindspore/include/dataset/constants.h +6 -5
  147. mindspore/include/dataset/execute.h +23 -13
  148. mindspore/include/dataset/text.h +26 -26
  149. mindspore/include/dataset/transforms.h +13 -13
  150. mindspore/include/dataset/vision.h +60 -60
  151. mindspore/include/dataset/vision_ascend.h +5 -6
  152. mindspore/include/dataset/vision_lite.h +17 -17
  153. mindspore/include/mindapi/base/type_id.h +1 -0
  154. mindspore/include/mindapi/base/types.h +1 -0
  155. mindspore/lib/libdnnl.so.2 +0 -0
  156. mindspore/lib/libjemalloc.so.2 +0 -0
  157. mindspore/lib/libmindspore.so +0 -0
  158. mindspore/lib/libmindspore_backend.so +0 -0
  159. mindspore/lib/libmindspore_common.so +0 -0
  160. mindspore/lib/libmindspore_core.so +0 -0
  161. mindspore/lib/libmindspore_glog.so.0 +0 -0
  162. mindspore/lib/libmindspore_gpr.so.15 +0 -0
  163. mindspore/lib/libmindspore_grpc++.so.1 +0 -0
  164. mindspore/lib/libmindspore_grpc.so.15 +0 -0
  165. mindspore/lib/libmindspore_shared_lib.so +0 -0
  166. mindspore/lib/libnnacl.so +0 -0
  167. mindspore/lib/libopencv_core.so.4.5 +0 -0
  168. mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
  169. mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
  170. mindspore/lib/libps_cache.so +0 -0
  171. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310/aic-ascend310-ops-info.json +123 -0
  172. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310p/aic-ascend310p-ops-info.json +123 -0
  173. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +158 -0
  174. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +37 -0
  175. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
  176. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
  177. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
  178. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
  179. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
  180. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
  181. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
  182. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
  183. mindspore/lib/plugin/ascend/custom_aicore_ops/op_proto/libop_proto.so +0 -0
  184. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
  185. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
  186. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +8998 -0
  187. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
  188. mindspore/lib/plugin/ascend/libakg.so +0 -0
  189. mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
  190. mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
  191. mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
  192. mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
  193. mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
  194. mindspore/lib/plugin/cpu/libakg.so +0 -0
  195. mindspore/lib/plugin/gpu/libcuda_ops.so.10 +0 -0
  196. mindspore/lib/plugin/gpu/libcuda_ops.so.11 +0 -0
  197. mindspore/lib/plugin/gpu10.1/libakg.so +0 -0
  198. mindspore/lib/plugin/gpu10.1/libnccl.so.2 +0 -0
  199. mindspore/lib/plugin/gpu11.1/libakg.so +0 -0
  200. mindspore/lib/plugin/gpu11.1/libnccl.so.2 +0 -0
  201. mindspore/lib/plugin/gpu11.6/libakg.so +0 -0
  202. mindspore/lib/plugin/gpu11.6/libnccl.so.2 +0 -0
  203. mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
  204. mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
  205. mindspore/lib/plugin/libmindspore_gpu.so.10.1 +0 -0
  206. mindspore/lib/plugin/libmindspore_gpu.so.11.1 +0 -0
  207. mindspore/lib/plugin/libmindspore_gpu.so.11.6 +0 -0
  208. mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
  209. mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
  210. mindspore/nn/__init__.py +0 -2
  211. mindspore/nn/cell.py +313 -74
  212. mindspore/nn/dynamic_lr.py +21 -21
  213. mindspore/nn/layer/activation.py +22 -30
  214. mindspore/nn/layer/basic.py +15 -13
  215. mindspore/nn/layer/channel_shuffle.py +1 -1
  216. mindspore/nn/layer/container.py +271 -9
  217. mindspore/nn/layer/conv.py +323 -204
  218. mindspore/nn/layer/dense.py +8 -5
  219. mindspore/nn/layer/embedding.py +33 -27
  220. mindspore/nn/layer/flash_attention.py +61 -95
  221. mindspore/nn/layer/image.py +8 -6
  222. mindspore/nn/layer/math.py +16 -25
  223. mindspore/nn/layer/normalization.py +107 -66
  224. mindspore/nn/layer/padding.py +1 -1
  225. mindspore/nn/layer/pooling.py +131 -109
  226. mindspore/nn/layer/rnn_cells.py +27 -22
  227. mindspore/nn/layer/rnns.py +13 -16
  228. mindspore/nn/layer/thor_layer.py +1 -1
  229. mindspore/nn/layer/transformer.py +221 -154
  230. mindspore/nn/learning_rate_schedule.py +9 -1
  231. mindspore/nn/loss/loss.py +235 -174
  232. mindspore/nn/optim/ada_grad.py +2 -1
  233. mindspore/nn/optim/adadelta.py +1 -0
  234. mindspore/nn/optim/adafactor.py +2 -1
  235. mindspore/nn/optim/adam.py +7 -4
  236. mindspore/nn/optim/adamax.py +3 -2
  237. mindspore/nn/optim/adasum.py +2 -2
  238. mindspore/nn/optim/asgd.py +2 -3
  239. mindspore/nn/optim/ftrl.py +6 -5
  240. mindspore/nn/optim/lamb.py +7 -4
  241. mindspore/nn/optim/lars.py +1 -1
  242. mindspore/nn/optim/lazyadam.py +5 -3
  243. mindspore/nn/optim/momentum.py +2 -1
  244. mindspore/nn/optim/optimizer.py +53 -4
  245. mindspore/nn/optim/proximal_ada_grad.py +3 -4
  246. mindspore/nn/optim/rmsprop.py +4 -3
  247. mindspore/nn/optim/rprop.py +23 -12
  248. mindspore/nn/optim/sgd.py +26 -11
  249. mindspore/nn/optim/thor.py +9 -7
  250. mindspore/nn/probability/bijector/bijector.py +5 -5
  251. mindspore/nn/probability/bijector/power_transform.py +27 -27
  252. mindspore/nn/probability/bijector/softplus.py +3 -3
  253. mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
  254. mindspore/nn/probability/distribution/bernoulli.py +5 -5
  255. mindspore/nn/probability/distribution/beta.py +3 -3
  256. mindspore/nn/probability/distribution/categorical.py +7 -7
  257. mindspore/nn/probability/distribution/cauchy.py +0 -1
  258. mindspore/nn/probability/distribution/distribution.py +3 -3
  259. mindspore/nn/probability/distribution/gamma.py +3 -3
  260. mindspore/nn/probability/distribution/geometric.py +4 -4
  261. mindspore/nn/probability/distribution/gumbel.py +4 -4
  262. mindspore/nn/probability/distribution/log_normal.py +2 -2
  263. mindspore/nn/probability/distribution/logistic.py +2 -2
  264. mindspore/nn/probability/distribution/poisson.py +4 -4
  265. mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
  266. mindspore/nn/probability/distribution/uniform.py +6 -6
  267. mindspore/nn/wrap/__init__.py +4 -2
  268. mindspore/nn/wrap/cell_wrapper.py +87 -34
  269. mindspore/nn/wrap/grad_reducer.py +8 -5
  270. mindspore/nn/wrap/loss_scale.py +105 -42
  271. mindspore/numpy/array_creations.py +1 -2
  272. mindspore/numpy/array_ops.py +3 -2
  273. mindspore/numpy/utils_const.py +5 -5
  274. mindspore/offline_debug/convert_async.py +2 -2
  275. mindspore/ops/_grad_experimental/__init__.py +0 -5
  276. mindspore/ops/_grad_experimental/grad_array_ops.py +2 -3
  277. mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
  278. mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
  279. mindspore/ops/_grad_experimental/grad_implementations.py +11 -1
  280. mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
  281. mindspore/ops/_grad_experimental/grad_math_ops.py +19 -199
  282. mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
  283. mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
  284. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
  285. mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
  286. mindspore/ops/_op_impl/aicpu/add.py +3 -3
  287. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
  288. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  289. mindspore/ops/_op_impl/{_custom_op/flash_attention/constants.py → aicpu/eps.py} +18 -27
  290. mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
  291. mindspore/ops/_op_impl/aicpu/linear_sum_assignment.py +21 -2
  292. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
  293. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
  294. mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
  295. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
  296. mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
  297. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
  298. mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
  299. mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
  300. mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
  301. mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
  302. mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
  303. mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
  304. mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
  305. mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
  306. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
  307. mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
  308. mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
  309. mindspore/ops/_op_impl/tbe/__init__.py +4 -4
  310. mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
  311. mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
  312. mindspore/ops/_primitive_cache.py +1 -1
  313. mindspore/ops/_tracefunc.py +45 -13
  314. mindspore/ops/_utils/utils.py +6 -1
  315. mindspore/ops/_vmap/vmap_array_ops.py +3 -3
  316. mindspore/ops/_vmap/vmap_base.py +3 -3
  317. mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
  318. mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
  319. mindspore/ops/_vmap/vmap_math_ops.py +5 -2
  320. mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
  321. mindspore/ops/arg_dtype_cast.py +54 -0
  322. mindspore/ops/composite/base.py +37 -10
  323. mindspore/ops/composite/math_ops.py +5 -4
  324. mindspore/ops/composite/multitype_ops/_compile_utils.py +275 -73
  325. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
  326. mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
  327. mindspore/ops/composite/multitype_ops/getitem_impl.py +42 -4
  328. mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
  329. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  330. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
  331. mindspore/ops/deprecated.py +304 -0
  332. mindspore/ops/function/__init__.py +4 -1
  333. mindspore/ops/function/array_func.py +174 -193
  334. mindspore/ops/function/clip_func.py +81 -13
  335. mindspore/ops/function/debug_func.py +1 -1
  336. mindspore/ops/function/grad/grad_func.py +18 -9
  337. mindspore/ops/function/image_func.py +10 -4
  338. mindspore/ops/function/linalg_func.py +5 -5
  339. mindspore/ops/function/math_func.py +575 -386
  340. mindspore/ops/function/nn_func.py +568 -260
  341. mindspore/ops/function/random_func.py +88 -57
  342. mindspore/ops/function/sparse_func.py +1 -1
  343. mindspore/ops/function/sparse_unary_func.py +14 -12
  344. mindspore/ops/function/vmap_func.py +6 -5
  345. mindspore/ops/functional.py +15 -10
  346. mindspore/ops/op_info_register.py +244 -25
  347. mindspore/ops/operations/__init__.py +31 -19
  348. mindspore/ops/operations/_grad_ops.py +71 -7
  349. mindspore/ops/operations/_inner_ops.py +350 -17
  350. mindspore/ops/operations/_quant_ops.py +4 -8
  351. mindspore/ops/operations/_sequence_ops.py +42 -0
  352. mindspore/ops/operations/array_ops.py +68 -282
  353. mindspore/ops/operations/comm_ops.py +107 -59
  354. mindspore/ops/operations/custom_ops.py +94 -70
  355. mindspore/ops/operations/debug_ops.py +8 -4
  356. mindspore/ops/operations/image_ops.py +18 -12
  357. mindspore/ops/operations/inner_ops.py +26 -3
  358. mindspore/ops/operations/math_ops.py +192 -144
  359. mindspore/ops/operations/nn_ops.py +857 -489
  360. mindspore/ops/operations/other_ops.py +0 -22
  361. mindspore/ops/operations/random_ops.py +53 -111
  362. mindspore/ops/operations/sparse_ops.py +3 -1
  363. mindspore/ops/primitive.py +24 -18
  364. mindspore/parallel/_auto_parallel_context.py +68 -8
  365. mindspore/parallel/_cost_model_context.py +2 -2
  366. mindspore/parallel/_offload_context.py +17 -3
  367. mindspore/parallel/_parallel_serialization.py +12 -5
  368. mindspore/parallel/_ps_context.py +12 -0
  369. mindspore/parallel/_tensor.py +18 -13
  370. mindspore/parallel/_transformer/layers.py +5 -3
  371. mindspore/parallel/_transformer/loss.py +1 -0
  372. mindspore/parallel/_transformer/moe.py +2 -2
  373. mindspore/parallel/_transformer/op_parallel_config.py +12 -1
  374. mindspore/parallel/_transformer/transformer.py +23 -3
  375. mindspore/parallel/_utils.py +11 -7
  376. mindspore/parallel/algo_parameter_config.py +85 -5
  377. mindspore/parallel/checkpoint_transform.py +19 -12
  378. mindspore/parallel/shard.py +21 -14
  379. mindspore/profiler/common/struct_type.py +3 -3
  380. mindspore/profiler/common/util.py +4 -2
  381. mindspore/profiler/envprofiling.py +1 -1
  382. mindspore/profiler/parser/aicpu_data_parser.py +5 -3
  383. mindspore/profiler/parser/ascend_flops_generator.py +2 -2
  384. mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
  385. mindspore/profiler/parser/ascend_hccl_generator.py +249 -12
  386. mindspore/profiler/parser/ascend_msprof_exporter.py +150 -255
  387. mindspore/profiler/parser/ascend_msprof_generator.py +204 -17
  388. mindspore/profiler/parser/ascend_op_generator.py +6 -6
  389. mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
  390. mindspore/profiler/parser/ascend_timeline_generator.py +14 -187
  391. mindspore/profiler/parser/base_timeline_generator.py +10 -8
  392. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +16 -12
  393. mindspore/profiler/parser/flops_parser.py +15 -11
  394. mindspore/profiler/parser/framework_parser.py +38 -22
  395. mindspore/profiler/parser/hccl_parser.py +16 -12
  396. mindspore/profiler/parser/integrator.py +22 -11
  397. mindspore/profiler/parser/memory_usage_parser.py +2 -2
  398. mindspore/profiler/parser/minddata_analyzer.py +12 -14
  399. mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
  400. mindspore/profiler/parser/msadvisor_parser.py +8 -4
  401. mindspore/profiler/parser/op_intermediate_parser.py +5 -2
  402. mindspore/profiler/parser/optime_parser.py +1 -1
  403. mindspore/profiler/parser/profiler_info.py +21 -2
  404. mindspore/profiler/parser/step_trace_parser.py +11 -14
  405. mindspore/profiler/profiling.py +179 -89
  406. mindspore/rewrite/api/node.py +102 -19
  407. mindspore/rewrite/api/node_type.py +5 -1
  408. mindspore/rewrite/api/pattern_engine.py +1 -1
  409. mindspore/rewrite/api/scoped_value.py +9 -17
  410. mindspore/rewrite/api/symbol_tree.py +131 -47
  411. mindspore/rewrite/ast_helpers/__init__.py +2 -1
  412. mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
  413. mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
  414. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
  415. mindspore/rewrite/common/rewrite_elog.py +5 -1
  416. mindspore/rewrite/namer.py +33 -24
  417. mindspore/rewrite/namespace.py +14 -5
  418. mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
  419. mindspore/rewrite/node/call_function.py +79 -0
  420. mindspore/rewrite/node/cell_container.py +135 -0
  421. mindspore/rewrite/node/control_flow.py +88 -0
  422. mindspore/rewrite/{node.py → node/node.py} +273 -234
  423. mindspore/rewrite/node/node_manager.py +254 -0
  424. mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
  425. mindspore/rewrite/parsers/arguments_parser.py +22 -21
  426. mindspore/rewrite/parsers/assign_parser.py +216 -221
  427. mindspore/rewrite/parsers/attribute_parser.py +9 -7
  428. mindspore/rewrite/parsers/class_def_parser.py +174 -113
  429. mindspore/rewrite/parsers/constant_parser.py +9 -6
  430. mindspore/rewrite/parsers/container_parser.py +9 -7
  431. mindspore/rewrite/parsers/for_parser.py +42 -21
  432. mindspore/rewrite/parsers/function_def_parser.py +24 -16
  433. mindspore/rewrite/parsers/if_parser.py +28 -24
  434. mindspore/rewrite/parsers/module_parser.py +196 -25
  435. mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
  436. mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
  437. mindspore/rewrite/parsers/return_parser.py +6 -6
  438. mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
  439. mindspore/rewrite/sparsify/utils.py +1 -1
  440. mindspore/rewrite/symbol_tree.py +523 -578
  441. mindspore/rewrite/symbol_tree_builder.py +9 -193
  442. mindspore/rewrite/symbol_tree_dumper.py +2 -2
  443. mindspore/run_check/_check_version.py +6 -4
  444. mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
  445. mindspore/safeguard/rewrite_obfuscation.py +541 -0
  446. mindspore/scipy/linalg.py +1 -1
  447. mindspore/scipy/ops.py +55 -5
  448. mindspore/scipy/optimize/__init__.py +3 -2
  449. mindspore/scipy/optimize/linear_sum_assignment.py +38 -33
  450. mindspore/scipy/optimize/minimize.py +7 -3
  451. mindspore/train/_utils.py +7 -3
  452. mindspore/train/amp.py +323 -123
  453. mindspore/train/anf_ir_pb2.py +14 -2
  454. mindspore/train/callback/_backup_and_restore.py +2 -12
  455. mindspore/train/callback/_callback.py +29 -4
  456. mindspore/train/callback/_checkpoint.py +23 -8
  457. mindspore/train/callback/_early_stop.py +2 -2
  458. mindspore/train/callback/_landscape.py +4 -4
  459. mindspore/train/callback/_loss_monitor.py +2 -2
  460. mindspore/train/callback/_on_request_exit.py +2 -2
  461. mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
  462. mindspore/train/callback/_summary_collector.py +15 -8
  463. mindspore/train/callback/_time_monitor.py +58 -5
  464. mindspore/train/data_sink.py +5 -11
  465. mindspore/train/dataset_helper.py +84 -57
  466. mindspore/train/loss_scale_manager.py +2 -2
  467. mindspore/train/metrics/__init__.py +3 -3
  468. mindspore/train/metrics/cosine_similarity.py +1 -1
  469. mindspore/train/metrics/hausdorff_distance.py +3 -2
  470. mindspore/train/metrics/mean_surface_distance.py +3 -2
  471. mindspore/train/metrics/metric.py +39 -19
  472. mindspore/train/metrics/roc.py +2 -2
  473. mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
  474. mindspore/train/mind_ir_pb2.py +85 -36
  475. mindspore/train/model.py +187 -47
  476. mindspore/train/serialization.py +487 -161
  477. mindspore/train/summary/_summary_adapter.py +1 -1
  478. mindspore/train/summary/_writer_pool.py +3 -2
  479. mindspore/train/summary/summary_record.py +37 -17
  480. mindspore/train/train_thor/convert_utils.py +3 -3
  481. mindspore/train/train_thor/dataset_helper.py +1 -1
  482. mindspore/version.py +1 -1
  483. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/METADATA +8 -8
  484. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/RECORD +488 -539
  485. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/entry_points.txt +0 -1
  486. mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
  487. mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
  488. mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
  489. mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
  490. mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
  491. mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
  492. mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
  493. mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
  494. mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
  495. mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
  496. mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
  497. mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
  498. mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
  499. mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
  500. mindspore/_akg/akg/tvm/rpc/base.py +0 -182
  501. mindspore/_akg/akg/tvm/rpc/client.py +0 -436
  502. mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
  503. mindspore/_akg/akg/tvm/rpc/server.py +0 -413
  504. mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
  505. mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
  506. mindspore/_extends/graph_kernel/expander.py +0 -80
  507. mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
  508. mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
  509. mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
  510. mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
  511. mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
  512. mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
  513. mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
  514. mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
  515. mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
  516. mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
  517. mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
  518. mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
  519. mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
  520. mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
  521. mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
  522. mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
  523. mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
  524. mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
  525. mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
  526. mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
  527. mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
  528. mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
  529. mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
  530. mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
  531. mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
  532. mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
  533. mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
  534. mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
  535. mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
  536. mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
  537. mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
  538. mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
  539. mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
  540. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
  541. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
  542. mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
  543. mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
  544. mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
  545. mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
  546. mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
  547. mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
  548. mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
  549. mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
  550. mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
  551. mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
  552. mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
  553. mindspore/dataset/datapreprocess/__init__.py +0 -20
  554. mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
  555. mindspore/include/api/net.h +0 -142
  556. mindspore/nn/lr_scheduler.py +0 -262
  557. mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
  558. mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
  559. mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
  560. mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
  561. mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
  562. mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +0 -350
  563. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +0 -409
  564. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +0 -578
  565. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +0 -199
  566. mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +0 -446
  567. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/__init__.py +0 -0
  568. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/sparse_tiling.py +0 -45
  569. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/strategy.py +0 -67
  570. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +0 -62
  571. mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
  572. mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
  573. mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
  574. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
  575. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  576. mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
  577. mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
  578. mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
  579. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  580. mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
  581. mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
  582. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
  583. mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
  584. mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
  585. mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
  586. mindspore/rewrite/node_visitor.py +0 -44
  587. /mindspore/{ops/_op_impl/_custom_op/flash_attention → _akg/akg/utils/ascend_profilier}/__init__.py +0 -0
  588. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/WHEEL +0 -0
  589. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/top_level.txt +0 -0
@@ -1,45 +0,0 @@
1
- # Copyright 2023 Huawei Technologies Co., Ltd
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # ============================================================================
15
- """tiling for sparse """
16
- from mindspore.ops._op_impl._custom_op.flash_attention.tiling_strategy.strategy import TilingPara
17
- from mindspore.ops._op_impl._custom_op.flash_attention.tiling_strategy.strategy import TilingStrategy
18
-
19
-
20
- class SparseTiling(TilingStrategy):
21
- """A tiling strategy implementation for sparse shape"""
22
-
23
- @classmethod
24
- def strategy_name(cls):
25
- return "sparse"
26
-
27
- def tiling(self) -> TilingPara:
28
- self.Br = min(128, self.Nq)
29
- self.Bc = min(128, self.N)
30
-
31
- self.Tr = self.Nq // self.Br
32
- self.Tc = self.N // self.Bc
33
-
34
- if self.Nq % self.Br != 0:
35
- self.last_Br = self.Nq - self.Tr * self.Br
36
- self.Tr += 1
37
- else:
38
- self.last_Br = self.Br
39
- if self.N % self.Bc != 0:
40
- self.last_Bc = self.N - self.Tc * self.Bc
41
- self.Tc += 1
42
- else:
43
- self.last_Bc = self.Bc
44
-
45
- return self.gen_tiling_para()
@@ -1,67 +0,0 @@
1
- # Copyright 2023 Huawei Technologies Co., Ltd
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # ============================================================================
15
- """The base class of tiling strategy"""
16
- from abc import ABCMeta
17
- from abc import abstractmethod
18
- from collections import namedtuple
19
-
20
- TilingPara = namedtuple("TilingPara", "Br last_Br Bc last_Bc Tr Tc")
21
-
22
-
23
- class TilingStrategy(metaclass=ABCMeta):
24
- """Tiling strategy interface. All implementations should be defined in this module,
25
- otherwise, the UT will fail.
26
- """
27
-
28
- _strategies = {}
29
-
30
- def __init__(self, Nq, N, head_dim) -> None:
31
- super().__init__()
32
- self.Nq = Nq
33
- self.N = N
34
- self.Br = None
35
- self.last_Br = None
36
- self.Bc = None
37
- self.last_Bc = None
38
- self.Tr = None
39
- self.Tc = None
40
- self.d = head_dim
41
-
42
- def __init_subclass__(cls, **kwargs):
43
- TilingStrategy._strategies[cls.strategy_name()] = cls
44
-
45
- @classmethod
46
- @abstractmethod
47
- def strategy_name(cls):
48
- """strategy name"""
49
- raise NotImplementedError
50
-
51
- @classmethod
52
- def from_strategy_name(cls, stgy_name: str):
53
- """from strategy name"""
54
- stgy_clz = TilingStrategy._strategies.get(stgy_name)
55
- if stgy_clz is None:
56
- raise Exception(f"Strategy:{stgy_name} not supported")
57
-
58
- return stgy_clz
59
-
60
- @abstractmethod
61
- def tiling(self) -> TilingPara:
62
- """tiling"""
63
- raise NotImplementedError
64
-
65
- def gen_tiling_para(self) -> TilingPara:
66
- """gen tiling para"""
67
- return TilingPara(self.Br, self.last_Br, self.Bc, self.last_Bc, self.Tr, self.Tc)
@@ -1,62 +0,0 @@
1
- # Copyright 2023 Huawei Technologies Co., Ltd
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # ============================================================================
15
- """wukong tiling"""
16
- from mindspore.ops._op_impl._custom_op.flash_attention.tiling_strategy.strategy import TilingPara
17
- from mindspore.ops._op_impl._custom_op.flash_attention.tiling_strategy.strategy import TilingStrategy
18
-
19
-
20
- class WukongTiling(TilingStrategy):
21
- """A tiling strategy implementation for wukonghuahua model shape"""
22
-
23
- @classmethod
24
- def strategy_name(cls):
25
- return "wukong"
26
-
27
- def tiling(self) -> TilingPara:
28
- """
29
- 反向的空间分布待详细分析
30
- N = (4096, 1024, 256, 64) 或 77
31
- Nq = (4096, 1024, 256, 64)
32
- d = dv = (40, 80, 160, 160)
33
- """
34
- if self.N <= 77: # [77, 64]
35
- # cross-attention or self-attention of (64, 64, 160)
36
- self.Bc = self.N
37
- self.Tc = self.N // self.Bc
38
- if self.d <= 80: # [40, 80]
39
- # 内存瓶颈为在ub中对P*V结果[Br, dv]进行cast
40
- self.Br = min(self.Nq, 64)
41
- self.Tr = self.Nq // self.Br
42
- else:
43
- self.Br = min(self.Nq, 64)
44
- self.Tr = self.Nq // self.Br
45
- else:
46
- # self-attention
47
- if self.N == 256:
48
- self.Bc = 64
49
- self.Tc = 1
50
- # 内存瓶颈为在ub中对Q*K的结果[Br, Bc]进行cast
51
- self.Br = 64
52
- self.Tr = self.Nq // self.Br
53
- else:
54
- self.Bc = 64
55
- self.Tc = self.N // self.Bc
56
- self.Br = 64
57
- self.Tr = self.Nq // self.Br
58
-
59
- self.last_Br = self.Br
60
- self.last_Bc = self.Bc
61
-
62
- return self.gen_tiling_para()
@@ -1,138 +0,0 @@
1
-
2
- 0.1.1 MindSpore*2.0.0rc1:�8
3
- �2get_bprop_depthwise_conv2d_native.145:[CNode]146:12get_bprop_depthwise_conv2d_native.145:[CNode]146:1"REF::bprop.147:Default/bprop.147-op123
4
- J[ValueNode]148[ValueNode]148"Constant*
5
- value*channel_multiplier�
6
- �
7
- *get_bprop_depthwise_conv2d_native.145:self
8
- [ValueNode]1482get_bprop_depthwise_conv2d_native.145:[CNode]149:22get_bprop_depthwise_conv2d_native.145:[CNode]149:2"REF::getattr:3:Default/getattr-op124
9
- C[ValueNode]150[ValueNode]150"Constant*
10
- value* kernel_size�
11
- �
12
- *get_bprop_depthwise_conv2d_native.145:self
13
- [ValueNode]1502get_bprop_depthwise_conv2d_native.145:[CNode]151:42get_bprop_depthwise_conv2d_native.145:[CNode]151:4"REF::getattr:3:Default/getattr-op125
14
- @[ValueNode]152[ValueNode]152"Constant*
15
- value*pad_mode�
16
- �
17
- *get_bprop_depthwise_conv2d_native.145:self
18
- [ValueNode]1522get_bprop_depthwise_conv2d_native.145:[CNode]153:52get_bprop_depthwise_conv2d_native.145:[CNode]153:5"REF::getattr:3:Default/getattr-op126
19
- ;[ValueNode]154[ValueNode]154"Constant*
20
- value*pad�
21
- �
22
- *get_bprop_depthwise_conv2d_native.145:self
23
- [ValueNode]1542get_bprop_depthwise_conv2d_native.145:[CNode]155:62get_bprop_depthwise_conv2d_native.145:[CNode]155:6"REF::getattr:3:Default/getattr-op127
24
- @[ValueNode]156[ValueNode]156"Constant*
25
- value*pad_list�
26
- �
27
- *get_bprop_depthwise_conv2d_native.145:self
28
- [ValueNode]1562get_bprop_depthwise_conv2d_native.145:[CNode]157:72get_bprop_depthwise_conv2d_native.145:[CNode]157:7"REF::getattr:3:Default/getattr-op128
29
- <[ValueNode]158[ValueNode]158"Constant*
30
- value*mode�
31
- �
32
- *get_bprop_depthwise_conv2d_native.145:self
33
- [ValueNode]1582get_bprop_depthwise_conv2d_native.145:[CNode]159:82get_bprop_depthwise_conv2d_native.145:[CNode]159:8"REF::getattr:3:Default/getattr-op129
34
- >[ValueNode]160[ValueNode]160"Constant*
35
- value*stride�
36
- �
37
- *get_bprop_depthwise_conv2d_native.145:self
38
- [ValueNode]1602get_bprop_depthwise_conv2d_native.145:[CNode]161:92get_bprop_depthwise_conv2d_native.145:[CNode]161:9"REF::getattr:3:Default/getattr-op130
39
- @[ValueNode]162[ValueNode]162"Constant*
40
- value*dilation�
41
- �
42
- *get_bprop_depthwise_conv2d_native.145:self
43
- [ValueNode]1623get_bprop_depthwise_conv2d_native.145:[CNode]163:103get_bprop_depthwise_conv2d_native.145:[CNode]163:10"REF::getattr:3:Default/getattr-op131
44
- =[ValueNode]164[ValueNode]164"Constant*
45
- value*group�
46
- �
47
- *get_bprop_depthwise_conv2d_native.145:self
48
- [ValueNode]1643get_bprop_depthwise_conv2d_native.145:[CNode]165:113get_bprop_depthwise_conv2d_native.145:[CNode]165:11"REF::getattr:3:Default/getattr-op132
49
- �
50
- 2get_bprop_depthwise_conv2d_native.145:[CNode]149:2
51
- 2get_bprop_depthwise_conv2d_native.145:[CNode]151:4
52
- 2get_bprop_depthwise_conv2d_native.145:[CNode]153:5
53
- 2get_bprop_depthwise_conv2d_native.145:[CNode]155:6
54
- 2get_bprop_depthwise_conv2d_native.145:[CNode]157:7
55
- 2get_bprop_depthwise_conv2d_native.145:[CNode]159:8
56
- 2get_bprop_depthwise_conv2d_native.145:[CNode]161:9
57
- 3get_bprop_depthwise_conv2d_native.145:[CNode]163:10
58
- 3get_bprop_depthwise_conv2d_native.145:[CNode]165:113get_bprop_depthwise_conv2d_native.145:input_grad:123get_bprop_depthwise_conv2d_native.145:input_grad:12"UREF::ClassType::mindspore.ops.operations._grad_ops.DepthwiseConv2dNativeBackpropInput:kDefault/MindIRClassType:class 'mindspore.ops.operations._grad_ops.DepthwiseConv2dNativeBackpropInput'-op133
59
- �2get_bprop_depthwise_conv2d_native.145:get_shape:132get_bprop_depthwise_conv2d_native.145:get_shape:13"8REF::ClassType::mindspore.ops.operations.array_ops.Shape:NDefault/MindIRClassType:class 'mindspore.ops.operations.array_ops.Shape'-op134
60
- J[ValueNode]167[ValueNode]167"Constant*
61
- value*channel_multiplier�
62
- �
63
- *get_bprop_depthwise_conv2d_native.145:self
64
- [ValueNode]1673get_bprop_depthwise_conv2d_native.145:[CNode]168:163get_bprop_depthwise_conv2d_native.145:[CNode]168:16"REF::getattr:3:Default/getattr-op137
65
- C[ValueNode]169[ValueNode]169"Constant*
66
- value* kernel_size�
67
- �
68
- *get_bprop_depthwise_conv2d_native.145:self
69
- [ValueNode]1693get_bprop_depthwise_conv2d_native.145:[CNode]170:173get_bprop_depthwise_conv2d_native.145:[CNode]170:17"REF::getattr:3:Default/getattr-op138
70
- @[ValueNode]171[ValueNode]171"Constant*
71
- value*pad_mode�
72
- �
73
- *get_bprop_depthwise_conv2d_native.145:self
74
- [ValueNode]1713get_bprop_depthwise_conv2d_native.145:[CNode]172:183get_bprop_depthwise_conv2d_native.145:[CNode]172:18"REF::getattr:3:Default/getattr-op139
75
- ;[ValueNode]173[ValueNode]173"Constant*
76
- value*pad�
77
- �
78
- *get_bprop_depthwise_conv2d_native.145:self
79
- [ValueNode]1733get_bprop_depthwise_conv2d_native.145:[CNode]174:193get_bprop_depthwise_conv2d_native.145:[CNode]174:19"REF::getattr:3:Default/getattr-op140
80
- @[ValueNode]175[ValueNode]175"Constant*
81
- value*pad_list�
82
- �
83
- *get_bprop_depthwise_conv2d_native.145:self
84
- [ValueNode]1753get_bprop_depthwise_conv2d_native.145:[CNode]176:203get_bprop_depthwise_conv2d_native.145:[CNode]176:20"REF::getattr:3:Default/getattr-op141
85
- <[ValueNode]177[ValueNode]177"Constant*
86
- value*mode�
87
- �
88
- *get_bprop_depthwise_conv2d_native.145:self
89
- [ValueNode]1773get_bprop_depthwise_conv2d_native.145:[CNode]178:213get_bprop_depthwise_conv2d_native.145:[CNode]178:21"REF::getattr:3:Default/getattr-op142
90
- >[ValueNode]179[ValueNode]179"Constant*
91
- value*stride�
92
- �
93
- *get_bprop_depthwise_conv2d_native.145:self
94
- [ValueNode]1793get_bprop_depthwise_conv2d_native.145:[CNode]180:223get_bprop_depthwise_conv2d_native.145:[CNode]180:22"REF::getattr:3:Default/getattr-op143
95
- @[ValueNode]181[ValueNode]181"Constant*
96
- value*dilation�
97
- �
98
- *get_bprop_depthwise_conv2d_native.145:self
99
- [ValueNode]1813get_bprop_depthwise_conv2d_native.145:[CNode]182:233get_bprop_depthwise_conv2d_native.145:[CNode]182:23"REF::getattr:3:Default/getattr-op144
100
- =[ValueNode]183[ValueNode]183"Constant*
101
- value*group�
102
- �
103
- *get_bprop_depthwise_conv2d_native.145:self
104
- [ValueNode]1833get_bprop_depthwise_conv2d_native.145:[CNode]184:243get_bprop_depthwise_conv2d_native.145:[CNode]184:24"REF::getattr:3:Default/getattr-op145
105
- �
106
- 3get_bprop_depthwise_conv2d_native.145:[CNode]168:16
107
- 3get_bprop_depthwise_conv2d_native.145:[CNode]170:17
108
- 3get_bprop_depthwise_conv2d_native.145:[CNode]172:18
109
- 3get_bprop_depthwise_conv2d_native.145:[CNode]174:19
110
- 3get_bprop_depthwise_conv2d_native.145:[CNode]176:20
111
- 3get_bprop_depthwise_conv2d_native.145:[CNode]178:21
112
- 3get_bprop_depthwise_conv2d_native.145:[CNode]180:22
113
- 3get_bprop_depthwise_conv2d_native.145:[CNode]182:23
114
- 3get_bprop_depthwise_conv2d_native.145:[CNode]184:244get_bprop_depthwise_conv2d_native.145:filter_grad:254get_bprop_depthwise_conv2d_native.145:filter_grad:25"VREF::ClassType::mindspore.ops.operations._grad_ops.DepthwiseConv2dNativeBackpropFilter:lDefault/MindIRClassType:class 'mindspore.ops.operations._grad_ops.DepthwiseConv2dNativeBackpropFilter'-op146%get_bprop_depthwise_conv2d_native.145*,
115
- *get_bprop_depthwise_conv2d_native.145:self*)
116
- 'get_bprop_depthwise_conv2d_native.145:x*)
117
- 'get_bprop_depthwise_conv2d_native.145:w*+
118
- )get_bprop_depthwise_conv2d_native.145:out*,
119
- *get_bprop_depthwise_conv2d_native.145:dout24
120
- 2get_bprop_depthwise_conv2d_native.145:[CNode]146:1:@85175c1c488b3e1ea22f043bda0b2294bae9f00ea3df376e07c2ee6e401d7533J/grad_nn_ops.pyB�
121
- �
122
- 'get_bprop_depthwise_conv2d_native.145:xbprop.147:[CNode]166:14bprop.147:[CNode]166:14"7REF::get_bprop_depthwise_conv2d_native.145:get_shape:13:135
123
- �
124
- bprop.147:[CNode]166:14
125
- 'get_bprop_depthwise_conv2d_native.145:w
126
- *get_bprop_depthwise_conv2d_native.145:doutbprop.147:dx:15bprop.147:dx:15"8REF::get_bprop_depthwise_conv2d_native.145:input_grad:12:136
127
- �
128
- 'get_bprop_depthwise_conv2d_native.145:wbprop.147:[CNode]185:26bprop.147:[CNode]185:26"7REF::get_bprop_depthwise_conv2d_native.145:get_shape:13:147
129
- �
130
- 'get_bprop_depthwise_conv2d_native.145:x
131
- bprop.147:[CNode]185:26
132
- *get_bprop_depthwise_conv2d_native.145:doutbprop.147:dw:27bprop.147:dw:27"9REF::get_bprop_depthwise_conv2d_native.145:filter_grad:25:148
133
- �
134
- bprop.147:dx:15
135
- bprop.147:dw:27bprop.147:[CNode]186:28bprop.147:[CNode]186:28"REF::S-Prim-MakeTuple:29:Default/S-Prim-MakeTuple-op149 bprop.1472
136
- bprop.147:[CNode]186:28Pb
137
- getattr:3getattr"b)
138
- S-Prim-MakeTuple:29S-Prim-MakeTuple"h
@@ -1,114 +0,0 @@
1
- # Copyright 2021-2022 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
- """Generate the mindir for bprop"""
16
- from __future__ import absolute_import
17
- import os
18
- import shutil
19
- import argparse
20
- import logging
21
-
22
- import mindspore.ops._grad_experimental as g
23
- from mindspore._c_expression import _export_bprop_mindir
24
- from mindspore.ops._grad_experimental.grad_base import bprop_getters, bprops
25
-
26
- logging.getLogger().setLevel(logging.INFO)
27
- os.environ['MS_DEV_EXPORT_BPROP_MINDIR'] = '1'
28
-
29
-
30
- def run_generate(bprop_mindir_install_dir, bprop_map, force_update):
31
- """Run the generate process of bprop mindir."""
32
- for op_name in bprop_map.keys():
33
- if not isinstance(op_name, str):
34
- continue
35
- if os.path.isfile(os.path.join(bprop_mindir_install_dir, op_name + "_bprop.mindir")):
36
- _export_bprop_mindir(op_name, force_update)
37
-
38
-
39
- def run_generate_with_op_name(op_name, force_update):
40
- """Run the generate process of bprop mindir for single op."""
41
- _export_bprop_mindir(op_name, force_update)
42
-
43
-
44
- if __name__ == "__main__":
45
- parser = argparse.ArgumentParser(description="Bprop mindir generator")
46
- parser.add_argument('--mindspore_path', type=str, default=None,
47
- help="The absolute path of the mindspore root directory where the bprop source files has been \
48
- modified. If not specified, it will find the bprop source files in your mindspore installed \
49
- path. Default: None.")
50
- parser.add_argument('--op', type=str, default=None,
51
- help="The name of the operator whose bprop is to be transformed to mindir file. If not \
52
- specified, it will generate all the mindir files of bprop which has already been transform \
53
- to mindir. Default: None.")
54
- parser.add_argument('--force', type=bool, default=False,
55
- help="Whether to force to generate mindir file of a bprop function regardless of nothing \
56
- changed. Default: False.")
57
-
58
- args_opt = parser.parse_args()
59
- # mindspore/ops/_grad_experimental/__init__.py
60
- BPROP_PATH = g.__file__
61
- bprop_installed_dir = BPROP_PATH[: BPROP_PATH.rindex('/')]
62
- bprop_mindir_export_dir = os.path.join(bprop_installed_dir, "..", "bprop_mindir")
63
-
64
- mindspore_path = args_opt.mindspore_path
65
- bprop_src_dir = None
66
- bprop_mindir_src_dir = None
67
- if mindspore_path is not None:
68
- mindspore_path = mindspore_path.rstrip('/')
69
- python_ops_dir = os.path.join(mindspore_path, "mindspore", "python", "mindspore", "ops")
70
- bprop_src_dir = os.path.join(python_ops_dir, "_grad_experimental")
71
- bprop_mindir_src_dir = os.path.join(python_ops_dir, "bprop_mindir")
72
-
73
- copy_flag = bprop_src_dir is not None and bprop_src_dir != bprop_installed_dir
74
- # If the specified bprop source directory is not on the mindspore installed path,
75
- # copy the bprop source files to the installed path.
76
- BACKUP_SUFFIX = "_generate_bak"
77
- if copy_flag:
78
- shutil.rmtree(bprop_installed_dir + BACKUP_SUFFIX, ignore_errors=True)
79
- os.rename(bprop_installed_dir, bprop_installed_dir + BACKUP_SUFFIX)
80
- os.mkdir(bprop_installed_dir)
81
- ls = os.listdir(bprop_src_dir)
82
- for line in ls:
83
- file_path = os.path.join(bprop_src_dir, line)
84
- if os.path.isfile(file_path):
85
- shutil.copy(file_path, bprop_installed_dir)
86
- logging.info("copied: %s", file_path)
87
-
88
- force = args_opt.force
89
- op = args_opt.op
90
- if op is None:
91
- run_generate(bprop_mindir_export_dir, bprop_getters, force)
92
- run_generate(bprop_mindir_export_dir, bprops, force)
93
- else:
94
- run_generate_with_op_name(op, force)
95
-
96
- # If the specified bprop source directory is not on the mindspore installed path,
97
- # copy the generated mindir files to the mindir directory relative to the specified path.
98
- if copy_flag:
99
- shutil.rmtree(bprop_installed_dir)
100
- os.rename(bprop_installed_dir + BACKUP_SUFFIX, bprop_installed_dir)
101
- ls = os.listdir(bprop_mindir_export_dir)
102
- for line in ls:
103
- file_path = os.path.join(bprop_mindir_export_dir, line)
104
- if file_path.endswith(".mindir") and os.path.isfile(file_path):
105
- os.chmod(file_path, 0o644)
106
- shutil.copy(file_path, bprop_mindir_src_dir)
107
- logging.info("copied: %s", file_path)
108
-
109
- logging.info("The new bprop mindir files has been generated in the path \"%s\"", bprop_mindir_src_dir)
110
- else:
111
- logging.info("The new bprop mindir files has been generated in the path \"%s\", "
112
- "copy the *.mindir to your mindspore path or PYTHONPATH if necessary.", bprop_mindir_export_dir)
113
-
114
- del os.environ['MS_DEV_EXPORT_BPROP_MINDIR']
@@ -1,44 +0,0 @@
1
- # Copyright 2022 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
- """Visit nods of SymbolTree."""
16
-
17
-
18
- class NodeVisitor:
19
- """Iterator class to access SymbolTree nodes"""
20
- def __init__(self, stree):
21
- self._stree = stree
22
- self._nodes = []
23
- self._index = 0
24
-
25
- def __iter__(self):
26
- self._nodes = list(self._stree.get_nodes_dict().values())
27
- self._index = 0
28
- return self
29
-
30
- def __next__(self):
31
- if self._index < len(self._nodes):
32
- node = self._nodes[self._index]
33
- self._index += 1
34
- return node
35
-
36
- raise StopIteration
37
-
38
- def append_node(self, node):
39
- """append new node to iterator"""
40
- self._nodes.append(node)
41
-
42
- def remove_node(self, node):
43
- """remove node of iterator"""
44
- self._nodes.remove(node)