mindspore 2.4.10__cp311-cp311-win_amd64.whl → 2.6.0__cp311-cp311-win_amd64.whl

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

Potentially problematic release.


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

Files changed (602) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
  3. mindspore/Newtonsoft.Json.dll +0 -0
  4. mindspore/__init__.py +13 -6
  5. mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
  8. mindspore/_check_jit_forbidden_api.py +3 -0
  9. mindspore/_checkparam.py +3 -38
  10. mindspore/_deprecated/__init__.py +17 -0
  11. mindspore/_deprecated/jit.py +198 -0
  12. mindspore/_extends/builtin_operations.py +1 -1
  13. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
  14. mindspore/_extends/parse/__init__.py +6 -7
  15. mindspore/_extends/parse/compile_config.py +83 -0
  16. mindspore/_extends/parse/deprecated/__init__.py +0 -0
  17. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
  18. mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
  19. mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
  20. mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
  21. mindspore/_extends/parse/parser.py +47 -198
  22. mindspore/_extends/parse/resources.py +1 -5
  23. mindspore/_extends/parse/standard_method.py +229 -99
  24. mindspore/_extends/pijit/__init__.py +2 -2
  25. mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
  26. mindspore/_extends/pijit/tensor_func_list.py +27 -0
  27. mindspore/_extends/utils.py +1 -1
  28. mindspore/amp.py +11 -5
  29. mindspore/atlprov.dll +0 -0
  30. mindspore/avcodec-59.dll +0 -0
  31. mindspore/avdevice-59.dll +0 -0
  32. mindspore/avfilter-8.dll +0 -0
  33. mindspore/avformat-59.dll +0 -0
  34. mindspore/avutil-57.dll +0 -0
  35. mindspore/boost/__init__.py +2 -2
  36. mindspore/boost/base.py +3 -7
  37. mindspore/boost/boost_cell_wrapper.py +138 -43
  38. mindspore/c1.dll +0 -0
  39. mindspore/c1xx.dll +0 -0
  40. mindspore/c2.dll +0 -0
  41. mindspore/common/__init__.py +6 -3
  42. mindspore/common/_grad_function.py +56 -0
  43. mindspore/common/_pijit_context.py +14 -5
  44. mindspore/common/_register_for_tensor.py +1 -2
  45. mindspore/common/_stub_tensor.py +30 -14
  46. mindspore/common/_tensor_cpp_method.py +17 -0
  47. mindspore/common/_tensor_docs.py +4760 -0
  48. mindspore/common/api.py +480 -372
  49. mindspore/common/auto_dynamic_shape.py +41 -44
  50. mindspore/common/dtype.py +39 -36
  51. mindspore/common/dump.py +9 -6
  52. mindspore/common/file_system.py +9 -1
  53. mindspore/common/generator.py +5 -0
  54. mindspore/common/hook_handle.py +6 -2
  55. mindspore/common/initializer.py +13 -10
  56. mindspore/common/jit_begin_end.py +94 -0
  57. mindspore/common/jit_config.py +6 -1
  58. mindspore/common/jit_context.py +76 -0
  59. mindspore/common/jit_trace.py +378 -0
  60. mindspore/common/lazy_inline.py +9 -3
  61. mindspore/common/mindir_util.py +10 -2
  62. mindspore/common/mutable.py +5 -4
  63. mindspore/common/parameter.py +135 -52
  64. mindspore/common/seed.py +2 -2
  65. mindspore/common/sparse_tensor.py +23 -17
  66. mindspore/common/tensor.py +975 -1981
  67. mindspore/communication/__init__.py +7 -5
  68. mindspore/communication/_comm_helper.py +52 -2
  69. mindspore/communication/comm_func.py +240 -181
  70. mindspore/communication/management.py +95 -26
  71. mindspore/context.py +324 -573
  72. mindspore/dataset/__init__.py +65 -37
  73. mindspore/dataset/audio/__init__.py +2 -8
  74. mindspore/dataset/audio/transforms.py +3 -17
  75. mindspore/dataset/callback/ds_callback.py +2 -1
  76. mindspore/dataset/core/config.py +87 -6
  77. mindspore/dataset/engine/cache_admin.py +3 -3
  78. mindspore/dataset/engine/cache_client.py +6 -5
  79. mindspore/dataset/engine/datasets.py +292 -267
  80. mindspore/dataset/engine/datasets_audio.py +22 -8
  81. mindspore/dataset/engine/datasets_standard_format.py +46 -27
  82. mindspore/dataset/engine/datasets_text.py +78 -48
  83. mindspore/dataset/engine/datasets_user_defined.py +183 -117
  84. mindspore/dataset/engine/datasets_vision.py +120 -44
  85. mindspore/dataset/engine/iterators.py +283 -63
  86. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
  87. mindspore/dataset/engine/obs/util.py +8 -0
  88. mindspore/dataset/engine/queue.py +40 -0
  89. mindspore/dataset/engine/samplers.py +289 -43
  90. mindspore/dataset/engine/serializer_deserializer.py +3 -2
  91. mindspore/dataset/engine/validators.py +53 -11
  92. mindspore/dataset/text/__init__.py +7 -6
  93. mindspore/dataset/text/transforms.py +6 -5
  94. mindspore/dataset/text/utils.py +3 -3
  95. mindspore/dataset/transforms/__init__.py +0 -9
  96. mindspore/dataset/transforms/py_transforms_util.py +17 -0
  97. mindspore/dataset/transforms/transforms.py +31 -14
  98. mindspore/dataset/utils/browse_dataset.py +1 -1
  99. mindspore/dataset/vision/__init__.py +2 -9
  100. mindspore/dataset/vision/transforms.py +202 -158
  101. mindspore/dataset/vision/utils.py +7 -5
  102. mindspore/dataset/vision/validators.py +1 -2
  103. mindspore/device_context/__init__.py +21 -0
  104. mindspore/device_context/ascend/__init__.py +25 -0
  105. mindspore/device_context/ascend/device.py +72 -0
  106. mindspore/device_context/ascend/op_debug.py +153 -0
  107. mindspore/device_context/ascend/op_precision.py +193 -0
  108. mindspore/device_context/ascend/op_tuning.py +123 -0
  109. mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
  110. mindspore/device_context/cpu/device.py +62 -0
  111. mindspore/device_context/cpu/op_tuning.py +43 -0
  112. mindspore/device_context/gpu/__init__.py +21 -0
  113. mindspore/device_context/gpu/device.py +70 -0
  114. mindspore/device_context/gpu/op_precision.py +67 -0
  115. mindspore/device_context/gpu/op_tuning.py +175 -0
  116. mindspore/device_manager.py +170 -0
  117. mindspore/dnnl.dll +0 -0
  118. mindspore/dpcmi.dll +0 -0
  119. mindspore/experimental/es/embedding_service.py +35 -27
  120. mindspore/experimental/llm_boost/__init__.py +1 -0
  121. mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
  122. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +209 -0
  123. mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
  124. mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
  125. mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
  126. mindspore/experimental/llm_boost/register.py +1 -0
  127. mindspore/experimental/map_parameter.py +4 -4
  128. mindspore/experimental/optim/adadelta.py +6 -6
  129. mindspore/experimental/optim/adagrad.py +4 -4
  130. mindspore/experimental/optim/adam.py +7 -0
  131. mindspore/experimental/optim/adamax.py +4 -4
  132. mindspore/experimental/optim/adamw.py +4 -0
  133. mindspore/experimental/optim/asgd.py +1 -1
  134. mindspore/experimental/optim/lr_scheduler.py +73 -46
  135. mindspore/experimental/optim/radam.py +34 -31
  136. mindspore/experimental/optim/rprop.py +1 -1
  137. mindspore/experimental/optim/sgd.py +1 -1
  138. mindspore/hal/contiguous_tensors_handle.py +6 -10
  139. mindspore/hal/device.py +55 -53
  140. mindspore/hal/event.py +52 -52
  141. mindspore/hal/memory.py +179 -120
  142. mindspore/hal/stream.py +150 -109
  143. mindspore/include/api/context.h +0 -1
  144. mindspore/include/dataset/constants.h +7 -4
  145. mindspore/include/dataset/execute.h +2 -2
  146. mindspore/jpeg62.dll +0 -0
  147. mindspore/log.py +50 -0
  148. mindspore/mindrecord/__init__.py +21 -8
  149. mindspore/mindrecord/config.py +17 -316
  150. mindspore/mindrecord/filereader.py +1 -9
  151. mindspore/mindrecord/filewriter.py +5 -15
  152. mindspore/mindrecord/mindpage.py +1 -9
  153. mindspore/mindspore_backend_common.dll +0 -0
  154. mindspore/mindspore_backend_manager.dll +0 -0
  155. mindspore/mindspore_common.dll +0 -0
  156. mindspore/mindspore_core.dll +0 -0
  157. mindspore/mindspore_dump.dll +0 -0
  158. mindspore/mindspore_frontend.dll +0 -0
  159. mindspore/mindspore_glog.dll +0 -0
  160. mindspore/mindspore_memory_pool.dll +0 -0
  161. mindspore/mindspore_ms_backend.dll +0 -0
  162. mindspore/mindspore_ops.dll +0 -0
  163. mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
  164. mindspore/mindspore_ops_kernel_common.dll +0 -0
  165. mindspore/mindspore_profiler.dll +0 -0
  166. mindspore/mindspore_pyboost.dll +0 -0
  167. mindspore/mindspore_pynative.dll +0 -0
  168. mindspore/mindspore_res_manager.dll +0 -0
  169. mindspore/mindspore_runtime_pipeline.dll +0 -0
  170. mindspore/mint/__init__.py +798 -761
  171. mindspore/mint/distributed/__init__.py +70 -4
  172. mindspore/mint/distributed/distributed.py +2679 -44
  173. mindspore/mint/linalg/__init__.py +8 -0
  174. mindspore/mint/nn/__init__.py +743 -22
  175. mindspore/mint/nn/functional.py +716 -23
  176. mindspore/mint/nn/layer/__init__.py +21 -4
  177. mindspore/mint/nn/layer/_functions.py +334 -0
  178. mindspore/mint/nn/layer/activation.py +276 -1
  179. mindspore/mint/nn/layer/basic.py +123 -0
  180. mindspore/mint/nn/layer/conv.py +933 -0
  181. mindspore/mint/nn/layer/normalization.py +223 -28
  182. mindspore/mint/nn/layer/padding.py +797 -0
  183. mindspore/mint/nn/layer/pooling.py +235 -0
  184. mindspore/mint/optim/__init__.py +3 -1
  185. mindspore/mint/optim/adam.py +223 -0
  186. mindspore/mint/optim/adamw.py +26 -19
  187. mindspore/mint/optim/sgd.py +171 -0
  188. mindspore/mint/special/__init__.py +2 -1
  189. mindspore/msobj140.dll +0 -0
  190. mindspore/mspdb140.dll +0 -0
  191. mindspore/mspdbcore.dll +0 -0
  192. mindspore/mspdbst.dll +0 -0
  193. mindspore/mspft140.dll +0 -0
  194. mindspore/msvcdis140.dll +0 -0
  195. mindspore/msvcp140_1.dll +0 -0
  196. mindspore/msvcp140_2.dll +0 -0
  197. mindspore/msvcp140_atomic_wait.dll +0 -0
  198. mindspore/msvcp140_codecvt_ids.dll +0 -0
  199. mindspore/multiprocessing/__init__.py +5 -0
  200. mindspore/nn/__init__.py +4 -1
  201. mindspore/nn/cell.py +1373 -192
  202. mindspore/nn/dynamic_lr.py +2 -1
  203. mindspore/nn/layer/activation.py +29 -27
  204. mindspore/nn/layer/basic.py +51 -35
  205. mindspore/nn/layer/channel_shuffle.py +3 -3
  206. mindspore/nn/layer/container.py +1 -1
  207. mindspore/nn/layer/conv.py +53 -42
  208. mindspore/nn/layer/embedding.py +12 -11
  209. mindspore/nn/layer/normalization.py +56 -49
  210. mindspore/nn/layer/padding.py +4 -3
  211. mindspore/nn/layer/pooling.py +120 -42
  212. mindspore/nn/layer/rnn_cells.py +1 -1
  213. mindspore/nn/layer/rnns.py +2 -1
  214. mindspore/nn/layer/timedistributed.py +5 -5
  215. mindspore/nn/layer/transformer.py +59 -36
  216. mindspore/nn/learning_rate_schedule.py +8 -4
  217. mindspore/nn/loss/loss.py +58 -55
  218. mindspore/nn/optim/ada_grad.py +7 -5
  219. mindspore/nn/optim/adadelta.py +11 -9
  220. mindspore/nn/optim/adafactor.py +1 -1
  221. mindspore/nn/optim/adam.py +19 -15
  222. mindspore/nn/optim/adamax.py +8 -7
  223. mindspore/nn/optim/adasum.py +5 -5
  224. mindspore/nn/optim/asgd.py +3 -1
  225. mindspore/nn/optim/ftrl.py +11 -9
  226. mindspore/nn/optim/lamb.py +1 -1
  227. mindspore/nn/optim/lars.py +1 -4
  228. mindspore/nn/optim/lazyadam.py +12 -10
  229. mindspore/nn/optim/momentum.py +7 -6
  230. mindspore/nn/optim/optimizer.py +3 -3
  231. mindspore/nn/optim/proximal_ada_grad.py +12 -10
  232. mindspore/nn/optim/rmsprop.py +13 -12
  233. mindspore/nn/optim/rprop.py +11 -9
  234. mindspore/nn/optim/sgd.py +9 -6
  235. mindspore/nn/optim/tft_wrapper.py +5 -2
  236. mindspore/nn/optim/thor.py +2 -1
  237. mindspore/nn/probability/bijector/bijector.py +17 -11
  238. mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
  239. mindspore/nn/probability/bijector/invert.py +2 -2
  240. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  241. mindspore/nn/probability/bijector/softplus.py +3 -2
  242. mindspore/nn/probability/distribution/beta.py +3 -3
  243. mindspore/nn/probability/distribution/categorical.py +1 -1
  244. mindspore/nn/probability/distribution/cauchy.py +4 -2
  245. mindspore/nn/probability/distribution/exponential.py +6 -7
  246. mindspore/nn/probability/distribution/gamma.py +2 -2
  247. mindspore/nn/probability/distribution/gumbel.py +2 -2
  248. mindspore/nn/probability/distribution/half_normal.py +5 -3
  249. mindspore/nn/probability/distribution/logistic.py +5 -3
  250. mindspore/nn/probability/distribution/poisson.py +1 -1
  251. mindspore/nn/probability/distribution/uniform.py +5 -3
  252. mindspore/nn/reinforcement/_tensors_queue.py +1 -1
  253. mindspore/nn/reinforcement/tensor_array.py +1 -1
  254. mindspore/nn/utils/init.py +13 -11
  255. mindspore/nn/wrap/__init__.py +6 -6
  256. mindspore/nn/wrap/cell_wrapper.py +181 -122
  257. mindspore/nn/wrap/grad_reducer.py +45 -36
  258. mindspore/nn/wrap/loss_scale.py +6 -7
  259. mindspore/numpy/array_creations.py +63 -65
  260. mindspore/numpy/array_ops.py +149 -144
  261. mindspore/numpy/logic_ops.py +41 -42
  262. mindspore/numpy/math_ops.py +361 -359
  263. mindspore/numpy/utils.py +17 -18
  264. mindspore/numpy/utils_const.py +5 -6
  265. mindspore/opencv_core452.dll +0 -0
  266. mindspore/opencv_imgcodecs452.dll +0 -0
  267. mindspore/opencv_imgproc452.dll +0 -0
  268. mindspore/ops/__init__.py +5 -3
  269. mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
  270. mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
  271. mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
  272. mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
  273. mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
  274. mindspore/ops/_op_impl/cpu/__init__.py +1 -0
  275. mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
  276. mindspore/ops/_register_for_op.py +0 -11
  277. mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
  278. mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -65
  279. mindspore/ops/_vmap/vmap_array_ops.py +52 -25
  280. mindspore/ops/_vmap/vmap_base.py +0 -2
  281. mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
  282. mindspore/ops/_vmap/vmap_math_ops.py +15 -16
  283. mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
  284. mindspore/ops/auto_generate/__init__.py +4 -3
  285. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +258 -46
  286. mindspore/ops/auto_generate/gen_extend_func.py +757 -185
  287. mindspore/ops/auto_generate/gen_ops_def.py +4197 -2243
  288. mindspore/ops/auto_generate/gen_ops_prim.py +16976 -6055
  289. mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
  290. mindspore/ops/composite/__init__.py +2 -1
  291. mindspore/ops/composite/base.py +20 -25
  292. mindspore/ops/composite/math_ops.py +6 -16
  293. mindspore/ops/composite/multitype_ops/__init__.py +5 -2
  294. mindspore/ops/composite/multitype_ops/_compile_utils.py +228 -30
  295. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
  296. mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
  297. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  298. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  299. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
  300. mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
  301. mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
  302. mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
  303. mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
  304. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
  305. mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
  306. mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
  307. mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
  308. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
  309. mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
  310. mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
  311. mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
  312. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
  313. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  314. mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
  315. mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
  316. mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
  317. mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
  318. mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
  319. mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
  320. mindspore/ops/composite/multitype_ops/pow_impl.py +2 -30
  321. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
  322. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  323. mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
  324. mindspore/ops/function/__init__.py +40 -2
  325. mindspore/ops/function/_add_attr_func.py +58 -0
  326. mindspore/ops/function/array_func.py +2089 -2403
  327. mindspore/ops/function/clip_func.py +80 -23
  328. mindspore/ops/function/debug_func.py +57 -57
  329. mindspore/ops/function/grad/__init__.py +1 -0
  330. mindspore/ops/function/grad/grad_func.py +104 -71
  331. mindspore/ops/function/image_func.py +2 -2
  332. mindspore/ops/function/linalg_func.py +47 -78
  333. mindspore/ops/function/math_func.py +4351 -3813
  334. mindspore/ops/function/nn_func.py +1712 -637
  335. mindspore/ops/function/other_func.py +159 -1
  336. mindspore/ops/function/parameter_func.py +18 -84
  337. mindspore/ops/function/random_func.py +452 -387
  338. mindspore/ops/function/reshard_func.py +4 -70
  339. mindspore/ops/function/sparse_func.py +3 -3
  340. mindspore/ops/function/sparse_unary_func.py +6 -6
  341. mindspore/ops/function/spectral_func.py +25 -58
  342. mindspore/ops/function/vmap_func.py +26 -18
  343. mindspore/ops/functional.py +23 -7
  344. mindspore/ops/functional_overload.py +1548 -0
  345. mindspore/ops/op_info_register.py +32 -244
  346. mindspore/ops/operations/__init__.py +23 -15
  347. mindspore/ops/operations/_custom_ops_utils.py +235 -0
  348. mindspore/ops/operations/_embedding_cache_ops.py +4 -4
  349. mindspore/ops/operations/_grad_ops.py +2 -43
  350. mindspore/ops/operations/_infer_ops.py +2 -1
  351. mindspore/ops/operations/_inner_ops.py +43 -84
  352. mindspore/ops/operations/_ms_kernel.py +4 -10
  353. mindspore/ops/operations/_rl_inner_ops.py +1 -1
  354. mindspore/ops/operations/_scalar_ops.py +3 -2
  355. mindspore/ops/operations/_sequence_ops.py +1 -1
  356. mindspore/ops/operations/_tensor_array.py +1 -1
  357. mindspore/ops/operations/array_ops.py +81 -324
  358. mindspore/ops/operations/comm_ops.py +154 -108
  359. mindspore/ops/operations/custom_ops.py +298 -87
  360. mindspore/ops/operations/debug_ops.py +157 -59
  361. mindspore/ops/operations/inner_ops.py +7 -5
  362. mindspore/ops/operations/linalg_ops.py +1 -57
  363. mindspore/ops/operations/manually_defined/_inner.py +1 -1
  364. mindspore/ops/operations/manually_defined/ops_def.py +928 -180
  365. mindspore/ops/operations/math_ops.py +32 -234
  366. mindspore/ops/operations/nn_ops.py +212 -531
  367. mindspore/ops/operations/other_ops.py +62 -9
  368. mindspore/ops/operations/random_ops.py +13 -7
  369. mindspore/ops/operations/reshard_ops.py +1 -1
  370. mindspore/ops/operations/sparse_ops.py +2 -2
  371. mindspore/ops/primitive.py +66 -53
  372. mindspore/ops/tensor_method.py +1895 -0
  373. mindspore/ops_generate/__init__.py +0 -5
  374. mindspore/ops_generate/aclnn/__init__.py +0 -0
  375. mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
  376. mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
  377. mindspore/ops_generate/api/__init__.py +0 -0
  378. mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
  379. mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
  380. mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
  381. mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
  382. mindspore/ops_generate/api/functions_cc_generator.py +237 -0
  383. mindspore/ops_generate/api/gen_api.py +103 -0
  384. mindspore/ops_generate/api/op_api_proto.py +235 -0
  385. mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
  386. mindspore/ops_generate/common/__init__.py +0 -0
  387. mindspore/ops_generate/common/base_generator.py +11 -0
  388. mindspore/ops_generate/common/gen_constants.py +91 -0
  389. mindspore/ops_generate/common/gen_utils.py +348 -0
  390. mindspore/ops_generate/common/op_proto.py +473 -0
  391. mindspore/ops_generate/common/template.py +523 -0
  392. mindspore/ops_generate/gen_ops.py +22 -1069
  393. mindspore/ops_generate/op_def/__init__.py +0 -0
  394. mindspore/ops_generate/op_def/gen_op_def.py +90 -0
  395. mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
  396. mindspore/ops_generate/op_def/ops_def_cc_generator.py +296 -0
  397. mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
  398. mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
  399. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
  400. mindspore/ops_generate/op_def_py/__init__.py +0 -0
  401. mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
  402. mindspore/ops_generate/op_def_py/op_def_py_generator.py +132 -0
  403. mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
  404. mindspore/ops_generate/pyboost/__init__.py +0 -0
  405. mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
  406. mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
  407. mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
  408. mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
  409. mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
  410. mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
  411. mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
  412. mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
  413. mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
  414. mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
  415. mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
  416. mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
  417. mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
  418. mindspore/ops_generate/resources/__init__.py +0 -0
  419. mindspore/ops_generate/resources/resource_list.py +30 -0
  420. mindspore/ops_generate/resources/resource_loader.py +36 -0
  421. mindspore/ops_generate/resources/resource_manager.py +64 -0
  422. mindspore/ops_generate/resources/yaml_loader.py +88 -0
  423. mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
  424. mindspore/parallel/__init__.py +7 -3
  425. mindspore/parallel/_auto_parallel_context.py +159 -40
  426. mindspore/parallel/_cell_wrapper.py +132 -15
  427. mindspore/parallel/_parallel_serialization.py +107 -5
  428. mindspore/parallel/_ps_context.py +1 -1
  429. mindspore/parallel/_recovery_context.py +7 -2
  430. mindspore/parallel/_tensor.py +142 -18
  431. mindspore/parallel/_utils.py +199 -23
  432. mindspore/parallel/algo_parameter_config.py +4 -4
  433. mindspore/parallel/auto_parallel.py +732 -0
  434. mindspore/parallel/checkpoint_convert.py +159 -0
  435. mindspore/parallel/checkpoint_transform.py +700 -35
  436. mindspore/parallel/cluster/process_entity/_api.py +276 -50
  437. mindspore/parallel/cluster/process_entity/_utils.py +41 -6
  438. mindspore/parallel/cluster/run.py +21 -4
  439. mindspore/parallel/function/__init__.py +24 -0
  440. mindspore/parallel/function/reshard_func.py +258 -0
  441. mindspore/parallel/nn/__init__.py +25 -0
  442. mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
  443. mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
  444. mindspore/parallel/parameter_broadcast.py +25 -14
  445. mindspore/parallel/shard.py +137 -59
  446. mindspore/parallel/transform_safetensors.py +364 -305
  447. mindspore/pgodb140.dll +0 -0
  448. mindspore/pgort140.dll +0 -0
  449. mindspore/profiler/__init__.py +22 -5
  450. mindspore/profiler/analysis/__init__.py +0 -0
  451. mindspore/profiler/analysis/parser/__init__.py +0 -0
  452. mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
  453. mindspore/profiler/analysis/parser/base_parser.py +158 -0
  454. mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
  455. mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
  456. mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
  457. mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
  458. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
  459. mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
  460. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +109 -0
  461. mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
  462. mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
  463. mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
  464. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
  465. mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
  466. mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
  467. mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
  468. mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
  469. mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
  470. mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
  471. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
  472. mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
  473. mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
  474. mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
  475. mindspore/profiler/analysis/task_manager.py +131 -0
  476. mindspore/profiler/analysis/time_converter.py +84 -0
  477. mindspore/profiler/analysis/viewer/__init__.py +0 -0
  478. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
  479. mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
  480. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
  481. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
  482. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
  483. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
  484. mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
  485. mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
  486. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
  487. mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
  488. mindspore/profiler/analysis/work_flow.py +73 -0
  489. mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
  490. mindspore/profiler/common/command_executor.py +90 -0
  491. mindspore/profiler/common/constant.py +186 -3
  492. mindspore/profiler/common/file_manager.py +208 -0
  493. mindspore/profiler/common/log.py +130 -0
  494. mindspore/profiler/common/msprof_cmd_tool.py +221 -0
  495. mindspore/profiler/common/path_manager.py +395 -0
  496. mindspore/profiler/common/process_bar.py +168 -0
  497. mindspore/profiler/common/process_pool.py +9 -3
  498. mindspore/profiler/common/profiler_context.py +500 -0
  499. mindspore/profiler/common/profiler_info.py +304 -0
  500. mindspore/profiler/common/profiler_meta_data.py +74 -0
  501. mindspore/profiler/common/profiler_output_path.py +284 -0
  502. mindspore/profiler/common/profiler_parameters.py +251 -0
  503. mindspore/profiler/common/profiler_path_manager.py +179 -0
  504. mindspore/profiler/common/record_function.py +76 -0
  505. mindspore/profiler/common/tlv_decoder.py +76 -0
  506. mindspore/profiler/common/util.py +75 -2
  507. mindspore/profiler/dynamic_profiler.py +341 -75
  508. mindspore/profiler/envprofiler.py +163 -0
  509. mindspore/profiler/experimental_config.py +197 -0
  510. mindspore/profiler/mstx.py +242 -0
  511. mindspore/profiler/platform/__init__.py +21 -0
  512. mindspore/profiler/platform/base_profiler.py +40 -0
  513. mindspore/profiler/platform/cpu_profiler.py +124 -0
  514. mindspore/profiler/platform/gpu_profiler.py +74 -0
  515. mindspore/profiler/platform/npu_profiler.py +335 -0
  516. mindspore/profiler/profiler.py +1073 -90
  517. mindspore/profiler/profiler_action_controller.py +187 -0
  518. mindspore/profiler/profiler_interface.py +118 -0
  519. mindspore/profiler/schedule.py +243 -0
  520. mindspore/rewrite/api/node.py +15 -13
  521. mindspore/rewrite/api/symbol_tree.py +2 -3
  522. mindspore/run_check/_check_version.py +27 -20
  523. mindspore/run_check/run_check.py +1 -1
  524. mindspore/runtime/__init__.py +37 -0
  525. mindspore/runtime/device.py +27 -0
  526. mindspore/runtime/event.py +209 -0
  527. mindspore/runtime/executor.py +177 -0
  528. mindspore/runtime/memory.py +416 -0
  529. mindspore/runtime/stream.py +460 -0
  530. mindspore/runtime/thread_bind_core.py +401 -0
  531. mindspore/safeguard/rewrite_obfuscation.py +12 -9
  532. mindspore/swresample-4.dll +0 -0
  533. mindspore/swscale-6.dll +0 -0
  534. mindspore/tbbmalloc.dll +0 -0
  535. mindspore/tinyxml2.dll +0 -0
  536. mindspore/train/__init__.py +8 -8
  537. mindspore/train/_utils.py +96 -27
  538. mindspore/train/amp.py +9 -5
  539. mindspore/train/callback/__init__.py +2 -2
  540. mindspore/train/callback/_callback.py +2 -16
  541. mindspore/train/callback/_checkpoint.py +53 -55
  542. mindspore/train/callback/_cluster_monitor.py +14 -18
  543. mindspore/train/callback/_early_stop.py +1 -1
  544. mindspore/train/callback/_flops_collector.py +103 -68
  545. mindspore/train/callback/_history.py +8 -5
  546. mindspore/train/callback/_lambda_callback.py +2 -2
  547. mindspore/train/callback/_landscape.py +0 -3
  548. mindspore/train/callback/_loss_monitor.py +2 -1
  549. mindspore/train/callback/_on_request_exit.py +6 -5
  550. mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
  551. mindspore/train/callback/_summary_collector.py +52 -19
  552. mindspore/train/callback/_time_monitor.py +2 -1
  553. mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +228 -108
  554. mindspore/train/data_sink.py +25 -2
  555. mindspore/train/dataset_helper.py +15 -16
  556. mindspore/train/loss_scale_manager.py +8 -7
  557. mindspore/train/metrics/accuracy.py +3 -3
  558. mindspore/train/metrics/confusion_matrix.py +9 -9
  559. mindspore/train/metrics/error.py +3 -3
  560. mindspore/train/metrics/hausdorff_distance.py +4 -4
  561. mindspore/train/metrics/mean_surface_distance.py +3 -3
  562. mindspore/train/metrics/metric.py +0 -12
  563. mindspore/train/metrics/occlusion_sensitivity.py +4 -2
  564. mindspore/train/metrics/precision.py +11 -10
  565. mindspore/train/metrics/recall.py +9 -9
  566. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  567. mindspore/train/mind_ir_pb2.py +174 -46
  568. mindspore/train/model.py +269 -136
  569. mindspore/train/serialization.py +622 -978
  570. mindspore/train/summary/_summary_adapter.py +2 -2
  571. mindspore/train/summary/summary_record.py +2 -3
  572. mindspore/train/train_thor/model_thor.py +1 -1
  573. mindspore/turbojpeg.dll +0 -0
  574. mindspore/utils/__init__.py +6 -3
  575. mindspore/utils/dryrun.py +140 -0
  576. mindspore/utils/hooks.py +81 -0
  577. mindspore/utils/runtime_execution_order_check.py +552 -0
  578. mindspore/utils/utils.py +138 -4
  579. mindspore/vcmeta.dll +0 -0
  580. mindspore/vcruntime140.dll +0 -0
  581. mindspore/vcruntime140_1.dll +0 -0
  582. mindspore/version.py +1 -1
  583. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/METADATA +3 -3
  584. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/RECORD +587 -418
  585. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +1 -1
  586. mindspore/_install_custom.py +0 -43
  587. mindspore/common/_register_for_adapter.py +0 -74
  588. mindspore/common/_tensor_overload.py +0 -139
  589. mindspore/mindspore_np_dtype.dll +0 -0
  590. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
  591. mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
  592. mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
  593. mindspore/ops_generate/gen_aclnn_implement.py +0 -263
  594. mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
  595. mindspore/ops_generate/gen_pyboost_func.py +0 -1052
  596. mindspore/ops_generate/gen_utils.py +0 -209
  597. mindspore/ops_generate/op_proto.py +0 -145
  598. mindspore/ops_generate/template.py +0 -261
  599. mindspore/profiler/envprofiling.py +0 -254
  600. mindspore/profiler/profiling.py +0 -1926
  601. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
  602. {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
@@ -12,25 +12,14 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ============================================================================
15
+
15
16
  """
16
- Generate constants
17
+ The cpu device context interface.
17
18
  """
18
- import os
19
-
20
- # op_def
21
- OP_DEF_AUTO_GENERATE_PATH = "op_def/auto_generate"
22
- MS_OP_DEF_AUTO_GENERATE_PATH = "mindspore/ops/op_def/auto_generate"
23
- YAML_PATH = "op_def/yaml"
24
- MS_YAML_PATH = "mindspore/ops/" + YAML_PATH
25
- PY_AUTO_GEN_PATH = "mindspore/python/mindspore/ops/auto_generate"
26
- PY_OPS_GEN_PATH = "mindspore/python/mindspore/ops_generate"
27
19
 
28
- # infer
29
- MS_OPS_FUNC_IMPL_PATH = "mindspore/ops/infer/ops_func_impl"
20
+ from mindspore.device_context.cpu.op_tuning import threads_num
21
+ from mindspore.device_context.cpu.device import is_available, device_count
30
22
 
31
- # view
32
- MS_OPS_VIEW_PATH = "mindspore/ops/view"
23
+ __all__ = ["threads_num", "is_available", "device_count"]
33
24
 
34
- # kernel
35
- MS_OPS_KERNEL_PATH = "mindspore/ops/kernel"
36
- MS_COMMON_PYBOOST_KERNEL_PATH = os.path.join(MS_OPS_KERNEL_PATH, "common/pyboost")
25
+ __all__.sort()
@@ -0,0 +1,62 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+
16
+ """The CPU device interfaces."""
17
+ from mindspore._c_expression import MSContext
18
+ from mindspore import log as logger
19
+
20
+
21
+ def is_available():
22
+ """
23
+ Return whether cpu backend is available.
24
+
25
+ Returns:
26
+ Bool, whether the cpu backend is available for this MindSpore package.
27
+
28
+ Examples:
29
+ >>> import mindspore as ms
30
+ >>> print(ms.device_context.cpu.is_available())
31
+ True
32
+ """
33
+ # MindSpore will try to load plugins in "import mindspore", and availability status will be stored.
34
+ context = MSContext.get_instance()
35
+ if not context.is_pkg_support_device("CPU"):
36
+ logger.warning(f"The CPU device is not available.")
37
+ load_plugin_error = context.load_plugin_error()
38
+ if load_plugin_error != "":
39
+ logger.warning(
40
+ f"Here's error when loading plugin for MindSpore package."
41
+ f"Error message: {load_plugin_error}"
42
+ )
43
+ return False
44
+ return True
45
+
46
+
47
+ def device_count():
48
+ """
49
+ Returns compute-capable device count of CPU.
50
+
51
+ Note:
52
+ - For CPU hardware, 1 is always returned.
53
+
54
+ Returns:
55
+ int, The number of compute-capable CPU devices.
56
+
57
+ Examples:
58
+ >>> import mindspore as ms
59
+ >>> print(ms.device_context.cpu.device_count())
60
+ 1
61
+ """
62
+ return 1
@@ -0,0 +1,43 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+
16
+ """Op tuning interfaces."""
17
+
18
+ from mindspore._c_expression import RuntimeConf
19
+ from mindspore import _checkparam as Validator
20
+ from mindspore._checkparam import args_type_check
21
+
22
+
23
+ @args_type_check(num=int)
24
+ def threads_num(num):
25
+ """
26
+ Set the threads number of CPU kernel used.
27
+
28
+ The framework set the threads number of CPU kernel used are ``25`` by default.
29
+
30
+ Args:
31
+ num (int): The threads number of CPU kernel used.
32
+
33
+ Examples:
34
+ >>> import mindspore as ms
35
+ >>> ms.set_device("Ascend", 1)
36
+ >>> ms.device_context.cpu.op_tuning.threads_num(10)
37
+ """
38
+ if RuntimeConf.get_instance().is_op_threads_num_configured():
39
+ raise RuntimeError("The 'threads_num' can not be set repeatedly.")
40
+
41
+ num = Validator.check_positive_int(num, "num")
42
+
43
+ return RuntimeConf.get_instance().set_op_threads_num(num)
@@ -0,0 +1,21 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+ """init file for GPU device context"""
16
+
17
+ from .device import device_count, is_available
18
+ from .op_precision import *
19
+ from .op_tuning import *
20
+
21
+ __all__ = ["device_count", "is_available"]
@@ -0,0 +1,70 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+
16
+ """Device context GPU interfaces"""
17
+ import mindspore as ms
18
+ from mindspore import log as logger
19
+ from mindspore._c_expression import MSContext
20
+ try:
21
+ from mindspore._c_expression import gpu_get_device_count
22
+ except ImportError:
23
+ pass
24
+
25
+
26
+ def device_count():
27
+ """
28
+ Return the number of GPUs available.
29
+
30
+ Returns:
31
+ Bool, the number of GPUs available.
32
+
33
+ Examples:
34
+ >>> import mindspore as ms
35
+ >>> ms.device_context.gpu.device.device_count()
36
+ """
37
+ if not MSContext.get_instance().is_pkg_support_device("GPU") or not is_available():
38
+ raise RuntimeError(f"Device_target GPU not exist.")
39
+
40
+ return gpu_get_device_count()
41
+
42
+
43
+ def is_available():
44
+ """
45
+ Return a bool indicating if CUDA is currently available.
46
+
47
+ Returns:
48
+ Bool, indicating if CUDA is currently available.
49
+
50
+ Examples:
51
+ >>> import mindspore as ms
52
+ >>> ms.device_context.gpu.device.is_available()
53
+ """
54
+ # MindSpore will try to load plugins in "import mindspore", and availability status will be stored.
55
+ if not MSContext.get_instance().is_pkg_support_device("GPU"):
56
+ logger.warning(f"Device GPU is not available.")
57
+ load_plugin_error = MSContext.get_instance().load_plugin_error()
58
+ if load_plugin_error != "":
59
+ logger.warning(f"Here's error when loading plugin for MindSpore package."
60
+ f"Error message: {load_plugin_error}")
61
+ return False
62
+ return True
63
+
64
+
65
+ def _is_supported():
66
+ device_target = ms.context.get_context("device_target")
67
+ if device_target == 'CPU' or device_target == 'Ascend':
68
+ logger.error(f"{device_target} device is not supported. Please use correct device")
69
+ return False
70
+ return True
@@ -0,0 +1,67 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+
16
+ """Op precision interfaces."""
17
+
18
+ from mindspore._checkparam import args_type_check
19
+ from .device import _is_supported
20
+ try:
21
+ from mindspore._c_expression import GPUOpPrecisionConf
22
+ except ImportError:
23
+ pass
24
+
25
+ function_status = {'matmul_allow_tf32': False, 'conv_allow_tf32': False}
26
+
27
+
28
+ @args_type_check(value=bool)
29
+ def matmul_allow_tf32(value):
30
+ """
31
+ Whether to convert FP32 to TF32 for Matmul operators.
32
+ For detailed information, please refer to `CUBLAS_COMPUTE_32F_FAST_TF32 <https://docs.nvidia.com/cuda/cublas/index.html>`_.
33
+
34
+ Args:
35
+ value (bool): Whether to convert FP32 to TF32 for Matmul operators. If not configured, the framework
36
+ defaults to ``False``.
37
+
38
+ Examples:
39
+ >>> import mindspore as ms
40
+ >>> ms.device_context.gpu.op_precision.matmul_allow_tf32(True)
41
+ """
42
+ if not function_status['matmul_allow_tf32']:
43
+ function_status['matmul_allow_tf32'] = True
44
+ if not _is_supported():
45
+ return
46
+ GPUOpPrecisionConf.get_instance().matmul_allow_tf32(value)
47
+
48
+
49
+ @args_type_check(value=bool)
50
+ def conv_allow_tf32(value):
51
+ """
52
+ Whether to convert FP32 to TF32 for Conv operators.
53
+ For detailed information, please refer to `CUBLAS_COMPUTE_32F_FAST_TF32 <https://docs.nvidia.com/cuda/cublas/index.html>`_.
54
+
55
+ Args:
56
+ value (bool): Whether to convert FP32 to HF32 for Conv operators. If not configured, the framework defaults
57
+ to ``True``.
58
+
59
+ Examples:
60
+ >>> import mindspore as ms
61
+ >>> ms.device_context.gpu.op_precision.conv_allow_tf32(False)
62
+ """
63
+ if not function_status['conv_allow_tf32']:
64
+ function_status['conv_allow_tf32'] = True
65
+ if not _is_supported():
66
+ return
67
+ GPUOpPrecisionConf.get_instance().conv_allow_tf32(value)
@@ -0,0 +1,175 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+
16
+ """Op tuning interfaces."""
17
+
18
+ try:
19
+ from mindspore._c_expression import GPUOpTuningConf
20
+ except ImportError:
21
+ pass
22
+ from .device import _is_supported
23
+
24
+ function_status = {'conv_fprop_algo': False, 'conv_wgrad_algo': False, 'conv_dgrad_algo': False}
25
+
26
+
27
+ def conv_fprop_algo(mode):
28
+ """
29
+ Specifies convolution forward algorithm.
30
+ For detailed information, please refer to `NVIDA cuDNN about cudnnConvolutionForward <https://docs.nvidia.com/deeplearning/cudnn/latest/api/cudnn-cnn-library.html>`_.
31
+
32
+ Args:
33
+ mode (str): convolution forward algorithm. If not configured, the framework defaults to 'normal'.
34
+ The value range is as follows:
35
+
36
+ - normal: Use the cuDNN's heuristic search algorithm, the appropriate convolution algorithm will be quickly
37
+ selected based on the convolution shape and type. This parameter does not guarantee optimal performance.
38
+ - performance: Use the cuDNN's trial search algorithm, all convolution algorithms will be trial run based on
39
+ the convolution shape and type, and the optimal algorithm will be selected. This parameter ensures optimal
40
+ performance.
41
+ - implicit_gemm: This algorithm expresses the convolution as a matrix product without actually explicitly
42
+ forming the matrix that holds the input tensor data.
43
+ - precomp_gemm: This algorithm expresses convolution as a matrix product without actually explicitly
44
+ forming the matrix that holds the input tensor data, but still needs some memory workspace to precompute
45
+ some indices in order to facilitate the implicit construction of the matrix that holds the input tensor
46
+ data.
47
+ - gemm: This algorithm expresses the convolution as an explicit matrix product. A significant memory
48
+ workspace is needed to store the matrix that holds the input tensor data.
49
+ - direct: This algorithm expresses the convolution as a direct convolution, without implicitly or explicitly
50
+ doing a matrix multiplication.
51
+ - fft: This algorithm uses the Fast-Fourier Transform approach to compute the convolution. A significant
52
+ memory workspace is needed to store intermediate results.
53
+ - fft_tiling: This algorithm uses the Fast-Fourier Transform approach but splits the inputs into tiles. A
54
+ significant memory workspace is needed to store intermediate results but less than fft algorithm for large
55
+ size images.
56
+ - winograd: This algorithm uses the Winograd Transform approach to compute the convolution. A reasonably
57
+ sized workspace is needed to store intermediate results.
58
+ - winograd_nonfused: This algorithm uses the Winograd Transform approach to compute the convolution. A
59
+ significant workspace may be needed to store intermediate results.
60
+
61
+ Examples:
62
+ >>> import mindspore as ms
63
+ >>> ms.device_context.gpu.op_tuning.conv_fprop_algo("performance")
64
+ """
65
+ if not function_status['conv_fprop_algo']:
66
+ function_status['conv_fprop_algo'] = True
67
+ if not _is_supported():
68
+ return
69
+ conv_fprop_algo_mode = ["normal", "performance", "implicit_gemm", "precomp_gemm", "gemm", "direct",
70
+ "fft", "fft_tiling", "winograd", "winograd_nonfused"]
71
+ if mode in conv_fprop_algo_mode:
72
+ GPUOpTuningConf.get_instance().set_conv_fprop_algo(mode)
73
+ else:
74
+ raise ValueError(
75
+ f"For 'mindspore.device_context.gpu.op_tuning.conv_fprop_algo', the argument must be in "
76
+ f"{conv_fprop_algo_mode} but got {mode}."
77
+ )
78
+
79
+
80
+ def conv_wgrad_algo(mode):
81
+ """
82
+ Specifies convolution filter grad algorithm.
83
+ For detailed information, please refer to `NVIDA cuDNN <https://docs.nvidia.com/deeplearning/cudnn/latest/api/cudnn-cnn-library.html>`_.
84
+
85
+ Args:
86
+ mode (str): convolution filter grad algorithm. If not configured, the framework defaults to 'normal'.
87
+ The value range is as follows:
88
+
89
+ - normal: Use the cuDNN's heuristic search algorithm, the appropriate convolution algorithm will be quickly
90
+ selected based on the convolution shape and type. This parameter does not guarantee optimal performance.
91
+ - performance: Use the cuDNN's trial search algorithm, all convolution algorithms will be trial run based on
92
+ the convolution shape and type, and the optimal algorithm will be selected. This parameter ensures optimal
93
+ performance.
94
+ - algo_0: This algorithm expresses the convolution as a sum of matrix products without actually explicitly
95
+ forming the matrix that holds the input tensor data. The sum is done using the atomic add operation, thus
96
+ the results are non-deterministic.
97
+ - algo_1: This algorithm expresses the convolution as a matrix product without actually explicitly forming
98
+ the matrix that holds the input tensor data. The results are deterministic.
99
+ - algo_3: This algorithm is similar to algo_0 but uses some small workspace to precompute some indices. The
100
+ results are also non-deterministic.
101
+ - fft: This algorithm uses a Fast-Fourier Transform approach to compute the convolution. A significant memory
102
+ workspace is needed to store intermediate results. The results are deterministic.
103
+ - fft_tiling: This algorithm uses the Fast-Fourier Transform approach but splits the inputs into tiles. A
104
+ significant memory workspace is needed to store intermediate results but less than fft for large size
105
+ images. The results are deterministic.
106
+ - winograd_nonfused: This algorithm uses the Winograd Transform approach to compute the convolution. A
107
+ significant workspace may be needed to store intermediate results. The results are deterministic.
108
+
109
+ Examples:
110
+ >>> import mindspore as ms
111
+ >>> ms.device_context.gpu.op_tuning.conv_wgrad_algo("performance")
112
+ """
113
+ if not function_status['conv_wgrad_algo']:
114
+ function_status['conv_wgrad_algo'] = True
115
+ if not _is_supported():
116
+ return
117
+ conv_wgrad_algo_mode = ["normal", "performance", "algo_0", "algo_1", "fft", "algo_3",
118
+ "fft_tiling", "winograd_nonfused"]
119
+
120
+ if mode in conv_wgrad_algo_mode:
121
+ GPUOpTuningConf.get_instance().set_conv_wgrad_algo(mode)
122
+ else:
123
+ raise ValueError(
124
+ f"For 'mindspore.device_context.gpu.op_tuning.conv_wgrad_algo', the argument must be in "
125
+ f"{conv_wgrad_algo_mode} but got {mode}."
126
+ )
127
+
128
+
129
+ def conv_dgrad_algo(mode):
130
+ """
131
+ Specifies convolution data grad algorithm.
132
+ For detailed information, please refer to `NVIDA cuDNN <https://docs.nvidia.com/deeplearning/cudnn/latest/api/cudnn-cnn-library.html>`_.
133
+
134
+ Args:
135
+ mode (str): convolution data grad algorithm. If not configured, the framework defaults to 'normal'.
136
+ The value range is as follows:
137
+
138
+ - normal: Use the cuDNN's heuristic search algorithm, the appropriate convolution algorithm will be quickly
139
+ selected based on the convolution shape and type. This parameter does not guarantee optimal performance.
140
+ - performance: Use the cuDNN's trial search algorithm, all convolution algorithms will be trial run based on
141
+ the convolution shape and type, and the optimal algorithm will be selected. This parameter ensures optimal
142
+ performance.
143
+ - algo_0: This algorithm expresses the convolution as a sum of matrix products without actually explicitly
144
+ forming the matrix that holds the input tensor data. The sum is done using the atomic add operation, thus
145
+ the results are non-deterministic.
146
+ - algo_1: This algorithm expresses the convolution as a matrix product without actually explicitly forming
147
+ the matrix that holds the input tensor data. The results are deterministic.
148
+ - fft: This algorithm uses a Fast-Fourier Transform approach to compute the convolution. A significant memory
149
+ workspace is needed to store intermediate results. The results are deterministic.
150
+ - fft_tiling: This algorithm uses the Fast-Fourier Transform approach but splits the inputs into tiles. A
151
+ significant memory workspace is needed to store intermediate results but less than fft for large size
152
+ images. The results are deterministic.
153
+ - winograd: This algorithm uses the Winograd Transform approach to compute the convolution. A reasonably
154
+ sized workspace is needed to store intermediate results. The results are deterministic.
155
+ - winograd_nonfused: This algorithm uses the Winograd Transform approach to compute the convolution. A
156
+ significant workspace may be needed to store intermediate results. The results are deterministic.
157
+
158
+ Examples:
159
+ >>> import mindspore as ms
160
+ >>> ms.device_context.gpu.op_tuning.conv_dgrad_algo("performance")
161
+ """
162
+ if not function_status['conv_dgrad_algo']:
163
+ function_status['conv_dgrad_algo'] = True
164
+ if not _is_supported():
165
+ return
166
+ conv_dgrad_algo_mode = ["normal", "performance", "algo_0", "algo_1", "fft", "fft_tiling",
167
+ "winograd", "winograd_nonfused"]
168
+
169
+ if mode in conv_dgrad_algo_mode:
170
+ GPUOpTuningConf.get_instance().set_conv_dgrad_algo(mode)
171
+ else:
172
+ raise ValueError(
173
+ f"For 'mindspore.device_context.gpu.op_tuning.conv_dgrad_algo', the argument must be in "
174
+ f"{conv_dgrad_algo_mode} but got {mode}."
175
+ )
@@ -0,0 +1,170 @@
1
+ # Copyright 2024 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+
16
+ """Device manager interfaces."""
17
+
18
+ import os
19
+ from mindspore import log as logger
20
+ from mindspore._c_expression import DeviceManagerConf, DeviceContextManager, MSContext, CollectiveManager
21
+ from mindspore._checkparam import args_type_check
22
+ from mindspore.parallel._ps_context import _need_reset_device_target_for_ps
23
+
24
+
25
+ __all__ = ['set_device', 'set_deterministic', 'get_current_device']
26
+
27
+
28
+ class DeviceInfo(tuple):
29
+ """
30
+ DeviceInfo class. Store the current device target and the corresponding device id.
31
+ """
32
+ def __new__(cls, device_target, device_id):
33
+ return super().__new__(cls, (device_target, device_id))
34
+
35
+ @property
36
+ def device_target(self):
37
+ return self[0]
38
+
39
+ @property
40
+ def device_id(self):
41
+ return self[1]
42
+
43
+
44
+ @args_type_check(device_target=str, device_id=int)
45
+ def set_device(device_target, device_id=None):
46
+ """
47
+ Set device target and device id for running environment.
48
+
49
+ Note:
50
+ - The `device_target` must be set in the ["CPU", "GPU", "Ascend"], there is no default value.
51
+ - Suggest setting `device_target` and `device_id` before calling :func:`mindspore.communication.init`.
52
+
53
+ Args:
54
+ device_target (str): The target device to run, only support "Ascend", "GPU", and "CPU".
55
+ device_id (int, optional): ID of the target device, the value must be in [0, device_num_per_host-1],
56
+ where device_num_per_host refers to the total number of devices on the host. Default: ``None`` .
57
+ The frame will set different default behaviours according to the scenario:
58
+ if it is a single-card scenario, the frame will be set to 0.
59
+ In a distributed scenario where msrun is started, the framework will
60
+ automatically negotiate the available device_id values.
61
+ In a distributed scenario with other startup methods, the frame is set to 0.
62
+
63
+ Examples:
64
+ >>> import mindspore as ms
65
+ >>> ms.set_device("Ascend", 1)
66
+ """
67
+ valid_targets = ["CPU", "GPU", "Ascend"]
68
+ if device_target not in valid_targets:
69
+ raise ValueError(f"The argument 'device_target' must be one of {valid_targets}, but got {device_target}.")
70
+ # If in Parameter Server mode, Ascend card should not be used by server and scheduler.
71
+ if _need_reset_device_target_for_ps(device_target):
72
+ logger.info("Reset device target to CPU when set_device.")
73
+ device_target = "CPU"
74
+
75
+ is_default = False
76
+ if device_id is None:
77
+ device_id = 0
78
+ is_default = True
79
+ if device_id < 0:
80
+ raise ValueError("The device id must bigger than or equal to 0.")
81
+
82
+ MSContext.get_instance().set_device_target_inner(device_target)
83
+
84
+ if DeviceManagerConf.get_instance().is_device_enable():
85
+ old_device_target = DeviceManagerConf.get_instance().get_device_target()
86
+ old_device_id = DeviceManagerConf.get_instance().get_device_id()
87
+ if old_device_target != device_target or old_device_id != device_id:
88
+ raise RuntimeError("The 'mindspore.set_device' can not be modified.")
89
+ return
90
+
91
+ device_context = DeviceContextManager.get_instance().get_device_context(device_target)
92
+ if device_context is not None and device_context.initialized():
93
+ raise RuntimeError("The runtime has been initialized, please set it before the kernel is executed, "
94
+ "or before calling 'mindspore.communication.init()'. "
95
+ "Suggest setting it as early as possible.")
96
+ DeviceManagerConf.get_instance().set_device(device_target, device_id, is_default)
97
+
98
+
99
+ def get_current_device():
100
+ """
101
+ Get device target and device id in the current running environment.
102
+
103
+ Examples:
104
+ >>> import mindspore as ms
105
+ >>> ms.set_device("Ascend", 1)
106
+ >>> ms.get_current_device()
107
+ ('Ascend', 1)
108
+ >>> ms.get_current_device().device_target
109
+ 'Ascend'
110
+ >>> ms.get_current_device().device_id
111
+ 1
112
+ """
113
+ device_target = DeviceManagerConf.get_instance().get_device_target()
114
+ device_id = DeviceManagerConf.get_instance().get_device_id()
115
+ return DeviceInfo(device_target, device_id)
116
+
117
+
118
+ @args_type_check(deterministic=bool)
119
+ def set_deterministic(deterministic):
120
+ """
121
+ Enables or disables deterministic computing.
122
+
123
+ When deterministic computing is enabled, the same output is generated if an operator is executed
124
+ for multiple times with the same hardware and input.This often slows down operator execution.
125
+ In distributed scenario, we suggest user to set deterministic mode before
126
+ calling :func:`mindspore.communication.init` to enable deterministic operation for
127
+ communication operators in the global communication group.
128
+
129
+ The framework not enabled deterministic computation by default.
130
+
131
+ Args:
132
+ deterministic (bool): Whether to enable deterministic computing.
133
+
134
+ Examples:
135
+ >>> import mindspore as ms
136
+ >>> ms.set_deterministic(True)
137
+ """
138
+ # Check the configuration environment whether valid.
139
+ if DeviceManagerConf.get_instance().is_deterministic_configured():
140
+ raise RuntimeError("The 'mindspore.set_deterministic' can not be set repeatedly.")
141
+
142
+ # Must wait for all async created groups to be initialized so that
143
+ # deterministic feature could be consistent between all processes.
144
+ CollectiveManager.get_instance().wait_all_comm_init()
145
+
146
+ # Check the hccl_deterministic and te_parallel_compiler.
147
+ hccl_deterministic = os.getenv("HCCL_DETERMINISTIC")
148
+ te_parallel_compiler = os.getenv("TE_PARALLEL_COMPILER")
149
+ if deterministic:
150
+ if hccl_deterministic and hccl_deterministic != "true":
151
+ logger.warning(f"Environment 'HCCL_DETERMINISTIC' should be 'true' when set deterministic='True', but "
152
+ f"got '{hccl_deterministic}'. 'HCCL_DETERMINISTIC' will be set to 'true'.")
153
+ if te_parallel_compiler and te_parallel_compiler != "1":
154
+ logger.warning(f"Environment 'TE_PARALLEL_COMPILER' should be '1' when set deterministic='True', but "
155
+ f"got '{te_parallel_compiler}'. 'TE_PARALLEL_COMPILER' will be set to '1'.")
156
+ os.environ["HCCL_DETERMINISTIC"] = "true"
157
+ os.environ["TE_PARALLEL_COMPILER"] = "1"
158
+ else:
159
+ if hccl_deterministic and hccl_deterministic != "false":
160
+ logger.warning(f"Environment 'HCCL_DETERMINISTIC' should not be set or be 'false' when set "
161
+ f"deterministic='False', but got '{hccl_deterministic}'. 'HCCL_DETERMINISTIC' "
162
+ f"will be unset.")
163
+ del os.environ["HCCL_DETERMINISTIC"]
164
+ if te_parallel_compiler and te_parallel_compiler != "0":
165
+ logger.warning(f"Environment 'TE_PARALLEL_COMPILER' should not be set or be '0' when set "
166
+ f"deterministic='False', but got '{te_parallel_compiler}'. 'TE_PARALLEL_COMPILER' "
167
+ f"will be unset.")
168
+ del os.environ["TE_PARALLEL_COMPILER"]
169
+
170
+ DeviceManagerConf.get_instance().set_deterministic(deterministic)
mindspore/dnnl.dll CHANGED
Binary file
mindspore/dpcmi.dll CHANGED
Binary file