mindspore 2.4.10__cp310-cp310-win_amd64.whl → 2.6.0__cp310-cp310-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/__init__.py +13 -6
- mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -0
- mindspore/_checkparam.py +3 -38
- mindspore/_deprecated/__init__.py +17 -0
- mindspore/_deprecated/jit.py +198 -0
- mindspore/_extends/builtin_operations.py +1 -1
- mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
- mindspore/_extends/parse/__init__.py +6 -7
- mindspore/_extends/parse/compile_config.py +83 -0
- mindspore/_extends/parse/deprecated/__init__.py +0 -0
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
- mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
- mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
- mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
- mindspore/_extends/parse/parser.py +47 -198
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +229 -99
- mindspore/_extends/pijit/__init__.py +2 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
- mindspore/_extends/pijit/tensor_func_list.py +27 -0
- mindspore/_extends/utils.py +1 -1
- mindspore/amp.py +11 -5
- mindspore/atlprov.dll +0 -0
- mindspore/avcodec-59.dll +0 -0
- mindspore/avdevice-59.dll +0 -0
- mindspore/avfilter-8.dll +0 -0
- mindspore/avformat-59.dll +0 -0
- mindspore/avutil-57.dll +0 -0
- mindspore/boost/__init__.py +2 -2
- mindspore/boost/base.py +3 -7
- mindspore/boost/boost_cell_wrapper.py +138 -43
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +6 -3
- mindspore/common/_grad_function.py +56 -0
- mindspore/common/_pijit_context.py +14 -5
- mindspore/common/_register_for_tensor.py +1 -2
- mindspore/common/_stub_tensor.py +30 -14
- mindspore/common/_tensor_cpp_method.py +17 -0
- mindspore/common/_tensor_docs.py +4760 -0
- mindspore/common/api.py +480 -372
- mindspore/common/auto_dynamic_shape.py +41 -44
- mindspore/common/dtype.py +39 -36
- mindspore/common/dump.py +9 -6
- mindspore/common/file_system.py +9 -1
- mindspore/common/generator.py +5 -0
- mindspore/common/hook_handle.py +6 -2
- mindspore/common/initializer.py +13 -10
- mindspore/common/jit_begin_end.py +94 -0
- mindspore/common/jit_config.py +6 -1
- mindspore/common/jit_context.py +76 -0
- mindspore/common/jit_trace.py +378 -0
- mindspore/common/lazy_inline.py +9 -3
- mindspore/common/mindir_util.py +10 -2
- mindspore/common/mutable.py +5 -4
- mindspore/common/parameter.py +135 -52
- mindspore/common/seed.py +2 -2
- mindspore/common/sparse_tensor.py +23 -17
- mindspore/common/tensor.py +975 -1981
- mindspore/communication/__init__.py +7 -5
- mindspore/communication/_comm_helper.py +52 -2
- mindspore/communication/comm_func.py +240 -181
- mindspore/communication/management.py +95 -26
- mindspore/context.py +324 -573
- mindspore/dataset/__init__.py +65 -37
- mindspore/dataset/audio/__init__.py +2 -8
- mindspore/dataset/audio/transforms.py +3 -17
- mindspore/dataset/callback/ds_callback.py +2 -1
- mindspore/dataset/core/config.py +87 -6
- mindspore/dataset/engine/cache_admin.py +3 -3
- mindspore/dataset/engine/cache_client.py +6 -5
- mindspore/dataset/engine/datasets.py +292 -267
- mindspore/dataset/engine/datasets_audio.py +22 -8
- mindspore/dataset/engine/datasets_standard_format.py +46 -27
- mindspore/dataset/engine/datasets_text.py +78 -48
- mindspore/dataset/engine/datasets_user_defined.py +183 -117
- mindspore/dataset/engine/datasets_vision.py +120 -44
- mindspore/dataset/engine/iterators.py +283 -63
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
- mindspore/dataset/engine/obs/util.py +8 -0
- mindspore/dataset/engine/queue.py +40 -0
- mindspore/dataset/engine/samplers.py +289 -43
- mindspore/dataset/engine/serializer_deserializer.py +3 -2
- mindspore/dataset/engine/validators.py +53 -11
- mindspore/dataset/text/__init__.py +7 -6
- mindspore/dataset/text/transforms.py +6 -5
- mindspore/dataset/text/utils.py +3 -3
- mindspore/dataset/transforms/__init__.py +0 -9
- mindspore/dataset/transforms/py_transforms_util.py +17 -0
- mindspore/dataset/transforms/transforms.py +31 -14
- mindspore/dataset/utils/browse_dataset.py +1 -1
- mindspore/dataset/vision/__init__.py +2 -9
- mindspore/dataset/vision/transforms.py +202 -158
- mindspore/dataset/vision/utils.py +7 -5
- mindspore/dataset/vision/validators.py +1 -2
- mindspore/device_context/__init__.py +21 -0
- mindspore/device_context/ascend/__init__.py +25 -0
- mindspore/device_context/ascend/device.py +72 -0
- mindspore/device_context/ascend/op_debug.py +153 -0
- mindspore/device_context/ascend/op_precision.py +193 -0
- mindspore/device_context/ascend/op_tuning.py +123 -0
- mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
- mindspore/device_context/cpu/device.py +62 -0
- mindspore/device_context/cpu/op_tuning.py +43 -0
- mindspore/device_context/gpu/__init__.py +21 -0
- mindspore/device_context/gpu/device.py +70 -0
- mindspore/device_context/gpu/op_precision.py +67 -0
- mindspore/device_context/gpu/op_tuning.py +175 -0
- mindspore/device_manager.py +170 -0
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/es/embedding_service.py +35 -27
- mindspore/experimental/llm_boost/__init__.py +1 -0
- mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +209 -0
- mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
- mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
- mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
- mindspore/experimental/llm_boost/register.py +1 -0
- mindspore/experimental/map_parameter.py +4 -4
- mindspore/experimental/optim/adadelta.py +6 -6
- mindspore/experimental/optim/adagrad.py +4 -4
- mindspore/experimental/optim/adam.py +7 -0
- mindspore/experimental/optim/adamax.py +4 -4
- mindspore/experimental/optim/adamw.py +4 -0
- mindspore/experimental/optim/asgd.py +1 -1
- mindspore/experimental/optim/lr_scheduler.py +73 -46
- mindspore/experimental/optim/radam.py +34 -31
- mindspore/experimental/optim/rprop.py +1 -1
- mindspore/experimental/optim/sgd.py +1 -1
- mindspore/hal/contiguous_tensors_handle.py +6 -10
- mindspore/hal/device.py +55 -53
- mindspore/hal/event.py +52 -52
- mindspore/hal/memory.py +179 -120
- mindspore/hal/stream.py +150 -109
- mindspore/include/api/context.h +0 -1
- mindspore/include/dataset/constants.h +7 -4
- mindspore/include/dataset/execute.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +50 -0
- mindspore/mindrecord/__init__.py +21 -8
- mindspore/mindrecord/config.py +17 -316
- mindspore/mindrecord/filereader.py +1 -9
- mindspore/mindrecord/filewriter.py +5 -15
- mindspore/mindrecord/mindpage.py +1 -9
- mindspore/mindspore_backend_common.dll +0 -0
- mindspore/mindspore_backend_manager.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_dump.dll +0 -0
- mindspore/mindspore_frontend.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_memory_pool.dll +0 -0
- mindspore/mindspore_ms_backend.dll +0 -0
- mindspore/mindspore_ops.dll +0 -0
- mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
- mindspore/mindspore_ops_kernel_common.dll +0 -0
- mindspore/mindspore_profiler.dll +0 -0
- mindspore/mindspore_pyboost.dll +0 -0
- mindspore/mindspore_pynative.dll +0 -0
- mindspore/mindspore_res_manager.dll +0 -0
- mindspore/mindspore_runtime_pipeline.dll +0 -0
- mindspore/mint/__init__.py +798 -761
- mindspore/mint/distributed/__init__.py +70 -4
- mindspore/mint/distributed/distributed.py +2679 -44
- mindspore/mint/linalg/__init__.py +8 -0
- mindspore/mint/nn/__init__.py +743 -22
- mindspore/mint/nn/functional.py +716 -23
- mindspore/mint/nn/layer/__init__.py +21 -4
- mindspore/mint/nn/layer/_functions.py +334 -0
- mindspore/mint/nn/layer/activation.py +276 -1
- mindspore/mint/nn/layer/basic.py +123 -0
- mindspore/mint/nn/layer/conv.py +933 -0
- mindspore/mint/nn/layer/normalization.py +223 -28
- mindspore/mint/nn/layer/padding.py +797 -0
- mindspore/mint/nn/layer/pooling.py +235 -0
- mindspore/mint/optim/__init__.py +3 -1
- mindspore/mint/optim/adam.py +223 -0
- mindspore/mint/optim/adamw.py +26 -19
- mindspore/mint/optim/sgd.py +171 -0
- mindspore/mint/special/__init__.py +2 -1
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/multiprocessing/__init__.py +5 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1373 -192
- mindspore/nn/dynamic_lr.py +2 -1
- mindspore/nn/layer/activation.py +29 -27
- mindspore/nn/layer/basic.py +51 -35
- mindspore/nn/layer/channel_shuffle.py +3 -3
- mindspore/nn/layer/container.py +1 -1
- mindspore/nn/layer/conv.py +53 -42
- mindspore/nn/layer/embedding.py +12 -11
- mindspore/nn/layer/normalization.py +56 -49
- mindspore/nn/layer/padding.py +4 -3
- mindspore/nn/layer/pooling.py +120 -42
- mindspore/nn/layer/rnn_cells.py +1 -1
- mindspore/nn/layer/rnns.py +2 -1
- mindspore/nn/layer/timedistributed.py +5 -5
- mindspore/nn/layer/transformer.py +59 -36
- mindspore/nn/learning_rate_schedule.py +8 -4
- mindspore/nn/loss/loss.py +58 -55
- mindspore/nn/optim/ada_grad.py +7 -5
- mindspore/nn/optim/adadelta.py +11 -9
- mindspore/nn/optim/adafactor.py +1 -1
- mindspore/nn/optim/adam.py +19 -15
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +3 -1
- mindspore/nn/optim/ftrl.py +11 -9
- mindspore/nn/optim/lamb.py +1 -1
- mindspore/nn/optim/lars.py +1 -4
- mindspore/nn/optim/lazyadam.py +12 -10
- mindspore/nn/optim/momentum.py +7 -6
- mindspore/nn/optim/optimizer.py +3 -3
- mindspore/nn/optim/proximal_ada_grad.py +12 -10
- mindspore/nn/optim/rmsprop.py +13 -12
- mindspore/nn/optim/rprop.py +11 -9
- mindspore/nn/optim/sgd.py +9 -6
- mindspore/nn/optim/tft_wrapper.py +5 -2
- mindspore/nn/optim/thor.py +2 -1
- mindspore/nn/probability/bijector/bijector.py +17 -11
- mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
- mindspore/nn/probability/bijector/invert.py +2 -2
- mindspore/nn/probability/bijector/scalar_affine.py +3 -3
- mindspore/nn/probability/bijector/softplus.py +3 -2
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +1 -1
- mindspore/nn/probability/distribution/cauchy.py +4 -2
- mindspore/nn/probability/distribution/exponential.py +6 -7
- mindspore/nn/probability/distribution/gamma.py +2 -2
- mindspore/nn/probability/distribution/gumbel.py +2 -2
- mindspore/nn/probability/distribution/half_normal.py +5 -3
- mindspore/nn/probability/distribution/logistic.py +5 -3
- mindspore/nn/probability/distribution/poisson.py +1 -1
- mindspore/nn/probability/distribution/uniform.py +5 -3
- mindspore/nn/reinforcement/_tensors_queue.py +1 -1
- mindspore/nn/reinforcement/tensor_array.py +1 -1
- mindspore/nn/utils/init.py +13 -11
- mindspore/nn/wrap/__init__.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +181 -122
- mindspore/nn/wrap/grad_reducer.py +45 -36
- mindspore/nn/wrap/loss_scale.py +6 -7
- mindspore/numpy/array_creations.py +63 -65
- mindspore/numpy/array_ops.py +149 -144
- mindspore/numpy/logic_ops.py +41 -42
- mindspore/numpy/math_ops.py +361 -359
- mindspore/numpy/utils.py +17 -18
- mindspore/numpy/utils_const.py +5 -6
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +5 -3
- mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
- mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
- mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
- mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
- mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
- mindspore/ops/_op_impl/cpu/__init__.py +1 -0
- mindspore/ops/_op_impl/cpu/raise_op.py +28 -0
- mindspore/ops/_register_for_op.py +0 -11
- mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
- mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -65
- mindspore/ops/_vmap/vmap_array_ops.py +52 -25
- mindspore/ops/_vmap/vmap_base.py +0 -2
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
- mindspore/ops/_vmap/vmap_math_ops.py +15 -16
- mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
- mindspore/ops/auto_generate/__init__.py +4 -3
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +258 -46
- mindspore/ops/auto_generate/gen_extend_func.py +757 -185
- mindspore/ops/auto_generate/gen_ops_def.py +4197 -2243
- mindspore/ops/auto_generate/gen_ops_prim.py +16976 -6055
- mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
- mindspore/ops/composite/__init__.py +2 -1
- mindspore/ops/composite/base.py +20 -25
- mindspore/ops/composite/math_ops.py +6 -16
- mindspore/ops/composite/multitype_ops/__init__.py +5 -2
- mindspore/ops/composite/multitype_ops/_compile_utils.py +228 -30
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
- mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
- mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
- mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
- mindspore/ops/composite/multitype_ops/pow_impl.py +2 -30
- mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
- mindspore/ops/function/__init__.py +40 -2
- mindspore/ops/function/_add_attr_func.py +58 -0
- mindspore/ops/function/array_func.py +2089 -2403
- mindspore/ops/function/clip_func.py +80 -23
- mindspore/ops/function/debug_func.py +57 -57
- mindspore/ops/function/grad/__init__.py +1 -0
- mindspore/ops/function/grad/grad_func.py +104 -71
- mindspore/ops/function/image_func.py +2 -2
- mindspore/ops/function/linalg_func.py +47 -78
- mindspore/ops/function/math_func.py +4351 -3813
- mindspore/ops/function/nn_func.py +1712 -637
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +18 -84
- mindspore/ops/function/random_func.py +452 -387
- mindspore/ops/function/reshard_func.py +4 -70
- mindspore/ops/function/sparse_func.py +3 -3
- mindspore/ops/function/sparse_unary_func.py +6 -6
- mindspore/ops/function/spectral_func.py +25 -58
- mindspore/ops/function/vmap_func.py +26 -18
- mindspore/ops/functional.py +23 -7
- mindspore/ops/functional_overload.py +1548 -0
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +23 -15
- mindspore/ops/operations/_custom_ops_utils.py +235 -0
- mindspore/ops/operations/_embedding_cache_ops.py +4 -4
- mindspore/ops/operations/_grad_ops.py +2 -43
- mindspore/ops/operations/_infer_ops.py +2 -1
- mindspore/ops/operations/_inner_ops.py +43 -84
- mindspore/ops/operations/_ms_kernel.py +4 -10
- mindspore/ops/operations/_rl_inner_ops.py +1 -1
- mindspore/ops/operations/_scalar_ops.py +3 -2
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/_tensor_array.py +1 -1
- mindspore/ops/operations/array_ops.py +81 -324
- mindspore/ops/operations/comm_ops.py +154 -108
- mindspore/ops/operations/custom_ops.py +298 -87
- mindspore/ops/operations/debug_ops.py +157 -59
- mindspore/ops/operations/inner_ops.py +7 -5
- mindspore/ops/operations/linalg_ops.py +1 -57
- mindspore/ops/operations/manually_defined/_inner.py +1 -1
- mindspore/ops/operations/manually_defined/ops_def.py +928 -180
- mindspore/ops/operations/math_ops.py +32 -234
- mindspore/ops/operations/nn_ops.py +212 -531
- mindspore/ops/operations/other_ops.py +62 -9
- mindspore/ops/operations/random_ops.py +13 -7
- mindspore/ops/operations/reshard_ops.py +1 -1
- mindspore/ops/operations/sparse_ops.py +2 -2
- mindspore/ops/primitive.py +66 -53
- mindspore/ops/tensor_method.py +1895 -0
- mindspore/ops_generate/__init__.py +0 -5
- mindspore/ops_generate/aclnn/__init__.py +0 -0
- mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
- mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
- mindspore/ops_generate/api/__init__.py +0 -0
- mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
- mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
- mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
- mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
- mindspore/ops_generate/api/functions_cc_generator.py +237 -0
- mindspore/ops_generate/api/gen_api.py +103 -0
- mindspore/ops_generate/api/op_api_proto.py +235 -0
- mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
- mindspore/ops_generate/common/__init__.py +0 -0
- mindspore/ops_generate/common/base_generator.py +11 -0
- mindspore/ops_generate/common/gen_constants.py +91 -0
- mindspore/ops_generate/common/gen_utils.py +348 -0
- mindspore/ops_generate/common/op_proto.py +473 -0
- mindspore/ops_generate/common/template.py +523 -0
- mindspore/ops_generate/gen_ops.py +22 -1069
- mindspore/ops_generate/op_def/__init__.py +0 -0
- mindspore/ops_generate/op_def/gen_op_def.py +90 -0
- mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
- mindspore/ops_generate/op_def/ops_def_cc_generator.py +296 -0
- mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
- mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
- mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
- mindspore/ops_generate/op_def_py/__init__.py +0 -0
- mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
- mindspore/ops_generate/op_def_py/op_def_py_generator.py +132 -0
- mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
- mindspore/ops_generate/pyboost/__init__.py +0 -0
- mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
- mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
- mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
- mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
- mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
- mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
- mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
- mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
- mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
- mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
- mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
- mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
- mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
- mindspore/ops_generate/resources/__init__.py +0 -0
- mindspore/ops_generate/resources/resource_list.py +30 -0
- mindspore/ops_generate/resources/resource_loader.py +36 -0
- mindspore/ops_generate/resources/resource_manager.py +64 -0
- mindspore/ops_generate/resources/yaml_loader.py +88 -0
- mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
- mindspore/parallel/__init__.py +7 -3
- mindspore/parallel/_auto_parallel_context.py +159 -40
- mindspore/parallel/_cell_wrapper.py +132 -15
- mindspore/parallel/_parallel_serialization.py +107 -5
- mindspore/parallel/_ps_context.py +1 -1
- mindspore/parallel/_recovery_context.py +7 -2
- mindspore/parallel/_tensor.py +142 -18
- mindspore/parallel/_utils.py +199 -23
- mindspore/parallel/algo_parameter_config.py +4 -4
- mindspore/parallel/auto_parallel.py +732 -0
- mindspore/parallel/checkpoint_convert.py +159 -0
- mindspore/parallel/checkpoint_transform.py +700 -35
- mindspore/parallel/cluster/process_entity/_api.py +276 -50
- mindspore/parallel/cluster/process_entity/_utils.py +41 -6
- mindspore/parallel/cluster/run.py +21 -4
- mindspore/parallel/function/__init__.py +24 -0
- mindspore/parallel/function/reshard_func.py +258 -0
- mindspore/parallel/nn/__init__.py +25 -0
- mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
- mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
- mindspore/parallel/parameter_broadcast.py +25 -14
- mindspore/parallel/shard.py +137 -59
- mindspore/parallel/transform_safetensors.py +364 -305
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +22 -5
- mindspore/profiler/analysis/__init__.py +0 -0
- mindspore/profiler/analysis/parser/__init__.py +0 -0
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
- mindspore/profiler/analysis/parser/base_parser.py +158 -0
- mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
- mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
- mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +109 -0
- mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
- mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
- mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
- mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
- mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
- mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
- mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
- mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
- mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
- mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
- mindspore/profiler/analysis/task_manager.py +131 -0
- mindspore/profiler/analysis/time_converter.py +84 -0
- mindspore/profiler/analysis/viewer/__init__.py +0 -0
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
- mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
- mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
- mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
- mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
- mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
- mindspore/profiler/analysis/work_flow.py +73 -0
- mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
- mindspore/profiler/common/command_executor.py +90 -0
- mindspore/profiler/common/constant.py +186 -3
- mindspore/profiler/common/file_manager.py +208 -0
- mindspore/profiler/common/log.py +130 -0
- mindspore/profiler/common/msprof_cmd_tool.py +221 -0
- mindspore/profiler/common/path_manager.py +395 -0
- mindspore/profiler/common/process_bar.py +168 -0
- mindspore/profiler/common/process_pool.py +9 -3
- mindspore/profiler/common/profiler_context.py +500 -0
- mindspore/profiler/common/profiler_info.py +304 -0
- mindspore/profiler/common/profiler_meta_data.py +74 -0
- mindspore/profiler/common/profiler_output_path.py +284 -0
- mindspore/profiler/common/profiler_parameters.py +251 -0
- mindspore/profiler/common/profiler_path_manager.py +179 -0
- mindspore/profiler/common/record_function.py +76 -0
- mindspore/profiler/common/tlv_decoder.py +76 -0
- mindspore/profiler/common/util.py +75 -2
- mindspore/profiler/dynamic_profiler.py +341 -75
- mindspore/profiler/envprofiler.py +163 -0
- mindspore/profiler/experimental_config.py +197 -0
- mindspore/profiler/mstx.py +242 -0
- mindspore/profiler/platform/__init__.py +21 -0
- mindspore/profiler/platform/base_profiler.py +40 -0
- mindspore/profiler/platform/cpu_profiler.py +124 -0
- mindspore/profiler/platform/gpu_profiler.py +74 -0
- mindspore/profiler/platform/npu_profiler.py +335 -0
- mindspore/profiler/profiler.py +1073 -90
- mindspore/profiler/profiler_action_controller.py +187 -0
- mindspore/profiler/profiler_interface.py +118 -0
- mindspore/profiler/schedule.py +243 -0
- mindspore/rewrite/api/node.py +15 -13
- mindspore/rewrite/api/symbol_tree.py +2 -3
- mindspore/run_check/_check_version.py +27 -20
- mindspore/run_check/run_check.py +1 -1
- mindspore/runtime/__init__.py +37 -0
- mindspore/runtime/device.py +27 -0
- mindspore/runtime/event.py +209 -0
- mindspore/runtime/executor.py +177 -0
- mindspore/runtime/memory.py +416 -0
- mindspore/runtime/stream.py +460 -0
- mindspore/runtime/thread_bind_core.py +401 -0
- mindspore/safeguard/rewrite_obfuscation.py +12 -9
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +96 -27
- mindspore/train/amp.py +9 -5
- mindspore/train/callback/__init__.py +2 -2
- mindspore/train/callback/_callback.py +2 -16
- mindspore/train/callback/_checkpoint.py +53 -55
- mindspore/train/callback/_cluster_monitor.py +14 -18
- mindspore/train/callback/_early_stop.py +1 -1
- mindspore/train/callback/_flops_collector.py +103 -68
- mindspore/train/callback/_history.py +8 -5
- mindspore/train/callback/_lambda_callback.py +2 -2
- mindspore/train/callback/_landscape.py +0 -3
- mindspore/train/callback/_loss_monitor.py +2 -1
- mindspore/train/callback/_on_request_exit.py +6 -5
- mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
- mindspore/train/callback/_summary_collector.py +52 -19
- mindspore/train/callback/_time_monitor.py +2 -1
- mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +228 -108
- mindspore/train/data_sink.py +25 -2
- mindspore/train/dataset_helper.py +15 -16
- mindspore/train/loss_scale_manager.py +8 -7
- mindspore/train/metrics/accuracy.py +3 -3
- mindspore/train/metrics/confusion_matrix.py +9 -9
- mindspore/train/metrics/error.py +3 -3
- mindspore/train/metrics/hausdorff_distance.py +4 -4
- mindspore/train/metrics/mean_surface_distance.py +3 -3
- mindspore/train/metrics/metric.py +0 -12
- mindspore/train/metrics/occlusion_sensitivity.py +4 -2
- mindspore/train/metrics/precision.py +11 -10
- mindspore/train/metrics/recall.py +9 -9
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +174 -46
- mindspore/train/model.py +269 -136
- mindspore/train/serialization.py +622 -978
- mindspore/train/summary/_summary_adapter.py +2 -2
- mindspore/train/summary/summary_record.py +2 -3
- mindspore/train/train_thor/model_thor.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +6 -3
- mindspore/utils/dryrun.py +140 -0
- mindspore/utils/hooks.py +81 -0
- mindspore/utils/runtime_execution_order_check.py +552 -0
- mindspore/utils/utils.py +138 -4
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/METADATA +3 -3
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/RECORD +587 -418
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +1 -1
- mindspore/_install_custom.py +0 -43
- mindspore/common/_register_for_adapter.py +0 -74
- mindspore/common/_tensor_overload.py +0 -139
- mindspore/mindspore_np_dtype.dll +0 -0
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
- mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
- mindspore/ops_generate/gen_aclnn_implement.py +0 -263
- mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
- mindspore/ops_generate/gen_pyboost_func.py +0 -1052
- mindspore/ops_generate/gen_utils.py +0 -209
- mindspore/ops_generate/op_proto.py +0 -145
- mindspore/ops_generate/template.py +0 -261
- mindspore/profiler/envprofiling.py +0 -254
- mindspore/profiler/profiling.py +0 -1926
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
from __future__ import absolute_import
|
|
19
19
|
from __future__ import division
|
|
20
20
|
|
|
21
|
+
import os
|
|
21
22
|
from mindspore.common import Tensor
|
|
22
23
|
from mindspore import _checkparam as validator
|
|
23
24
|
from mindspore.communication.management import get_rank, get_group_size, GlobalComm, _get_group, _host_distribute
|
|
@@ -54,10 +55,10 @@ class ReduceOp:
|
|
|
54
55
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
55
56
|
without any third-party or configuration file dependencies.
|
|
56
57
|
Please see the `msrun start up
|
|
57
|
-
<https://www.mindspore.cn/
|
|
58
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
58
59
|
for more details.
|
|
59
60
|
|
|
60
|
-
This example should be run with
|
|
61
|
+
This example should be run with 2 devices.
|
|
61
62
|
|
|
62
63
|
>>> import numpy as np
|
|
63
64
|
>>> import mindspore
|
|
@@ -100,7 +101,9 @@ def check_collective_target_dtype(data_name, data_dtype, prim_name):
|
|
|
100
101
|
def check_hcom_group_valid(group, prim_name=None):
|
|
101
102
|
"""Check if hcom group is valid."""
|
|
102
103
|
msg_prefix = f"For '{prim_name}', the" if prim_name else "The"
|
|
103
|
-
|
|
104
|
+
sim_level = os.getenv("MS_SIMULATION_LEVEL")
|
|
105
|
+
no_sim = (sim_level is None or sim_level.strip() == '')
|
|
106
|
+
if no_sim and (not _host_distribute()) and context.get_context("mode") == context.PYNATIVE_MODE and \
|
|
104
107
|
group != GlobalComm.WORLD_COMM_GROUP:
|
|
105
108
|
raise RuntimeError(f"{msg_prefix} 'group' only support 'hccl_world_group' in pynative mode, but got "
|
|
106
109
|
f"'group': {group}. Please start by using mpi-run.")
|
|
@@ -141,7 +144,7 @@ class AllReduce(Primitive):
|
|
|
141
144
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
142
145
|
without any third-party or configuration file dependencies.
|
|
143
146
|
Please see the `msrun start up
|
|
144
|
-
<https://www.mindspore.cn/
|
|
147
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
145
148
|
for more details.
|
|
146
149
|
|
|
147
150
|
This example should be run with 2 devices.
|
|
@@ -231,7 +234,7 @@ class Reduce(PrimitiveWithInfer):
|
|
|
231
234
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method without any third-party
|
|
232
235
|
or configuration file dependencies.
|
|
233
236
|
Please see the `msrun start up
|
|
234
|
-
<https://www.mindspore.cn/
|
|
237
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
235
238
|
for more details.
|
|
236
239
|
|
|
237
240
|
This example should be run with 4 devices.
|
|
@@ -244,13 +247,13 @@ class Reduce(PrimitiveWithInfer):
|
|
|
244
247
|
>>> # Launch 4 processes.
|
|
245
248
|
>>> init()
|
|
246
249
|
>>> class ReduceNet(nn.Cell):
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
250
|
+
... def __init__(self):
|
|
251
|
+
... super(ReduceNet, self).__init__()
|
|
252
|
+
... self.reduce = ops.Reduce(dest_rank=1)
|
|
253
|
+
...
|
|
254
|
+
... def construct(self, x):
|
|
255
|
+
... out = self.reduce(x)
|
|
256
|
+
... return out
|
|
254
257
|
>>> input = Tensor(np.ones([2, 8]).astype(np.float32))
|
|
255
258
|
>>> net = ReduceNet()
|
|
256
259
|
>>> output = net(input)
|
|
@@ -315,7 +318,7 @@ class AllGather(PrimitiveWithInfer):
|
|
|
315
318
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
316
319
|
without any third-party or configuration file dependencies.
|
|
317
320
|
Please see the `msrun start up
|
|
318
|
-
<https://www.mindspore.cn/
|
|
321
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
319
322
|
for more details.
|
|
320
323
|
|
|
321
324
|
This example should be run with 2 devices.
|
|
@@ -538,7 +541,7 @@ class ReduceScatter(Primitive):
|
|
|
538
541
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
539
542
|
without any third-party or configuration file dependencies.
|
|
540
543
|
Please see the `msrun start up
|
|
541
|
-
<https://www.mindspore.cn/
|
|
544
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
542
545
|
for more details.
|
|
543
546
|
|
|
544
547
|
This example should be run with 2 devices.
|
|
@@ -676,7 +679,7 @@ class Broadcast(PrimitiveWithInfer):
|
|
|
676
679
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
677
680
|
without any third-party or configuration file dependencies.
|
|
678
681
|
Please see the `msrun start up
|
|
679
|
-
<https://www.mindspore.cn/
|
|
682
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
680
683
|
for more details.
|
|
681
684
|
|
|
682
685
|
This example should be run with 2 devices.
|
|
@@ -880,7 +883,7 @@ class AlltoAll(PrimitiveWithInfer):
|
|
|
880
883
|
split_count (int): On each process, divide blocks into split_count number.
|
|
881
884
|
split_dim (int): On each process, split blocks along the split_dim.
|
|
882
885
|
concat_dim (int): On each process, gather the received blocks along the concat_dimension.
|
|
883
|
-
group (str): The communication group to work on. Default: ``GlobalComm.WORLD_COMM_GROUP`` .
|
|
886
|
+
group (str, optional): The communication group to work on. Default: ``GlobalComm.WORLD_COMM_GROUP`` .
|
|
884
887
|
|
|
885
888
|
Inputs:
|
|
886
889
|
- **input_x** (Tensor) - The shape of tensor is :math:`(x_1, x_2, ..., x_R)`.
|
|
@@ -906,7 +909,7 @@ class AlltoAll(PrimitiveWithInfer):
|
|
|
906
909
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
907
910
|
without any third-party or configuration file dependencies.
|
|
908
911
|
Please see the `msrun start up
|
|
909
|
-
<https://www.mindspore.cn/
|
|
912
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
910
913
|
for more details.
|
|
911
914
|
|
|
912
915
|
This example should be run with 8 devices.
|
|
@@ -1028,7 +1031,7 @@ class NeighborExchangeV2(Primitive):
|
|
|
1028
1031
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1029
1032
|
without any third-party or configuration file dependencies.
|
|
1030
1033
|
Please see the `msrun start up
|
|
1031
|
-
<https://www.mindspore.cn/
|
|
1034
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
1032
1035
|
for more details.
|
|
1033
1036
|
|
|
1034
1037
|
This example should be run with 2 devices.
|
|
@@ -1051,7 +1054,7 @@ class NeighborExchangeV2(Primitive):
|
|
|
1051
1054
|
... def construct(self, x):
|
|
1052
1055
|
... out = self.neighbor_exchangev2(x)
|
|
1053
1056
|
... return out
|
|
1054
|
-
|
|
1057
|
+
>>> class Net1(nn.Cell):
|
|
1055
1058
|
... def __init__(self):
|
|
1056
1059
|
... super(Net1, self).__init__()
|
|
1057
1060
|
... self.neighbor_exchangev2 = ops.NeighborExchangeV2(send_rank_ids=[0, -1, -1, -1, -1, -1, -1, -1],
|
|
@@ -1067,16 +1070,19 @@ class NeighborExchangeV2(Primitive):
|
|
|
1067
1070
|
>>> init()
|
|
1068
1071
|
>>> rank_id = int(os.getenv("RANK_ID"))
|
|
1069
1072
|
>>> if (rank_id % 2 == 0):
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1073
|
+
... input_x = ms.Tensor(np.ones([1, 1, 2, 2]), dtype = ms.float32)
|
|
1074
|
+
... net = Net0()
|
|
1075
|
+
... output = net(input_x)
|
|
1076
|
+
... print(output)
|
|
1077
|
+
... else:
|
|
1078
|
+
... input_x = ms.Tensor(np.ones([1, 1, 2, 2]) * 2, dtype = ms.float32)
|
|
1079
|
+
... net = Net1()
|
|
1080
|
+
... output = net(input_x)
|
|
1081
|
+
... print(output)
|
|
1082
|
+
rank 0:
|
|
1079
1083
|
[[[[1. 1.], [1. 1.], [2. 2.]]]]
|
|
1084
|
+
rank 1:
|
|
1085
|
+
[[[[1. 1.], [2. 2.], [2. 2.]]]]
|
|
1080
1086
|
|
|
1081
1087
|
Tutorial Examples:
|
|
1082
1088
|
- `Distributed Set Communication Primitives - NeighborExchangeV2
|
|
@@ -1111,7 +1117,7 @@ class NeighborExchangeV2(Primitive):
|
|
|
1111
1117
|
|
|
1112
1118
|
class CollectiveScatter(Primitive):
|
|
1113
1119
|
r"""
|
|
1114
|
-
Scatter
|
|
1120
|
+
Scatter input data evently across the processes in the specified communication group.
|
|
1115
1121
|
|
|
1116
1122
|
Note:
|
|
1117
1123
|
The interface behavior only support Tensor input and scatter evenly.
|
|
@@ -1145,7 +1151,7 @@ class CollectiveScatter(Primitive):
|
|
|
1145
1151
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1146
1152
|
without any third-party or configuration file dependencies.
|
|
1147
1153
|
Please see the `msrun start up
|
|
1148
|
-
<https://www.mindspore.cn/
|
|
1154
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
1149
1155
|
for more details.
|
|
1150
1156
|
|
|
1151
1157
|
This example should be run with 2 devices.
|
|
@@ -1158,12 +1164,12 @@ class CollectiveScatter(Primitive):
|
|
|
1158
1164
|
>>> # Launch 2 processes.
|
|
1159
1165
|
>>> init()
|
|
1160
1166
|
>>> class CollectiveScatterNet(nn.Cell):
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
+
... def __init__(self):
|
|
1168
|
+
... super(CollectiveScatterNet, self).__init__()
|
|
1169
|
+
... self.collective_scatter = ops.CollectiveScatter(src_rank=0)
|
|
1170
|
+
...
|
|
1171
|
+
... def construct(self, x):
|
|
1172
|
+
... return self.collective_scatter(x)
|
|
1167
1173
|
>>>
|
|
1168
1174
|
>>> input = Tensor(np.arange(8).reshape([4, 2]).astype(np.float32))
|
|
1169
1175
|
>>> net = CollectiveScatterNet()
|
|
@@ -1230,7 +1236,7 @@ class CollectiveGather(Primitive):
|
|
|
1230
1236
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1231
1237
|
without any third-party or configuration file dependencies.
|
|
1232
1238
|
Please see the `msrun start up
|
|
1233
|
-
<https://www.mindspore.cn/
|
|
1239
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
1234
1240
|
for more details.
|
|
1235
1241
|
|
|
1236
1242
|
This example should be run with 4 devices.
|
|
@@ -1306,7 +1312,7 @@ class Barrier(PrimitiveWithInfer):
|
|
|
1306
1312
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1307
1313
|
without any third-party or configuration file dependencies.
|
|
1308
1314
|
Please see the `msrun start up
|
|
1309
|
-
<https://www.mindspore.cn/
|
|
1315
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
1310
1316
|
for more details.
|
|
1311
1317
|
|
|
1312
1318
|
This example should be run with 2 devices.
|
|
@@ -1319,12 +1325,12 @@ class Barrier(PrimitiveWithInfer):
|
|
|
1319
1325
|
>>> # Launch 4 processes.
|
|
1320
1326
|
>>> init()
|
|
1321
1327
|
>>> class BarrierNet(nn.Cell):
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
+
... def __init__(self):
|
|
1329
|
+
... super(BarrierNet, self).__init__()
|
|
1330
|
+
... self.barrier = ops.Barrier()
|
|
1331
|
+
...
|
|
1332
|
+
... def construct(self):
|
|
1333
|
+
... self.barrier()
|
|
1328
1334
|
>>> net = BarrierNet()
|
|
1329
1335
|
>>> net()
|
|
1330
1336
|
|
|
@@ -1351,10 +1357,10 @@ class Send(PrimitiveWithInfer):
|
|
|
1351
1357
|
Send tensors to the specified dest_rank.
|
|
1352
1358
|
|
|
1353
1359
|
Note:
|
|
1354
|
-
Send and Receive must be used in combination and have same sr_tag
|
|
1360
|
+
Send and Receive must be used in combination and have same `sr_tag`.
|
|
1355
1361
|
|
|
1356
1362
|
Args:
|
|
1357
|
-
sr_tag (int): The tag to identify the send/recv message. The message will
|
|
1363
|
+
sr_tag (int): The tag to identify the send/recv message. The message sent by this operator will
|
|
1358
1364
|
be received by the Receive op with the same "sr_tag".
|
|
1359
1365
|
dest_rank (int): A required integer identifying the destination rank.
|
|
1360
1366
|
group (str, optional): The communication group to work on. Default: ``GlobalComm.WORLD_COMM_GROUP``.
|
|
@@ -1380,31 +1386,53 @@ class Send(PrimitiveWithInfer):
|
|
|
1380
1386
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1381
1387
|
without any third-party or configuration file dependencies.
|
|
1382
1388
|
Please see the `msrun start up
|
|
1383
|
-
<https://www.mindspore.cn/
|
|
1389
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
1384
1390
|
for more details.
|
|
1385
1391
|
|
|
1386
1392
|
This example should be run with 2 devices.
|
|
1387
1393
|
|
|
1394
|
+
>>> import os
|
|
1388
1395
|
>>> import numpy as np
|
|
1396
|
+
>>> import mindspore.ops as ops
|
|
1389
1397
|
>>> import mindspore.nn as nn
|
|
1398
|
+
>>> import mindspore as ms
|
|
1390
1399
|
>>> from mindspore.communication import init
|
|
1391
1400
|
>>> from mindspore import Tensor
|
|
1392
|
-
>>> from mindspore import ops
|
|
1393
1401
|
>>>
|
|
1402
|
+
>>> ms.set_context(mode=ms.GRAPH_MODE, jit_level="O2")
|
|
1394
1403
|
>>> init()
|
|
1404
|
+
>>>
|
|
1395
1405
|
>>> class SendNet(nn.Cell):
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1406
|
+
... def __init__(self):
|
|
1407
|
+
... super(SendNet, self).__init__()
|
|
1408
|
+
... self.depend = ops.Depend()
|
|
1409
|
+
... self.send = ops.Send(sr_tag=0, dest_rank=1, group="hccl_world_group")
|
|
1410
|
+
...
|
|
1411
|
+
... def construct(self, x):
|
|
1412
|
+
... out = self.depend(x, self.send(x))
|
|
1413
|
+
... return out
|
|
1400
1414
|
>>>
|
|
1401
|
-
>>>
|
|
1402
|
-
|
|
1403
|
-
|
|
1415
|
+
>>> class ReceiveNet(nn.Cell):
|
|
1416
|
+
... def __init__(self):
|
|
1417
|
+
... super(ReceiveNet, self).__init__()
|
|
1418
|
+
... self.recv = ops.Receive(sr_tag=0, src_rank=0, shape=[2, 8], dtype=ms.float32,
|
|
1419
|
+
... group="hccl_world_group")
|
|
1420
|
+
...
|
|
1421
|
+
... def construct(self):
|
|
1422
|
+
... out = self.recv()
|
|
1423
|
+
... return out
|
|
1404
1424
|
>>>
|
|
1405
|
-
>>>
|
|
1406
|
-
|
|
1407
|
-
|
|
1425
|
+
>>> if __name__ == "__main__":
|
|
1426
|
+
... rank_id = os.environ["RANK_ID"]
|
|
1427
|
+
... rank_size = os.environ["RANK_SIZE"]
|
|
1428
|
+
... if rank_id == "0":
|
|
1429
|
+
... input_ = Tensor(np.ones([2, 8]).astype(np.float32))
|
|
1430
|
+
... send_net = SendNet()
|
|
1431
|
+
... output = send_net(input_)
|
|
1432
|
+
... else:
|
|
1433
|
+
... recv_net = ReceiveNet()
|
|
1434
|
+
... output = recv_net()
|
|
1435
|
+
... print(output.asnumpy())
|
|
1408
1436
|
|
|
1409
1437
|
Tutorial Examples:
|
|
1410
1438
|
- `Distributed Set Communication Primitives - Send
|
|
@@ -1432,11 +1460,11 @@ class Receive(PrimitiveWithInfer):
|
|
|
1432
1460
|
Receive tensors from src_rank.
|
|
1433
1461
|
|
|
1434
1462
|
Note:
|
|
1435
|
-
Send and Receive must be used in combination and have same sr_tag
|
|
1463
|
+
Send and Receive must be used in combination and have same `sr_tag`.
|
|
1436
1464
|
|
|
1437
1465
|
Args:
|
|
1438
|
-
sr_tag (int): A required integer identifying the send/recv message tag.
|
|
1439
|
-
|
|
1466
|
+
sr_tag (int): A required integer identifying the send/recv message tag. This operator will receive the tensor
|
|
1467
|
+
sent by the Send operator with the same `sr_tag` tag.
|
|
1440
1468
|
src_rank (int): A required integer identifying the source rank.
|
|
1441
1469
|
shape (list[int]): A required list identifying the shape of the tensor to be received.
|
|
1442
1470
|
dtype (Type): A required Type identifying the type of the tensor to be received. The supported types:
|
|
@@ -1449,7 +1477,7 @@ class Receive(PrimitiveWithInfer):
|
|
|
1449
1477
|
Tensor, output has the same shape as the Tensor sent by `Send` operation.
|
|
1450
1478
|
|
|
1451
1479
|
Raises:
|
|
1452
|
-
TypeError: If `group` is not a str.
|
|
1480
|
+
TypeError: If `src_rank` is not an int or `group` is not a str.
|
|
1453
1481
|
RuntimeError: If device target is invalid, or backend is invalid, or distributed initialization fails.
|
|
1454
1482
|
ValueError: If the local rank id of the calling process in the group
|
|
1455
1483
|
is larger than the group's rank size.
|
|
@@ -1464,30 +1492,53 @@ class Receive(PrimitiveWithInfer):
|
|
|
1464
1492
|
For Ascend/GPU/CPU devices, it is recommended to use the msrun startup method
|
|
1465
1493
|
without any third-party or configuration file dependencies.
|
|
1466
1494
|
Please see the `msrun start up
|
|
1467
|
-
<https://www.mindspore.cn/
|
|
1495
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
1468
1496
|
for more details.
|
|
1469
1497
|
|
|
1470
1498
|
This example should be run with 2 devices.
|
|
1471
1499
|
|
|
1500
|
+
>>> import os
|
|
1472
1501
|
>>> import numpy as np
|
|
1502
|
+
>>> import mindspore.ops as ops
|
|
1473
1503
|
>>> import mindspore.nn as nn
|
|
1504
|
+
>>> import mindspore as ms
|
|
1474
1505
|
>>> from mindspore.communication import init
|
|
1475
1506
|
>>> from mindspore import Tensor
|
|
1476
|
-
>>> from mindspore import ops
|
|
1477
1507
|
>>>
|
|
1508
|
+
>>> ms.set_context(mode=ms.GRAPH_MODE, jit_level="O2")
|
|
1478
1509
|
>>> init()
|
|
1479
|
-
>>> class ReceiveNet(nn.Cell):
|
|
1480
|
-
>>> def __init__(self):
|
|
1481
|
-
>>> super(ReceiveNet, self).__init__()
|
|
1482
|
-
>>> self.recv = ops.Receive(sr_tag=0, src_rank=0, shape=[2, 8], dtype=ms.float32,
|
|
1483
|
-
>>> group="hccl_world_group")
|
|
1484
1510
|
>>>
|
|
1485
|
-
>>>
|
|
1486
|
-
|
|
1487
|
-
|
|
1511
|
+
>>> class SendNet(nn.Cell):
|
|
1512
|
+
... def __init__(self):
|
|
1513
|
+
... super(SendNet, self).__init__()
|
|
1514
|
+
... self.depend = ops.Depend()
|
|
1515
|
+
... self.send = ops.Send(sr_tag=0, dest_rank=1, group="hccl_world_group")
|
|
1516
|
+
...
|
|
1517
|
+
... def construct(self, x):
|
|
1518
|
+
... out = self.depend(x, self.send(x))
|
|
1519
|
+
... return out
|
|
1488
1520
|
>>>
|
|
1489
|
-
>>>
|
|
1490
|
-
|
|
1521
|
+
>>> class ReceiveNet(nn.Cell):
|
|
1522
|
+
... def __init__(self):
|
|
1523
|
+
... super(ReceiveNet, self).__init__()
|
|
1524
|
+
... self.recv = ops.Receive(sr_tag=0, src_rank=0, shape=[2, 8], dtype=ms.float32,
|
|
1525
|
+
... group="hccl_world_group")
|
|
1526
|
+
...
|
|
1527
|
+
... def construct(self):
|
|
1528
|
+
... out = self.recv()
|
|
1529
|
+
... return out
|
|
1530
|
+
>>>
|
|
1531
|
+
>>> if __name__ == "__main__":
|
|
1532
|
+
... rank_id = os.environ["RANK_ID"]
|
|
1533
|
+
... rank_size = os.environ["RANK_SIZE"]
|
|
1534
|
+
... if rank_id == "0":
|
|
1535
|
+
... input_ = Tensor(np.ones([2, 8]).astype(np.float32))
|
|
1536
|
+
... send_net = SendNet()
|
|
1537
|
+
... output = send_net(input_)
|
|
1538
|
+
... else:
|
|
1539
|
+
... recv_net = ReceiveNet()
|
|
1540
|
+
... output = recv_net()
|
|
1541
|
+
... print(output.asnumpy())
|
|
1491
1542
|
|
|
1492
1543
|
Tutorial Examples:
|
|
1493
1544
|
- `Distributed Set Communication Primitives - Receive
|
|
@@ -1842,7 +1893,7 @@ class BatchISendIRecv(PrimitiveWithInfer):
|
|
|
1842
1893
|
without any third-party or configuration file dependencies.
|
|
1843
1894
|
|
|
1844
1895
|
Please see the `msrun start up
|
|
1845
|
-
<https://www.mindspore.cn/
|
|
1896
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
1846
1897
|
for more details.
|
|
1847
1898
|
|
|
1848
1899
|
This example should be run with 2 devices.
|
|
@@ -1921,28 +1972,29 @@ class BatchISendIRecv(PrimitiveWithInfer):
|
|
|
1921
1972
|
|
|
1922
1973
|
class AlltoAllV(PrimitiveWithInfer):
|
|
1923
1974
|
"""
|
|
1924
|
-
|
|
1975
|
+
AllToAllV which support uneven scatter and gather compared with AllToAll.
|
|
1925
1976
|
|
|
1926
1977
|
Note:
|
|
1927
1978
|
- Only support flatten tensor as input. input tensor should be flattened and
|
|
1928
1979
|
concatenated before call this primitive.
|
|
1929
1980
|
|
|
1930
1981
|
Args:
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1982
|
+
group (str, optional): The communication group to work on. Default: ``GlobalComm.WORLD_COMM_GROUP``, which
|
|
1983
|
+
means ``"hccl_world_group"`` in Ascend.
|
|
1984
|
+
block_size (int, optional): The basic units for scatter and gather numel by `send_numel_list`
|
|
1985
|
+
and `recv_numel_list`.
|
|
1986
|
+
Default: ``1``.
|
|
1936
1987
|
|
|
1937
1988
|
Inputs:
|
|
1938
1989
|
- **input_x** (Tensor) - flatten tensor to scatter. The shape of tensor is :math:`(x_1)`.
|
|
1990
|
+
- **send_numel_list** (Union[tuple[int], list[int], Tensor]) - split numel to scatter to different remote rank.
|
|
1991
|
+
The actual distributed data numel is :math:`(send_numel_list * block_size * input_x.dtype)`.
|
|
1992
|
+
- **recv_numel_list** (Union[tuple[int], list[int], Tensor]) - split numel to gather from different remote rank.
|
|
1993
|
+
The actual aggregated data numel is :math:`(recv_numel_list * block_size * input_x.dtype)`.
|
|
1939
1994
|
|
|
1940
1995
|
Outputs:
|
|
1941
|
-
Tensor
|
|
1942
|
-
If gather result is empty, it will return a Tensor with
|
|
1943
|
-
|
|
1944
|
-
Raises:
|
|
1945
|
-
TypeError: If 'send_numel_list' or 'recv_numel_list' is not type of tuple and list.
|
|
1996
|
+
Tensor, flattened and concatenated tensor gather from remote ranks.
|
|
1997
|
+
If gather result is empty, it will return a Tensor with shape `()`, and value has no actual meaning.
|
|
1946
1998
|
|
|
1947
1999
|
Supported Platforms:
|
|
1948
2000
|
``Ascend``
|
|
@@ -1955,13 +2007,11 @@ class AlltoAllV(PrimitiveWithInfer):
|
|
|
1955
2007
|
without any third-party or configuration file dependencies.
|
|
1956
2008
|
|
|
1957
2009
|
Please see the `msrun start up
|
|
1958
|
-
<https://www.mindspore.cn/
|
|
2010
|
+
<https://www.mindspore.cn/tutorials/en/master/parallel/msrun_launcher.html>`_
|
|
1959
2011
|
for more details.
|
|
1960
2012
|
|
|
1961
2013
|
This example should be run with 2 devices.
|
|
1962
2014
|
|
|
1963
|
-
>>> import numpy as np
|
|
1964
|
-
>>> import mindspore as ms
|
|
1965
2015
|
>>> from mindspore import ops
|
|
1966
2016
|
>>> import mindspore.nn as nn
|
|
1967
2017
|
>>> from mindspore.communication import init, get_rank
|
|
@@ -1972,20 +2022,22 @@ class AlltoAllV(PrimitiveWithInfer):
|
|
|
1972
2022
|
>>> class Net(nn.Cell):
|
|
1973
2023
|
... def __init__(self):
|
|
1974
2024
|
... super(Net, self).__init__()
|
|
1975
|
-
...
|
|
1976
|
-
... self.all_to_all = ops.AlltoAllV([1, 2], [1, 2])
|
|
1977
|
-
... else:
|
|
1978
|
-
... self.all_to_all = ops.AlltoAllV([2, 1], [2, 1])
|
|
1979
|
-
...
|
|
1980
|
-
... def construct(self, x):
|
|
1981
|
-
... return self.all_to_all(x)
|
|
2025
|
+
... self.all_to_all = ops.AlltoAllV()
|
|
1982
2026
|
...
|
|
2027
|
+
... def construct(self, x, send_numel_list, recv_numel_list):
|
|
2028
|
+
... return self.all_to_all(x, send_numel_list, recv_numel_list)
|
|
2029
|
+
>>> send_numel_list = []
|
|
2030
|
+
>>> recv_numel_list = []
|
|
1983
2031
|
>>> if rank == 0:
|
|
1984
|
-
|
|
2032
|
+
... send_tensor = Tensor([0, 1, 2.])
|
|
2033
|
+
... send_numel_list = [1, 2]
|
|
2034
|
+
... recv_numel_list = [1, 2]
|
|
1985
2035
|
>>> elif rank == 1:
|
|
1986
|
-
|
|
2036
|
+
... send_tensor = Tensor([3, 4, 5.])
|
|
2037
|
+
... send_numel_list = [2, 1]
|
|
2038
|
+
... recv_numel_list = [2, 1]
|
|
1987
2039
|
>>> net = Net()
|
|
1988
|
-
>>> output = net(send_tensor)
|
|
2040
|
+
>>> output = net(send_tensor, send_numel_list, recv_numel_list)
|
|
1989
2041
|
>>> print(output)
|
|
1990
2042
|
rank 0:
|
|
1991
2043
|
[0. 3. 4]
|
|
@@ -1995,15 +2047,9 @@ class AlltoAllV(PrimitiveWithInfer):
|
|
|
1995
2047
|
"""
|
|
1996
2048
|
|
|
1997
2049
|
@prim_attr_register
|
|
1998
|
-
def __init__(self,
|
|
1999
|
-
validator.check_value_type("send_numel_list", send_numel_list, [tuple, list], self.name)
|
|
2000
|
-
validator.check_value_type("recv_numel_list", recv_numel_list, [tuple, list], self.name)
|
|
2050
|
+
def __init__(self, group=GlobalComm.WORLD_COMM_GROUP, block_size=1):
|
|
2001
2051
|
self.group = GlobalComm.WORLD_COMM_GROUP if group is None else _get_group(group)
|
|
2002
|
-
self.send_numel_list = send_numel_list
|
|
2003
|
-
self.recv_numel_list = recv_numel_list
|
|
2004
|
-
self.split_sizes_empty = split_sizes_empty
|
|
2005
2052
|
self.rank_size = get_group_size(self.group)
|
|
2006
|
-
|
|
2007
2053
|
self.add_prim_attr('group', self.group)
|
|
2008
|
-
|
|
2009
|
-
self.add_prim_attr('
|
|
2054
|
+
validator.check_value_type("block_size", block_size, [int], self.name)
|
|
2055
|
+
self.add_prim_attr('block_size', self.block_size)
|