mindspore 1.10.0__cp38-cp38-win_amd64.whl → 2.0.0rc1__cp38-cp38-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/ConcurrencyCheck.dll +0 -0
- mindspore/CppBuildInsights.dll +0 -0
- mindspore/CppCoreCheck.dll +0 -0
- mindspore/EnumIndex.dll +0 -0
- mindspore/EspXEngine.dll +0 -0
- mindspore/HResultCheck.dll +0 -0
- mindspore/KernelTraceControl.dll +0 -0
- mindspore/LocalESPC.dll +0 -0
- mindspore/Microsoft.Diagnostics.Tracing.EventSource.dll +0 -0
- mindspore/Microsoft.VisualStudio.RemoteControl.dll +0 -0
- mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Microsoft.VisualStudio.Utilities.Internal.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- mindspore/VariantClear.dll +0 -0
- mindspore/__init__.py +9 -4
- mindspore/_c_dataengine.cp38-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp38-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp38-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +102 -0
- mindspore/_checkparam.py +1066 -1001
- mindspore/_extends/builtin_operations.py +32 -4
- mindspore/_extends/graph_kernel/model/graph_split.py +66 -222
- mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +12 -9
- mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +119 -26
- mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +50 -50
- mindspore/_extends/parallel_compile/akg_compiler/util.py +9 -6
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +4 -25
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +9 -4
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -27
- mindspore/_extends/parse/__init__.py +5 -3
- mindspore/_extends/parse/namespace.py +17 -2
- mindspore/_extends/parse/parser.py +193 -34
- mindspore/_extends/parse/resources.py +7 -8
- mindspore/_extends/parse/standard_method.py +1780 -435
- mindspore/_extends/parse/trope.py +3 -1
- mindspore/amp.py +53 -58
- mindspore/atlprov.dll +0 -0
- mindspore/boost/adasum.py +3 -2
- mindspore/boost/boost.py +2 -2
- mindspore/boost/boost_cell_wrapper.py +46 -26
- mindspore/boost/dim_reduce.py +6 -5
- mindspore/boost/grad_accumulation.py +2 -1
- mindspore/boost/group_loss_scale_manager.py +1 -1
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/cfgpersist.dll +0 -0
- mindspore/clang_rt.asan_dbg_dynamic-x86_64.dll +0 -0
- mindspore/clang_rt.asan_dynamic-x86_64.dll +0 -0
- mindspore/common/__init__.py +11 -10
- mindspore/common/_decorator.py +2 -0
- mindspore/common/_register_for_adapter.py +55 -0
- mindspore/common/_stub_tensor.py +201 -0
- mindspore/common/_utils.py +57 -0
- mindspore/common/api.py +582 -297
- mindspore/common/dtype.py +66 -18
- mindspore/common/dump.py +2 -2
- mindspore/common/initializer.py +38 -1
- mindspore/common/jit_config.py +25 -13
- mindspore/common/mutable.py +53 -24
- mindspore/common/parameter.py +60 -37
- mindspore/common/seed.py +8 -24
- mindspore/common/sparse_tensor.py +927 -0
- mindspore/common/tensor.py +1627 -3900
- mindspore/communication/__init__.py +10 -5
- mindspore/communication/_comm_helper.py +78 -214
- mindspore/communication/_hccl_management.py +2 -1
- mindspore/communication/management.py +136 -47
- mindspore/config/op_info.config +501 -1008
- mindspore/context.py +291 -56
- mindspore/d3dcompiler_47.dll +0 -0
- mindspore/dataset/__init__.py +12 -8
- mindspore/dataset/audio/__init__.py +9 -9
- mindspore/dataset/audio/transforms.py +1090 -228
- mindspore/dataset/audio/utils.py +87 -39
- mindspore/dataset/audio/validators.py +223 -1
- mindspore/dataset/callback/ds_callback.py +17 -15
- mindspore/dataset/core/config.py +246 -17
- mindspore/dataset/core/py_util_helpers.py +4 -3
- mindspore/dataset/core/validator_helpers.py +10 -10
- mindspore/{parallel/nn/layers.py → dataset/debug/__init__.py} +7 -8
- mindspore/dataset/debug/debug_hook.py +65 -0
- mindspore/dataset/debug/pre_defined_hook.py +67 -0
- mindspore/dataset/engine/__init__.py +7 -3
- mindspore/dataset/engine/cache_client.py +9 -9
- mindspore/dataset/engine/datasets.py +648 -477
- mindspore/dataset/engine/datasets_audio.py +165 -167
- mindspore/dataset/engine/datasets_standard_format.py +93 -67
- mindspore/dataset/engine/datasets_text.py +492 -342
- mindspore/dataset/engine/datasets_user_defined.py +85 -50
- mindspore/dataset/engine/datasets_vision.py +1224 -699
- mindspore/dataset/engine/graphdata.py +134 -69
- mindspore/dataset/engine/iterators.py +50 -9
- mindspore/dataset/engine/offload.py +52 -31
- mindspore/dataset/engine/samplers.py +27 -24
- mindspore/dataset/engine/serializer_deserializer.py +14 -15
- mindspore/dataset/engine/validators.py +213 -52
- mindspore/dataset/text/__init__.py +10 -8
- mindspore/dataset/text/transforms.py +152 -57
- mindspore/dataset/text/utils.py +98 -49
- mindspore/dataset/text/validators.py +25 -0
- mindspore/dataset/transforms/__init__.py +4 -2
- mindspore/dataset/transforms/c_transforms.py +11 -13
- mindspore/dataset/transforms/py_transforms.py +2 -2
- mindspore/dataset/transforms/py_transforms_util.py +10 -0
- mindspore/dataset/transforms/transforms.py +13 -15
- mindspore/dataset/transforms/validators.py +7 -7
- mindspore/dataset/utils/__init__.py +2 -1
- mindspore/dataset/utils/browse_dataset.py +13 -13
- mindspore/dataset/utils/line_reader.py +121 -0
- mindspore/dataset/vision/__init__.py +8 -7
- mindspore/dataset/vision/c_transforms.py +125 -126
- mindspore/dataset/vision/py_transforms.py +37 -37
- mindspore/dataset/vision/py_transforms_util.py +23 -20
- mindspore/dataset/vision/transforms.py +316 -315
- mindspore/dataset/vision/utils.py +313 -17
- mindspore/dataset/vision/validators.py +6 -6
- mindspore/default_config.py +0 -1
- mindspore/dpcmi.dll +0 -0
- mindspore/{compression → experimental}/__init__.py +6 -5
- mindspore/experimental/map_parameter.py +275 -0
- mindspore/include/OWNERS +0 -1
- mindspore/include/api/callback/callback.h +9 -13
- mindspore/include/api/callback/ckpt_saver.h +2 -2
- mindspore/include/api/callback/loss_monitor.h +2 -2
- mindspore/include/api/callback/lr_scheduler.h +5 -5
- mindspore/include/api/callback/time_monitor.h +2 -2
- mindspore/include/api/callback/train_accuracy.h +4 -6
- mindspore/include/api/cfg.h +19 -6
- mindspore/include/api/context.h +70 -9
- mindspore/include/api/delegate.h +8 -1
- mindspore/include/api/dual_abi_helper.h +8 -24
- mindspore/include/api/metrics/accuracy.h +2 -2
- mindspore/include/api/metrics/metrics.h +4 -3
- mindspore/include/api/model.h +9 -4
- mindspore/include/api/model_group.h +68 -0
- mindspore/include/api/model_parallel_runner.h +17 -17
- mindspore/include/api/net.h +12 -11
- mindspore/include/api/serialization.h +20 -4
- mindspore/include/api/status.h +7 -1
- mindspore/include/api/types.h +25 -21
- mindspore/include/api/visible.h +4 -0
- mindspore/include/c_api/model_c.h +5 -0
- mindspore/include/c_api/status_c.h +1 -1
- mindspore/include/dataset/config.h +1 -1
- mindspore/include/dataset/constants.h +14 -0
- mindspore/include/dataset/text.h +59 -0
- mindspore/include/dataset/vision.h +56 -117
- mindspore/include/dataset/vision_lite.h +102 -0
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +28 -28
- mindspore/mindrecord/common/exceptions.py +2 -4
- mindspore/mindrecord/filereader.py +19 -1
- mindspore/mindrecord/filewriter.py +250 -88
- mindspore/mindrecord/mindpage.py +13 -13
- mindspore/mindrecord/shardheader.py +15 -15
- mindspore/mindrecord/shardreader.py +9 -0
- mindspore/mindrecord/shardwriter.py +29 -29
- mindspore/mindrecord/tools/cifar100_to_mr.py +9 -9
- mindspore/mindrecord/tools/cifar10_to_mr.py +9 -9
- mindspore/mindrecord/tools/csv_to_mr.py +4 -4
- mindspore/mindrecord/tools/imagenet_to_mr.py +70 -65
- mindspore/mindrecord/tools/mnist_to_mr.py +41 -41
- mindspore/mindrecord/tools/tfrecord_to_mr.py +6 -6
- mindspore/{libmindspore_backend.dll → mindspore_backend.dll} +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_shared_lib.dll +0 -0
- 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/nn/__init__.py +1 -5
- mindspore/nn/cell.py +297 -234
- mindspore/nn/dynamic_lr.py +1 -1
- mindspore/nn/grad/cell_grad.py +17 -42
- mindspore/nn/layer/__init__.py +7 -4
- mindspore/nn/layer/activation.py +131 -88
- mindspore/nn/layer/basic.py +313 -613
- mindspore/nn/layer/channel_shuffle.py +103 -0
- mindspore/nn/layer/combined.py +1 -1
- mindspore/nn/layer/container.py +52 -6
- mindspore/nn/layer/conv.py +112 -43
- mindspore/nn/layer/dense.py +10 -9
- mindspore/nn/layer/embedding.py +36 -34
- mindspore/nn/layer/image.py +123 -27
- mindspore/nn/layer/math.py +108 -107
- mindspore/nn/layer/normalization.py +212 -366
- mindspore/nn/layer/padding.py +370 -42
- mindspore/nn/layer/pooling.py +1443 -219
- mindspore/nn/layer/rnn_cells.py +11 -16
- mindspore/nn/layer/rnns.py +38 -39
- mindspore/nn/layer/thor_layer.py +24 -25
- mindspore/nn/layer/timedistributed.py +5 -5
- mindspore/nn/layer/transformer.py +701 -0
- mindspore/nn/learning_rate_schedule.py +8 -8
- mindspore/nn/loss/__init__.py +9 -6
- mindspore/nn/loss/loss.py +678 -142
- mindspore/nn/metrics.py +53 -0
- mindspore/nn/optim/_dist_optimizer_registry.py +2 -2
- mindspore/nn/optim/ada_grad.py +8 -8
- mindspore/nn/optim/adadelta.py +2 -3
- mindspore/nn/optim/adafactor.py +18 -14
- mindspore/nn/optim/adam.py +429 -87
- mindspore/nn/optim/adamax.py +5 -6
- mindspore/nn/optim/adasum.py +10 -8
- mindspore/nn/optim/asgd.py +7 -7
- mindspore/nn/optim/ftrl.py +81 -11
- mindspore/nn/optim/lamb.py +7 -8
- mindspore/nn/optim/lars.py +4 -4
- mindspore/nn/optim/lazyadam.py +82 -7
- mindspore/nn/optim/momentum.py +8 -7
- mindspore/nn/optim/optimizer.py +19 -10
- mindspore/nn/optim/proximal_ada_grad.py +6 -5
- mindspore/nn/optim/rmsprop.py +3 -3
- mindspore/nn/optim/rprop.py +20 -16
- mindspore/nn/optim/sgd.py +21 -15
- mindspore/nn/optim/thor.py +23 -21
- mindspore/nn/probability/__init__.py +0 -2
- mindspore/nn/probability/bijector/bijector.py +7 -6
- mindspore/nn/probability/bijector/invert.py +4 -2
- mindspore/nn/probability/bijector/softplus.py +2 -2
- mindspore/nn/probability/bnn_layers/dense_variational.py +1 -1
- mindspore/nn/probability/bnn_layers/layer_distribution.py +2 -2
- mindspore/nn/probability/distribution/__init__.py +6 -0
- mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -2
- mindspore/nn/probability/distribution/_utils/utils.py +11 -17
- mindspore/nn/probability/distribution/bernoulli.py +6 -6
- mindspore/nn/probability/distribution/beta.py +1 -1
- mindspore/nn/probability/distribution/categorical.py +9 -9
- mindspore/nn/probability/distribution/cauchy.py +8 -8
- mindspore/nn/probability/distribution/distribution.py +12 -6
- mindspore/nn/probability/distribution/exponential.py +5 -5
- mindspore/nn/probability/distribution/gamma.py +3 -3
- mindspore/nn/probability/distribution/geometric.py +6 -5
- mindspore/nn/probability/distribution/gumbel.py +5 -5
- mindspore/nn/probability/distribution/half_normal.py +133 -0
- mindspore/nn/probability/distribution/laplace.py +128 -0
- mindspore/nn/probability/distribution/log_normal.py +0 -1
- mindspore/nn/probability/distribution/logistic.py +4 -5
- mindspore/nn/probability/distribution/normal.py +11 -15
- mindspore/nn/probability/distribution/poisson.py +6 -2
- mindspore/nn/probability/distribution/student_t.py +150 -0
- mindspore/nn/probability/distribution/transformed_distribution.py +4 -4
- mindspore/nn/probability/distribution/uniform.py +5 -5
- mindspore/nn/reinforcement/_tensors_queue.py +3 -3
- mindspore/nn/reinforcement/tensor_array.py +2 -2
- mindspore/nn/sparse/sparse.py +8 -1
- mindspore/nn/wrap/cell_wrapper.py +55 -27
- mindspore/nn/wrap/grad_reducer.py +20 -11
- mindspore/nn/wrap/loss_scale.py +47 -30
- mindspore/numpy/array_creations.py +33 -22
- mindspore/numpy/array_ops.py +46 -42
- mindspore/numpy/logic_ops.py +6 -27
- mindspore/numpy/math_ops.py +26 -19
- mindspore/numpy/utils.py +1 -8
- mindspore/numpy/utils_const.py +112 -62
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +6 -3
- mindspore/ops/_constants.py +0 -6
- mindspore/ops/_grad/__init__.py +2 -1
- mindspore/ops/_grad/grad_array_ops.py +209 -152
- mindspore/ops/_grad/grad_base.py +55 -17
- mindspore/ops/_grad/grad_clip_ops.py +11 -3
- mindspore/ops/_grad/grad_comm_ops.py +58 -47
- mindspore/ops/_grad/grad_implementations.py +21 -61
- mindspore/ops/_grad/grad_inner_ops.py +48 -6
- mindspore/ops/_grad/grad_math_ops.py +306 -161
- mindspore/ops/_grad/grad_nn_ops.py +192 -181
- mindspore/ops/_grad/grad_other_ops.py +1 -1
- mindspore/ops/_grad/grad_quant_ops.py +5 -5
- mindspore/ops/_grad/grad_sequence_ops.py +296 -0
- mindspore/ops/_grad/grad_sparse.py +15 -9
- mindspore/ops/_grad_experimental/__init__.py +1 -0
- mindspore/ops/_grad_experimental/grad_array_ops.py +441 -55
- mindspore/ops/_grad_experimental/grad_image_ops.py +25 -7
- mindspore/ops/_grad_experimental/grad_inner_ops.py +3 -44
- mindspore/ops/_grad_experimental/grad_linalg_ops.py +16 -21
- mindspore/ops/_grad_experimental/grad_math_ops.py +979 -49
- mindspore/ops/_grad_experimental/grad_nn_ops.py +78 -8
- mindspore/ops/_grad_experimental/grad_scalar_ops.py +112 -0
- mindspore/ops/_grad_experimental/grad_sparse_ops.py +197 -13
- mindspore/ops/_op_impl/__init__.py +3 -3
- mindspore/ops/_op_impl/_custom_op/__init__.py +0 -1
- mindspore/ops/_op_impl/_custom_op/_basic.py +0 -1
- mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +4 -2
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +2 -2
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +5 -5
- mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +3 -3
- mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/correction_mul.py +3 -3
- mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +4 -8
- mindspore/ops/_op_impl/_custom_op/dsd_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +2 -2
- mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/img2col_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +2 -2
- mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +2 -2
- mindspore/ops/_op_impl/_custom_op/matmul_dds_grad_impl.py +0 -1
- mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +0 -1
- mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +2 -2
- mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +2 -2
- mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +1 -1
- mindspore/ops/_op_impl/aicpu/__init__.py +238 -3
- mindspore/ops/_op_impl/aicpu/abs.py +36 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d.py +34 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d.py +39 -0
- mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d_grad.py +39 -0
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d_grad.py +37 -0
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d.py +42 -0
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d_grad.py +152 -0
- mindspore/ops/_op_impl/aicpu/add.py +43 -0
- mindspore/ops/_op_impl/aicpu/addcdiv.py +0 -32
- mindspore/ops/_op_impl/aicpu/addcmul.py +0 -84
- mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/arg_max.py +75 -0
- mindspore/ops/_op_impl/aicpu/arg_min.py +75 -0
- mindspore/ops/_op_impl/aicpu/argmin_with_value.py +43 -0
- mindspore/ops/_op_impl/aicpu/batch_matmul.py +43 -0
- mindspore/ops/_op_impl/aicpu/batch_norm_grad_grad.py +49 -0
- mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
- mindspore/ops/_op_impl/aicpu/bessel_i0.py +31 -0
- mindspore/ops/_op_impl/aicpu/bias_add.py +44 -0
- mindspore/ops/_op_impl/aicpu/bias_add_grad.py +43 -0
- mindspore/ops/_op_impl/aicpu/bincount.py +33 -0
- mindspore/{nn/probability/infer/variational/__init__.py → ops/_op_impl/aicpu/cauchy.py} +17 -10
- mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
- mindspore/ops/_op_impl/aicpu/cholesky.py +1 -1
- mindspore/ops/_op_impl/{cpu/bias_add.py → aicpu/choleskygrad.py} +9 -7
- mindspore/ops/_op_impl/aicpu/combined_non_max_suppression.py +42 -0
- mindspore/ops/_op_impl/aicpu/concat_offset.py +42 -0
- mindspore/ops/_op_impl/aicpu/concat_offset_v1.py +31 -0
- mindspore/ops/_op_impl/aicpu/conj.py +11 -0
- mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_image.py +38 -0
- mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +36 -0
- mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
- mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +2 -2
- mindspore/ops/_op_impl/aicpu/dense_to_sparse_set_operation.py +48 -0
- mindspore/ops/_op_impl/aicpu/diag.py +36 -0
- mindspore/ops/_op_impl/aicpu/diag_part.py +36 -0
- mindspore/ops/_op_impl/aicpu/diagonal.py +35 -0
- mindspore/ops/_op_impl/{cpu/bias_add_grad.py → aicpu/digamma.py} +9 -7
- mindspore/ops/_op_impl/aicpu/eig.py +35 -0
- mindspore/ops/_op_impl/aicpu/fft_with_size.py +41 -0
- mindspore/ops/_op_impl/aicpu/flatten.py +1 -0
- mindspore/ops/_op_impl/aicpu/fmax.py +36 -0
- mindspore/ops/_op_impl/aicpu/fmin.py +37 -0
- mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_with_fixed_ksize.py +1 -1
- mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -0
- mindspore/ops/_op_impl/aicpu/glu.py +33 -0
- mindspore/ops/_op_impl/aicpu/glu_grad.py +34 -0
- mindspore/ops/_op_impl/aicpu/greater.py +41 -0
- mindspore/ops/_op_impl/aicpu/greater_equal.py +41 -0
- mindspore/ops/_op_impl/aicpu/index_put.py +50 -0
- mindspore/ops/_op_impl/{tbe/scatter_add_ds.py → aicpu/inplace_index_add.py} +17 -21
- mindspore/ops/_op_impl/aicpu/instance_norm_v2.py +41 -0
- mindspore/ops/_op_impl/aicpu/instance_norm_v2_grad.py +44 -0
- mindspore/ops/_op_impl/aicpu/layer_norm_grad_grad.py +47 -0
- mindspore/ops/_op_impl/aicpu/less.py +41 -0
- mindspore/ops/_op_impl/aicpu/less_equal.py +41 -0
- mindspore/ops/_op_impl/aicpu/lgamma.py +32 -0
- mindspore/ops/_op_impl/aicpu/log_normal_reverse.py +33 -0
- mindspore/ops/_op_impl/aicpu/logit.py +33 -0
- mindspore/ops/_op_impl/aicpu/logit_grad.py +34 -0
- mindspore/ops/_op_impl/aicpu/masked_fill.py +42 -0
- mindspore/ops/_op_impl/aicpu/masked_scatter.py +39 -0
- mindspore/ops/_op_impl/aicpu/matmul.py +39 -0
- mindspore/ops/_op_impl/aicpu/matrix_logarithm.py +31 -0
- mindspore/ops/_op_impl/aicpu/matrix_power.py +32 -0
- mindspore/ops/_op_impl/aicpu/matrix_solve_ls.py +36 -0
- mindspore/ops/_op_impl/aicpu/matrix_triangular_solve.py +36 -0
- mindspore/ops/_op_impl/aicpu/mirror_pad.py +2 -0
- mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +0 -4
- mindspore/ops/_op_impl/aicpu/mul.py +3 -1
- mindspore/ops/_op_impl/aicpu/multinomial.py +14 -6
- mindspore/ops/_op_impl/aicpu/multinomial_with_replacement.py +35 -0
- mindspore/ops/_op_impl/aicpu/nan_to_num.py +34 -0
- mindspore/ops/_op_impl/aicpu/nllloss.py +38 -0
- mindspore/ops/_op_impl/aicpu/nllloss_grad.py +39 -0
- mindspore/ops/_op_impl/aicpu/ones_like.py +0 -2
- mindspore/ops/_op_impl/aicpu/polar.py +32 -0
- mindspore/ops/_op_impl/aicpu/polygamma.py +34 -0
- mindspore/ops/_op_impl/aicpu/qr.py +36 -0
- mindspore/ops/_op_impl/aicpu/quant_dtype_cast.py +40 -0
- mindspore/ops/_op_impl/aicpu/quantile.py +35 -0
- mindspore/ops/_op_impl/aicpu/ragged_tensor_to_sparse.py +73 -0
- mindspore/ops/_op_impl/aicpu/ragged_tensor_to_tensor.py +74 -0
- mindspore/ops/_op_impl/aicpu/random_shuffle.py +3 -0
- mindspore/ops/_op_impl/aicpu/randperm_v2.py +41 -0
- mindspore/ops/_op_impl/aicpu/range.py +36 -0
- mindspore/ops/_op_impl/aicpu/reciprocal.py +34 -0
- mindspore/ops/_op_impl/aicpu/reciprocal_grad.py +35 -0
- mindspore/ops/_op_impl/aicpu/reduce_sum.py +57 -0
- mindspore/ops/_op_impl/aicpu/resize_bicubic.py +2 -8
- mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +1 -1
- mindspore/ops/_op_impl/aicpu/resize_v2.py +68 -0
- mindspore/ops/_op_impl/aicpu/resize_v2_grad.py +68 -0
- mindspore/ops/_op_impl/aicpu/scatter_elements.py +4 -0
- mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +2 -0
- mindspore/ops/_op_impl/aicpu/search_sorted.py +12 -6
- mindspore/ops/_op_impl/aicpu/self_adjoint_eig.py +34 -0
- mindspore/ops/_op_impl/aicpu/sequence_add.py +34 -0
- mindspore/ops/_op_impl/aicpu/sequence_add_offset.py +34 -0
- mindspore/ops/_op_impl/aicpu/sequence_addn.py +38 -0
- mindspore/ops/_op_impl/aicpu/slice_grad.py +76 -0
- mindspore/ops/_op_impl/aicpu/smooth_l1_loss.py +35 -0
- mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -0
- mindspore/ops/_op_impl/aicpu/sort.py +39 -0
- mindspore/ops/_op_impl/aicpu/sparse_apply_adagrad_da.py +0 -24
- mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -0
- mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows.py +63 -0
- mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows_grad.py +45 -0
- mindspore/ops/_op_impl/aicpu/sparse_matrix_mat_mul.py +56 -0
- mindspore/ops/_op_impl/{tbe/slice_ds.py → aicpu/sparse_segment_sum.py} +16 -24
- mindspore/ops/_op_impl/aicpu/sparse_segment_sum_with_num_segments.py +68 -0
- mindspore/ops/_op_impl/aicpu/sparse_slice.py +63 -0
- mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +61 -0
- mindspore/ops/_op_impl/aicpu/squared_difference.py +2 -0
- mindspore/ops/_op_impl/aicpu/strided_slice_v2.py +93 -0
- mindspore/ops/_op_impl/aicpu/strided_slice_v2_grad.py +66 -0
- mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
- mindspore/ops/_op_impl/{tbe/gather_v2.py → aicpu/tile.py} +24 -24
- mindspore/ops/_op_impl/aicpu/tridiagonal_solve.py +35 -0
- mindspore/ops/_op_impl/aicpu/tril_indices.py +34 -0
- mindspore/ops/_op_impl/aicpu/triu_indices.py +34 -0
- mindspore/ops/_op_impl/aicpu/uniform.py +34 -0
- mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +1 -0
- mindspore/ops/_op_impl/aicpu/unique_consecutive.py +10 -2
- mindspore/ops/_op_impl/cpu/__init__.py +1 -2
- mindspore/ops/_op_impl/cpu/dynamic_shape.py +5 -1
- mindspore/ops/_op_impl/cpu/maximum_grad.py +2 -0
- mindspore/{compression/common/__init__.py → ops/_op_impl/cpu/pyexecute.py} +13 -8
- mindspore/ops/_op_impl/cpu/reduce_sum.py +8 -0
- mindspore/ops/_op_impl/cpu/sparse_slice.py +62 -0
- mindspore/ops/_op_impl/cpu/sparse_slice_grad.py +60 -0
- mindspore/ops/_op_impl/cpu/tensor_shape.py +5 -1
- mindspore/ops/_op_impl/tbe/__init__.py +27 -608
- mindspore/ops/_op_impl/tbe/addcdiv_ds.py +42 -0
- mindspore/ops/_op_impl/tbe/addcmul_ds.py +44 -0
- mindspore/ops/_op_impl/tbe/assign_add_ds.py +1 -0
- mindspore/ops/_op_impl/tbe/atomic_addr_clean.py +1 -1
- mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +1 -1
- mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad_v2.py +0 -1
- mindspore/ops/_op_impl/tbe/batch_to_space.py +1 -1
- mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +1 -1
- mindspore/ops/_op_impl/tbe/batch_to_space_nd_v2.py +41 -0
- mindspore/ops/_op_impl/tbe/bce_with_logits_loss.py +1 -0
- mindspore/ops/_op_impl/tbe/bias_add_grad.py +2 -0
- mindspore/ops/_op_impl/tbe/bn_infer_grad.py +4 -2
- mindspore/ops/_op_impl/tbe/bn_infer_grad_ds.py +40 -0
- mindspore/ops/_op_impl/tbe/bn_training_update.py +0 -1
- mindspore/ops/_op_impl/tbe/bn_training_update_ds.py +0 -1
- mindspore/ops/_op_impl/tbe/broadcast_to_ds.py +6 -4
- mindspore/ops/_op_impl/tbe/cast.py +0 -2
- mindspore/ops/_op_impl/tbe/cast_ds.py +3 -3
- mindspore/ops/_op_impl/tbe/ctc_loss_v2.py +0 -2
- mindspore/ops/_op_impl/tbe/ctc_loss_v2_grad.py +0 -2
- mindspore/ops/_op_impl/tbe/data_format_dim_map_ds.py +1 -0
- mindspore/ops/_op_impl/tbe/deformable_offsets.py +1 -0
- mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +1 -1
- mindspore/ops/_op_impl/tbe/dynamic_atomic_addr_clean.py +1 -1
- mindspore/ops/_op_impl/tbe/gather_nd.py +1 -0
- mindspore/ops/_op_impl/tbe/greater.py +2 -0
- mindspore/ops/_op_impl/tbe/{index_add.py → inplace_index_add.py} +3 -6
- mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2.py +0 -1
- mindspore/ops/_op_impl/tbe/npu_clear_float_status_v2.py +35 -0
- mindspore/ops/_op_impl/tbe/npu_get_float_status_v2.py +35 -0
- mindspore/ops/_op_impl/tbe/one_hot_ds.py +0 -6
- mindspore/ops/_op_impl/tbe/{greater_ds.py → reduce_all_ds.py} +13 -16
- mindspore/ops/_op_impl/tbe/reduce_any_ds.py +39 -0
- mindspore/ops/_op_impl/tbe/roi_align_ds.py +44 -0
- mindspore/ops/_op_impl/tbe/roi_align_grad_ds.py +44 -0
- mindspore/ops/_op_impl/tbe/scatter_add.py +2 -0
- mindspore/ops/_op_impl/tbe/scatter_nd_add.py +2 -2
- mindspore/ops/_op_impl/tbe/slice.py +26 -15
- mindspore/ops/_op_impl/tbe/space_to_batch.py +1 -1
- mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +1 -1
- mindspore/ops/_op_impl/tbe/strided_slice_grad_d.py +1 -0
- mindspore/ops/_op_impl/tbe/trans_data_ds.py +15 -5
- mindspore/ops/_op_impl/tbe/unsorted_segment_sum.py +1 -1
- mindspore/ops/_op_impl/tbe/unsorted_segment_sum_ds.py +2 -0
- mindspore/ops/_primitive_cache.py +3 -2
- mindspore/ops/_register_for_op.py +11 -0
- mindspore/ops/_utils/__init__.py +1 -1
- mindspore/ops/_utils/utils.py +20 -41
- mindspore/ops/_vmap/__init__.py +2 -2
- mindspore/ops/_vmap/vmap_array_ops.py +170 -78
- mindspore/ops/_vmap/vmap_base.py +24 -10
- mindspore/ops/_vmap/vmap_convolution_ops.py +7 -10
- mindspore/ops/_vmap/vmap_grad_math_ops.py +4 -4
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +41 -9
- mindspore/ops/_vmap/vmap_image_ops.py +52 -0
- mindspore/ops/_vmap/vmap_math_ops.py +77 -6
- mindspore/ops/_vmap/vmap_nn_ops.py +78 -29
- mindspore/ops/_vmap/vmap_other_ops.py +3 -1
- mindspore/ops/_vmap/vmap_random_ops.py +55 -3
- mindspore/ops/_vmap/vmap_sparse_ops.py +1 -0
- mindspore/ops/bprop_mindir/AdaptiveAvgPool2D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/AdaptiveMaxPool2D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ApproximateEqual_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/Argmax_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/Argmin_bprop.mindir +14 -13
- mindspore/ops/bprop_mindir/AssignSub_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/Assign_bprop.mindir +16 -16
- mindspore/ops/bprop_mindir/AvgPool3D_bprop.mindir +150 -0
- mindspore/ops/bprop_mindir/AvgPool_bprop.mindir +66 -0
- mindspore/ops/bprop_mindir/BCEWithLogitsLoss_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/BatchNormGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BatchToSpaceND_bprop.mindir +28 -0
- mindspore/ops/bprop_mindir/BiasAddGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BinaryCrossEntropy_bprop.mindir +33 -0
- mindspore/ops/bprop_mindir/BroadcastTo_bprop.mindir +306 -0
- mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +12 -8
- mindspore/ops/bprop_mindir/CTCLoss_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Concat_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Conv2DBackpropFilter_bprop.mindir +240 -0
- mindspore/ops/bprop_mindir/Conv2DBackpropInput_bprop.mindir +247 -0
- mindspore/ops/bprop_mindir/Conv2DTranspose_bprop.mindir +247 -0
- mindspore/ops/bprop_mindir/Conv3DTranspose_bprop.mindir +315 -0
- mindspore/ops/bprop_mindir/Conv3D_bprop.mindir +278 -0
- mindspore/ops/bprop_mindir/DType_bprop.mindir +12 -12
- mindspore/ops/bprop_mindir/DeformableOffsets_bprop.mindir +58 -0
- mindspore/ops/bprop_mindir/Depend_bprop.mindir +12 -13
- mindspore/ops/bprop_mindir/DepthToSpace_bprop.mindir +23 -0
- mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +138 -0
- mindspore/ops/bprop_mindir/DiagPart_bprop.mindir +15 -0
- mindspore/ops/bprop_mindir/Dropout2D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Dropout3D_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DropoutDoMask_bprop.mindir +22 -24
- mindspore/ops/bprop_mindir/DropoutGenMask_bprop.mindir +16 -14
- mindspore/ops/bprop_mindir/DropoutGrad_bprop.mindir +27 -0
- mindspore/ops/bprop_mindir/Dropout_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DynamicGRUV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DynamicRNN_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DynamicShape_bprop.mindir +12 -12
- mindspore/ops/bprop_mindir/Elu_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Equal_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/ExpandDims_bprop.mindir +58 -0
- mindspore/ops/bprop_mindir/FastGeLU_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Flatten_bprop.mindir +54 -0
- mindspore/ops/bprop_mindir/FloorDiv_bprop.mindir +18 -15
- mindspore/ops/bprop_mindir/GatherD_bprop.mindir +26 -0
- mindspore/ops/bprop_mindir/GatherNd_bprop.mindir +57 -0
- mindspore/ops/bprop_mindir/Gather_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/GreaterEqual_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/Greater_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/HSigmoid_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/HSwish_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/IOU_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/InstanceNorm_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/IsFinite_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/IsInf_bprop.mindir +13 -10
- mindspore/ops/bprop_mindir/IsNan_bprop.mindir +14 -11
- mindspore/ops/bprop_mindir/KLDivLoss_bprop.mindir +126 -0
- mindspore/ops/bprop_mindir/L2Loss_bprop.mindir +15 -0
- mindspore/ops/bprop_mindir/L2Normalize_bprop.mindir +30 -0
- mindspore/ops/bprop_mindir/LRN_bprop.mindir +43 -0
- mindspore/ops/bprop_mindir/LayerNormGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/LessEqual_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/Less_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/LinSpace_bprop.mindir +22 -19
- mindspore/ops/bprop_mindir/Load_bprop.mindir +12 -13
- mindspore/ops/bprop_mindir/LogSoftmax_bprop.mindir +23 -0
- mindspore/ops/bprop_mindir/LogicalAnd_bprop.mindir +17 -18
- mindspore/ops/bprop_mindir/LogicalNot_bprop.mindir +14 -13
- mindspore/ops/bprop_mindir/MaskedSelect_bprop.mindir +21 -0
- mindspore/ops/bprop_mindir/MaxPool3DGradGrad_bprop.mindir +74 -0
- mindspore/ops/bprop_mindir/MaxPool3DGrad_bprop.mindir +74 -0
- mindspore/ops/bprop_mindir/MaxPool3D_bprop.mindir +75 -0
- mindspore/ops/bprop_mindir/MaxPoolGradGrad_bprop.mindir +65 -0
- mindspore/ops/bprop_mindir/MaxPoolWithArgmax_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Maximum_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Minimum_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/MirrorPad_bprop.mindir +27 -0
- mindspore/ops/bprop_mindir/Mish_bprop.mindir +35 -0
- mindspore/ops/bprop_mindir/MulNoNan_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/NLLLoss_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/NonZero_bprop.mindir +14 -0
- mindspore/ops/bprop_mindir/NotEqual_bprop.mindir +18 -19
- mindspore/ops/bprop_mindir/OneHot_bprop.mindir +25 -23
- mindspore/ops/bprop_mindir/OnesLike_bprop.mindir +13 -13
- mindspore/ops/bprop_mindir/PReLU_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Pad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Padding_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/RNNTLoss_bprop.mindir +29 -0
- mindspore/ops/bprop_mindir/ROIAlign_bprop.mindir +82 -0
- mindspore/ops/bprop_mindir/Range_bprop.mindir +21 -19
- mindspore/ops/bprop_mindir/Rank_bprop.mindir +11 -11
- mindspore/ops/bprop_mindir/ReLU6_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/ReLUV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ReduceAll_bprop.mindir +18 -17
- mindspore/ops/bprop_mindir/ReduceAny_bprop.mindir +18 -17
- mindspore/ops/bprop_mindir/ReluGrad_bprop.mindir +19 -23
- mindspore/ops/bprop_mindir/Reshape_bprop.mindir +60 -0
- mindspore/ops/bprop_mindir/ResizeBilinear_bprop.mindir +29 -0
- mindspore/ops/bprop_mindir/ResizeNearestNeighbor_bprop.mindir +89 -0
- mindspore/ops/bprop_mindir/ReverseSequence_bprop.mindir +52 -0
- mindspore/ops/bprop_mindir/ReverseV2_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/Round_bprop.mindir +14 -13
- mindspore/ops/bprop_mindir/ScatterMax_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ScatterMin_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ScatterNdUpdate_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/ScatterNd_bprop.mindir +24 -0
- mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/ScatterUpdate_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SeLU_bprop.mindir +21 -0
- mindspore/ops/bprop_mindir/Select_bprop.mindir +30 -34
- mindspore/ops/bprop_mindir/Shape_bprop.mindir +12 -12
- mindspore/ops/bprop_mindir/SigmoidCrossEntropyWithLogits_bprop.mindir +21 -0
- mindspore/ops/bprop_mindir/SigmoidGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Sigmoid_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Sign_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/Slice_bprop.mindir +26 -0
- mindspore/ops/bprop_mindir/SmoothL1Loss_bprop.mindir +36 -0
- mindspore/ops/bprop_mindir/SoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Softplus_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Softsign_bprop.mindir +33 -0
- mindspore/ops/bprop_mindir/Sort_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SpaceToBatchND_bprop.mindir +28 -0
- mindspore/ops/bprop_mindir/SpaceToDepth_bprop.mindir +23 -0
- mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Split_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/Squeeze_bprop.mindir +54 -0
- mindspore/ops/bprop_mindir/StridedSliceGrad_bprop.mindir +95 -0
- mindspore/ops/bprop_mindir/StridedSlice_bprop.mindir +98 -0
- mindspore/ops/bprop_mindir/Switch_bprop.mindir +28 -32
- mindspore/ops/bprop_mindir/TanhGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Tanh_bprop.mindir +66 -0
- mindspore/ops/bprop_mindir/TensorScatterAdd_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/TensorScatterUpdate_bprop.mindir +29 -0
- mindspore/ops/bprop_mindir/TensorShape_bprop.mindir +14 -0
- mindspore/ops/bprop_mindir/Tile_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TopK_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TransShape_bprop.mindir +23 -0
- mindspore/ops/bprop_mindir/TruncateDiv_bprop.mindir +18 -15
- mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +11 -13
- mindspore/ops/bprop_mindir/Unique_bprop.mindir +16 -0
- mindspore/ops/bprop_mindir/Unstack_bprop.mindir +22 -0
- mindspore/ops/bprop_mindir/UpsampleNearest3D_bprop.mindir +32 -0
- mindspore/ops/bprop_mindir/UpsampleTrilinear3D_bprop.mindir +38 -0
- mindspore/ops/bprop_mindir/ZerosLike_bprop.mindir +13 -12
- mindspore/ops/bprop_mindir/__init__.py +1 -4
- mindspore/ops/bprop_mindir/generate_mindir.py +32 -20
- mindspore/ops/composite/__init__.py +12 -13
- mindspore/ops/composite/base.py +261 -254
- mindspore/ops/composite/env_ops.py +41 -0
- mindspore/ops/composite/math_ops.py +197 -156
- mindspore/ops/composite/multitype_ops/_compile_utils.py +428 -176
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +188 -87
- mindspore/ops/composite/multitype_ops/add_impl.py +23 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +3 -3
- mindspore/ops/composite/multitype_ops/equal_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +1 -1
- mindspore/ops/composite/multitype_ops/getitem_impl.py +52 -5
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +31 -0
- mindspore/ops/composite/multitype_ops/greater_impl.py +31 -0
- mindspore/ops/composite/multitype_ops/in_impl.py +15 -3
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +33 -2
- mindspore/ops/composite/multitype_ops/less_impl.py +33 -0
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -2
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mod_impl.py +1 -1
- mindspore/ops/composite/multitype_ops/mul_impl.py +21 -7
- mindspore/ops/composite/multitype_ops/not_in_impl.py +15 -3
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -4
- mindspore/ops/composite/multitype_ops/pow_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +62 -70
- mindspore/ops/composite/multitype_ops/sub_impl.py +3 -3
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +41 -4
- mindspore/ops/function/__init__.py +323 -8
- mindspore/ops/function/array_func.py +3511 -780
- mindspore/ops/function/clip_func.py +329 -0
- mindspore/ops/function/debug_func.py +6 -6
- mindspore/ops/function/grad/__init__.py +5 -1
- mindspore/ops/function/grad/grad_func.py +736 -65
- mindspore/ops/function/image_func.py +270 -0
- mindspore/ops/function/linalg_func.py +268 -8
- mindspore/ops/function/math_func.py +8032 -3164
- mindspore/ops/function/nn_func.py +5619 -1855
- mindspore/ops/function/other_func.py +115 -0
- mindspore/ops/function/parameter_func.py +11 -10
- mindspore/ops/function/random_func.py +939 -77
- mindspore/ops/function/sparse_func.py +249 -84
- mindspore/ops/function/sparse_unary_func.py +2303 -0
- mindspore/ops/function/spectral_func.py +146 -0
- mindspore/ops/function/vmap_func.py +114 -0
- mindspore/ops/functional.py +182 -254
- mindspore/ops/op_info_register.py +79 -34
- mindspore/ops/operations/__init__.py +210 -118
- mindspore/ops/operations/_csr_ops.py +7 -7
- mindspore/ops/operations/_embedding_cache_ops.py +25 -15
- mindspore/ops/operations/_grad_ops.py +447 -322
- mindspore/ops/operations/_inner_ops.py +547 -176
- mindspore/ops/operations/_map_tensor_ops.py +112 -0
- mindspore/ops/operations/_ms_kernel.py +29 -27
- mindspore/ops/operations/_ocr_ops.py +11 -11
- mindspore/ops/operations/_opaque_predicate_registry.py +41 -0
- mindspore/ops/operations/_quant_ops.py +186 -101
- mindspore/ops/operations/_rl_inner_ops.py +122 -61
- mindspore/ops/operations/_scalar_ops.py +466 -0
- mindspore/ops/operations/_sequence_ops.py +1047 -0
- mindspore/ops/operations/_tensor_array.py +10 -11
- mindspore/ops/operations/_thor_ops.py +4 -4
- mindspore/ops/operations/array_ops.py +1428 -1226
- mindspore/ops/operations/comm_ops.py +180 -117
- mindspore/ops/operations/control_ops.py +4 -2
- mindspore/ops/operations/custom_ops.py +185 -98
- mindspore/ops/operations/debug_ops.py +92 -54
- mindspore/ops/operations/image_ops.py +406 -211
- mindspore/ops/operations/inner_ops.py +42 -53
- mindspore/ops/operations/linalg_ops.py +32 -29
- mindspore/ops/operations/math_ops.py +2076 -897
- mindspore/ops/operations/nn_ops.py +1282 -1252
- mindspore/ops/operations/other_ops.py +124 -278
- mindspore/ops/operations/random_ops.py +345 -178
- mindspore/ops/operations/rl_ops.py +8 -9
- mindspore/ops/operations/sparse_ops.py +502 -157
- mindspore/ops/operations/spectral_ops.py +107 -0
- mindspore/ops/primitive.py +192 -15
- mindspore/ops/vm_impl_registry.py +23 -2
- mindspore/parallel/__init__.py +6 -1
- mindspore/parallel/_auto_parallel_context.py +199 -92
- mindspore/parallel/_cell_wrapper.py +4 -2
- mindspore/parallel/_cost_model_context.py +3 -0
- mindspore/parallel/_dp_allreduce_fusion.py +2 -1
- mindspore/parallel/_offload_context.py +185 -0
- mindspore/parallel/_parallel_serialization.py +167 -28
- mindspore/parallel/_ps_context.py +9 -5
- mindspore/parallel/_recovery_context.py +1 -1
- mindspore/parallel/_tensor.py +9 -1
- mindspore/{nn/transformer → parallel/_transformer}/__init__.py +6 -6
- mindspore/{nn/transformer → parallel/_transformer}/layers.py +59 -37
- mindspore/{nn/transformer → parallel/_transformer}/loss.py +4 -7
- mindspore/{nn/transformer → parallel/_transformer}/moe.py +160 -35
- mindspore/{nn/transformer → parallel/_transformer}/op_parallel_config.py +3 -3
- mindspore/{nn/transformer → parallel/_transformer}/transformer.py +235 -196
- mindspore/parallel/_utils.py +47 -7
- mindspore/parallel/algo_parameter_config.py +5 -1
- mindspore/parallel/checkpoint_transform.py +329 -0
- mindspore/parallel/shard.py +229 -0
- mindspore/perf_msvcbuildinsights.dll +0 -0
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +2 -1
- mindspore/profiler/common/util.py +4 -3
- mindspore/profiler/common/validator/validate_path.py +2 -2
- mindspore/profiler/envprofiling.py +249 -0
- mindspore/profiler/parser/aicpu_data_parser.py +38 -39
- mindspore/profiler/parser/ascend_timeline_generator.py +497 -0
- mindspore/profiler/parser/base_timeline_generator.py +471 -0
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +684 -0
- mindspore/profiler/parser/framework_parser.py +42 -16
- mindspore/profiler/parser/hccl_parser.py +158 -158
- mindspore/profiler/parser/hwts_log_parser.py +7 -6
- mindspore/profiler/parser/integrator.py +18 -1579
- mindspore/profiler/parser/minddata_analyzer.py +8 -8
- mindspore/profiler/parser/msadvisor_analyzer.py +14 -27
- mindspore/profiler/parser/msadvisor_parser.py +2 -4
- mindspore/profiler/parser/optime_parser.py +17 -18
- mindspore/profiler/parser/profiler_info.py +108 -0
- mindspore/profiler/parser/step_trace_parser.py +1 -1
- mindspore/profiler/profiling.py +396 -194
- mindspore/rewrite/__init__.py +6 -2
- mindspore/rewrite/api/node.py +51 -110
- mindspore/rewrite/api/node_type.py +10 -6
- mindspore/rewrite/api/pattern_engine.py +51 -7
- mindspore/rewrite/api/scoped_value.py +64 -53
- mindspore/rewrite/api/symbol_tree.py +108 -61
- mindspore/rewrite/api/tree_node_helper.py +2 -3
- mindspore/{compression/quant/__init__.py → rewrite/ast_creator_register.py} +20 -11
- mindspore/rewrite/ast_helpers/__init__.py +6 -3
- mindspore/rewrite/ast_helpers/ast_creator.py +115 -0
- mindspore/rewrite/ast_helpers/ast_finder.py +99 -1
- mindspore/rewrite/ast_helpers/ast_modifier.py +17 -4
- mindspore/rewrite/ast_helpers/ast_replacer.py +1 -1
- mindspore/rewrite/ast_transformers/__init__.py +0 -1
- mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +46 -5
- mindspore/rewrite/ast_transformers/remove_return_out_of_if.py +6 -3
- mindspore/rewrite/common/__init__.py +2 -0
- mindspore/rewrite/common/event.py +1 -1
- mindspore/rewrite/common/observable.py +1 -1
- mindspore/rewrite/common/observer.py +1 -1
- mindspore/rewrite/common/rewrite_elog.py +35 -0
- mindspore/rewrite/namer.py +2 -2
- mindspore/rewrite/namespace.py +14 -4
- mindspore/rewrite/node.py +161 -13
- mindspore/rewrite/parser.py +0 -1
- mindspore/rewrite/parser_register.py +0 -1
- mindspore/rewrite/parsers/arguments_parser.py +3 -2
- mindspore/rewrite/parsers/assign_parser.py +267 -67
- mindspore/rewrite/parsers/attribute_parser.py +56 -0
- mindspore/rewrite/parsers/class_def_parser.py +191 -108
- mindspore/rewrite/parsers/constant_parser.py +101 -0
- mindspore/rewrite/parsers/container_parser.py +88 -0
- mindspore/rewrite/parsers/for_parser.py +28 -15
- mindspore/rewrite/parsers/function_def_parser.py +21 -5
- mindspore/rewrite/parsers/if_parser.py +11 -28
- mindspore/rewrite/parsers/module_parser.py +9 -6
- mindspore/rewrite/parsers/return_parser.py +3 -2
- mindspore/rewrite/sparsify/__init__.py +0 -0
- mindspore/rewrite/sparsify/sparse_transformer.py +448 -0
- mindspore/rewrite/sparsify/sparsify.py +109 -0
- mindspore/rewrite/sparsify/utils.py +173 -0
- mindspore/rewrite/symbol_tree.py +322 -109
- mindspore/rewrite/symbol_tree_builder.py +45 -8
- mindspore/rewrite/symbol_tree_dumper.py +0 -1
- mindspore/rewrite/topological_manager.py +1 -2
- mindspore/run_check/_check_version.py +209 -112
- mindspore/run_check/run_check.py +2 -1
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +6 -4
- mindspore/train/_utils.py +28 -5
- mindspore/train/amp.py +321 -50
- mindspore/train/callback/__init__.py +3 -1
- mindspore/train/callback/_backup_and_restore.py +120 -0
- mindspore/train/callback/_callback.py +8 -8
- mindspore/train/callback/_checkpoint.py +12 -9
- mindspore/train/callback/_early_stop.py +13 -7
- mindspore/train/callback/_history.py +8 -8
- mindspore/train/callback/_lambda_callback.py +6 -6
- mindspore/train/callback/_landscape.py +36 -38
- mindspore/train/callback/_loss_monitor.py +12 -6
- mindspore/train/callback/_lr_scheduler_callback.py +2 -4
- mindspore/train/callback/_on_request_exit.py +212 -0
- mindspore/train/callback/_reduce_lr_on_plateau.py +13 -7
- mindspore/train/callback/_summary_collector.py +27 -19
- mindspore/train/callback/_time_monitor.py +13 -7
- mindspore/train/checkpoint_pb2.py +68 -8
- mindspore/train/data_sink.py +122 -33
- mindspore/train/dataset_helper.py +28 -87
- mindspore/train/loss_scale_manager.py +4 -7
- mindspore/{nn → train}/metrics/__init__.py +20 -20
- mindspore/{nn → train}/metrics/accuracy.py +12 -10
- mindspore/{nn → train}/metrics/auc.py +4 -4
- mindspore/{nn → train}/metrics/bleu_score.py +4 -4
- mindspore/{nn → train}/metrics/confusion_matrix.py +10 -8
- mindspore/{nn → train}/metrics/cosine_similarity.py +4 -4
- mindspore/{nn → train}/metrics/dice.py +6 -5
- mindspore/{nn → train}/metrics/error.py +7 -5
- mindspore/{nn → train}/metrics/fbeta.py +9 -7
- mindspore/{nn → train}/metrics/hausdorff_distance.py +8 -6
- mindspore/{nn → train}/metrics/loss.py +4 -3
- mindspore/{nn → train}/metrics/mean_surface_distance.py +6 -5
- mindspore/{nn → train}/metrics/metric.py +6 -5
- mindspore/{nn → train}/metrics/occlusion_sensitivity.py +4 -3
- mindspore/{nn → train}/metrics/perplexity.py +5 -4
- mindspore/{nn → train}/metrics/precision.py +5 -4
- mindspore/{nn → train}/metrics/recall.py +5 -4
- mindspore/{nn → train}/metrics/roc.py +7 -6
- mindspore/{nn → train}/metrics/root_mean_square_surface_distance.py +6 -5
- mindspore/{nn → train}/metrics/topk.py +7 -5
- mindspore/train/mind_ir_pb2.py +339 -32
- mindspore/train/model.py +113 -84
- mindspore/train/serialization.py +547 -167
- mindspore/train/summary/_summary_adapter.py +1 -1
- mindspore/train/summary/summary_record.py +43 -12
- mindspore/train/train_thor/convert_utils.py +7 -1
- mindspore/train/train_thor/dataset_helper.py +3 -3
- mindspore/train/train_thor/model_thor.py +0 -4
- mindspore/turbojpeg.dll +0 -0
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/METADATA +4 -3
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/RECORD +901 -660
- mindspore/compression/common/constant.py +0 -124
- mindspore/compression/export/__init__.py +0 -19
- mindspore/compression/export/quant_export.py +0 -514
- mindspore/compression/quant/qat.py +0 -636
- mindspore/compression/quant/quant_utils.py +0 -462
- mindspore/compression/quant/quantizer.py +0 -68
- mindspore/libatomic-1.dll +0 -0
- mindspore/libgcc_s_seh-1.dll +0 -0
- mindspore/libgfortran-4.dll +0 -0
- mindspore/libgomp-1.dll +0 -0
- mindspore/libjpeg-62.dll +0 -0
- mindspore/libmindspore.dll +0 -0
- mindspore/libmindspore_common.dll +0 -0
- mindspore/libmindspore_core.dll +0 -0
- mindspore/libmindspore_glog.dll +0 -0
- mindspore/libnnacl.dll +0 -0
- mindspore/libopencv_core452.dll +0 -0
- mindspore/libopencv_imgcodecs452.dll +0 -0
- mindspore/libopencv_imgproc452.dll +0 -0
- mindspore/libquadmath-0.dll +0 -0
- mindspore/libsqlite3.dll +0 -0
- mindspore/libssp-0.dll +0 -0
- mindspore/libstdc++-6.dll +0 -0
- mindspore/libtinyxml2.dll +0 -0
- mindspore/libturbojpeg.dll +0 -0
- mindspore/libwinpthread-1.dll +0 -0
- mindspore/nn/layer/quant.py +0 -1868
- mindspore/nn/layer/rnn_utils.py +0 -90
- mindspore/nn/probability/dpn/__init__.py +0 -22
- mindspore/nn/probability/dpn/vae/__init__.py +0 -25
- mindspore/nn/probability/dpn/vae/cvae.py +0 -138
- mindspore/nn/probability/dpn/vae/vae.py +0 -122
- mindspore/nn/probability/infer/__init__.py +0 -22
- mindspore/nn/probability/infer/variational/elbo.py +0 -70
- mindspore/nn/probability/infer/variational/svi.py +0 -84
- mindspore/nn/probability/toolbox/__init__.py +0 -22
- mindspore/nn/probability/toolbox/anomaly_detection.py +0 -99
- mindspore/nn/probability/toolbox/uncertainty_evaluation.py +0 -363
- mindspore/nn/probability/transforms/__init__.py +0 -22
- mindspore/nn/probability/transforms/transform_bnn.py +0 -262
- mindspore/nn/probability/zhusuan/__init__.py +0 -18
- mindspore/nn/probability/zhusuan/framework/__init__.py +0 -18
- mindspore/nn/probability/zhusuan/framework/bn.py +0 -95
- mindspore/nn/probability/zhusuan/variational/__init__.py +0 -18
- mindspore/nn/probability/zhusuan/variational/elbo.py +0 -46
- mindspore/ops/_op_impl/tbe/bias_add_grad_ds.py +0 -52
- mindspore/ops/_op_impl/tbe/scatter_nd_add_ds.py +0 -43
- mindspore/ops/bprop_mindir/AssignAdd_bprop.mindir +0 -20
- mindspore/ops/bprop_mindir/Identity_bprop.mindir +0 -9
- mindspore/ops/bprop_mindir/LogicalOr_bprop.mindir +0 -20
- mindspore/ops/bprop_mindir/ReLU_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/UpdateState_bprop.mindir +0 -17
- mindspore/ops/bprop_mindir/stop_gradient_bprop.mindir +0 -12
- mindspore/ops/composite/array_ops.py +0 -210
- mindspore/ops/composite/clip_ops.py +0 -238
- mindspore/ops/composite/random_ops.py +0 -426
- mindspore/ops/composite/vmap_ops.py +0 -38
- mindspore/ops/operations/sponge_ops.py +0 -3531
- mindspore/ops/operations/sponge_update_ops.py +0 -2546
- mindspore/parallel/nn/__init__.py +0 -42
- mindspore/parallel/nn/loss.py +0 -22
- mindspore/parallel/nn/moe.py +0 -21
- mindspore/parallel/nn/op_parallel_config.py +0 -22
- mindspore/parallel/nn/transformer.py +0 -31
- mindspore/run_check/_check_deps_version.py +0 -84
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/entry_points.txt +0 -0
- {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2020 Huawei Technologies Co., Ltd
|
|
1
|
+
# Copyright 2020-2023 Huawei Technologies Co., Ltd
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -13,15 +13,14 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ============================================================================
|
|
15
15
|
|
|
16
|
-
"""Communication APIs.
|
|
16
|
+
"""Communication APIs.
|
|
17
|
+
"""
|
|
17
18
|
from __future__ import absolute_import
|
|
18
19
|
from __future__ import division
|
|
19
20
|
|
|
20
21
|
from mindspore.common import Tensor
|
|
21
|
-
from mindspore
|
|
22
|
-
from mindspore.
|
|
23
|
-
from mindspore.communication.management import get_rank, get_group_size, GlobalComm, _get_group
|
|
24
|
-
from mindspore.communication._comm_helper import _check_mpi_envs
|
|
22
|
+
from mindspore import _checkparam as validator
|
|
23
|
+
from mindspore.communication.management import get_rank, get_group_size, GlobalComm, _get_group, _host_distribute
|
|
25
24
|
from mindspore.common import dtype as mstype
|
|
26
25
|
from mindspore.ops.primitive import PrimitiveWithInfer, PrimitiveWithCheck, Primitive, prim_attr_register
|
|
27
26
|
from mindspore.common.api import context
|
|
@@ -30,7 +29,6 @@ from mindspore.common.api import context
|
|
|
30
29
|
class ReduceOp:
|
|
31
30
|
"""
|
|
32
31
|
Operation options for reducing tensors. This is an enumerated type, not an operator.
|
|
33
|
-
Mainly used in data parallel mode.
|
|
34
32
|
|
|
35
33
|
The main calling methods are as follows:
|
|
36
34
|
|
|
@@ -46,17 +44,25 @@ class ReduceOp:
|
|
|
46
44
|
- MIN: Take the minimum.
|
|
47
45
|
- PROD: Take the product.
|
|
48
46
|
|
|
49
|
-
Note:
|
|
50
|
-
For more, refer to example. This needs to run in an environment with multiple graphics cards.
|
|
51
|
-
The user needs to preset
|
|
52
|
-
communication environment variables before running the following example, please check the details on the
|
|
53
|
-
official website of `MindSpore \
|
|
54
|
-
<https://www.mindspore.cn/docs/en/r1.10/api_python/mindspore.ops.html#communication-operator>`_.
|
|
55
|
-
|
|
56
47
|
Supported Platforms:
|
|
57
48
|
``Ascend`` ``GPU``
|
|
58
49
|
|
|
59
50
|
Examples:
|
|
51
|
+
.. note::
|
|
52
|
+
Before running the following examples, you need to configure the communication environment variables.
|
|
53
|
+
|
|
54
|
+
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
55
|
+
Please see the `Ascend tutorial
|
|
56
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_ascend.html#preparations>`_
|
|
57
|
+
for more details.
|
|
58
|
+
|
|
59
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `GPU tutorial
|
|
60
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_gpu.html#preparation>`_ .
|
|
61
|
+
|
|
62
|
+
This example should be run with multiple devices.
|
|
63
|
+
|
|
64
|
+
>>> import numpy as np
|
|
65
|
+
>>> import mindspore
|
|
60
66
|
>>> from mindspore.communication import init
|
|
61
67
|
>>> from mindspore import Tensor, ops, nn
|
|
62
68
|
>>> from mindspore.ops import ReduceOp
|
|
@@ -96,25 +102,21 @@ def check_collective_target_dtype(data_name, data_dtype, prim_name):
|
|
|
96
102
|
def check_hcom_group_valid(group, prim_name=None):
|
|
97
103
|
"""Check if hcom group is valid."""
|
|
98
104
|
msg_prefix = f"For '{prim_name}', the" if prim_name else "The"
|
|
99
|
-
if not
|
|
105
|
+
if not _host_distribute() and context.get_context("mode") == context.PYNATIVE_MODE and \
|
|
100
106
|
group != GlobalComm.WORLD_COMM_GROUP:
|
|
101
107
|
raise RuntimeError(f"{msg_prefix} 'group' only support 'hccl_world_group' in pynative mode, but got "
|
|
102
108
|
f"'group': {group}. Please start by using mpi-run.")
|
|
103
109
|
|
|
104
110
|
|
|
105
|
-
class AllReduce(
|
|
111
|
+
class AllReduce(Primitive):
|
|
106
112
|
"""
|
|
107
113
|
Reduces the tensor data across all devices in such a way that all devices will get the same final result.
|
|
108
114
|
|
|
109
115
|
Note:
|
|
110
|
-
The
|
|
111
|
-
The tensors must have the same shape and format in all processes of the collection. The user needs to preset
|
|
112
|
-
communication environment variables before running the following example, please check the details on the
|
|
113
|
-
official website of `MindSpore \
|
|
114
|
-
<https://www.mindspore.cn/docs/en/r1.10/api_python/mindspore.ops.html#communication-operator>`_.
|
|
116
|
+
The tensors must have the same shape and format in all processes of the collection.
|
|
115
117
|
|
|
116
118
|
Args:
|
|
117
|
-
op (str): Specifies an operation used for element-wise reductions, like sum, max, and min.
|
|
119
|
+
op (str): Specifies an operation used for element-wise reductions, like sum, prod, max, and min.
|
|
118
120
|
On the CPU, only 'sum' is supported. Default: ReduceOp.SUM.
|
|
119
121
|
group (str): The communication group to work on. Default: "GlobalComm.WORLD_COMM_GROUP".
|
|
120
122
|
|
|
@@ -128,13 +130,24 @@ class AllReduce(PrimitiveWithInfer):
|
|
|
128
130
|
Raises:
|
|
129
131
|
TypeError: If any of `op` and `group` is not a str,
|
|
130
132
|
or fusion is not an integer, or the input's dtype is bool.
|
|
131
|
-
ValueError: If the `op` is "prod".
|
|
132
133
|
|
|
133
134
|
Supported Platforms:
|
|
134
135
|
``Ascend`` ``GPU`` ``CPU``
|
|
135
136
|
|
|
136
137
|
Examples:
|
|
137
|
-
|
|
138
|
+
.. note::
|
|
139
|
+
Before running the following examples, you need to configure the communication environment variables.
|
|
140
|
+
|
|
141
|
+
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
142
|
+
Please see the `Ascend tutorial
|
|
143
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_ascend.html#preparations>`_
|
|
144
|
+
for more details.
|
|
145
|
+
|
|
146
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `GPU tutorial
|
|
147
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_gpu.html#preparation>`_ .
|
|
148
|
+
|
|
149
|
+
This example should be run with multiple devices.
|
|
150
|
+
|
|
138
151
|
>>> import numpy as np
|
|
139
152
|
>>> from mindspore.communication import init
|
|
140
153
|
>>> from mindspore import Tensor
|
|
@@ -174,23 +187,14 @@ class AllReduce(PrimitiveWithInfer):
|
|
|
174
187
|
self.add_prim_attr('index', 0)
|
|
175
188
|
self.add_prim_attr('no_eliminate', True)
|
|
176
189
|
|
|
177
|
-
def infer_shape(self, x_shape):
|
|
178
|
-
return x_shape
|
|
179
|
-
|
|
180
|
-
def infer_dtype(self, x_dtype):
|
|
181
|
-
check_collective_target_dtype('x', x_dtype, self.name)
|
|
182
|
-
return x_dtype
|
|
183
|
-
|
|
184
190
|
|
|
185
191
|
class AllGather(PrimitiveWithInfer):
|
|
186
192
|
"""
|
|
187
193
|
Gathers tensors from the specified communication group.
|
|
188
194
|
|
|
189
195
|
Note:
|
|
190
|
-
The tensors must have the same shape and format in all processes of the collection.
|
|
191
|
-
|
|
192
|
-
official website of `MindSpore \
|
|
193
|
-
<https://www.mindspore.cn/docs/en/r1.10/api_python/mindspore.ops.html#communication-operator>`_.
|
|
196
|
+
- The tensors must have the same shape and format in all processes of the collection.
|
|
197
|
+
- Currently only supports GRAPH_MODE and it should be called in Cell.
|
|
194
198
|
|
|
195
199
|
Args:
|
|
196
200
|
group (str): The communication group to work on. Default: "GlobalComm.WORLD_COMM_GROUP".
|
|
@@ -211,7 +215,19 @@ class AllGather(PrimitiveWithInfer):
|
|
|
211
215
|
``Ascend`` ``GPU``
|
|
212
216
|
|
|
213
217
|
Examples:
|
|
214
|
-
|
|
218
|
+
.. note::
|
|
219
|
+
Before running the following examples, you need to configure the communication environment variables.
|
|
220
|
+
|
|
221
|
+
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
222
|
+
Please see the `Ascend tutorial
|
|
223
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_ascend.html#preparations>`_
|
|
224
|
+
for more details.
|
|
225
|
+
|
|
226
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `GPU tutorial
|
|
227
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_gpu.html#preparation>`_ .
|
|
228
|
+
|
|
229
|
+
This example should be run with 2 devices.
|
|
230
|
+
|
|
215
231
|
>>> import numpy as np
|
|
216
232
|
>>> import mindspore as ms
|
|
217
233
|
>>> import mindspore.ops as ops
|
|
@@ -245,13 +261,16 @@ class AllGather(PrimitiveWithInfer):
|
|
|
245
261
|
validator.check_value_type('group', _get_group(group), (str,), self.name)
|
|
246
262
|
self.rank = get_rank(_get_group(group))
|
|
247
263
|
self.rank_size = get_group_size(_get_group(group))
|
|
248
|
-
validator.check('rank', self.rank, 'rank_size', self.rank_size,
|
|
264
|
+
validator.check('rank', self.rank, 'rank_size', self.rank_size, validator.LT, self.name)
|
|
249
265
|
self.add_prim_attr('rank_size', self.rank_size)
|
|
250
266
|
self.add_prim_attr('group', _get_group(group))
|
|
251
267
|
self.add_prim_attr('fusion', 0)
|
|
252
268
|
self.add_prim_attr('mean_flag', False)
|
|
253
269
|
self.add_prim_attr('no_eliminate', True)
|
|
254
270
|
|
|
271
|
+
def __call__(self, tensor):
|
|
272
|
+
raise NotImplementedError
|
|
273
|
+
|
|
255
274
|
def infer_shape(self, x_shape):
|
|
256
275
|
validator.check_positive_int(len(x_shape), "x shape", self.name)
|
|
257
276
|
if x_shape[0] > 0:
|
|
@@ -262,9 +281,6 @@ class AllGather(PrimitiveWithInfer):
|
|
|
262
281
|
check_collective_target_dtype('x', x_dtype, self.name)
|
|
263
282
|
return x_dtype
|
|
264
283
|
|
|
265
|
-
def __call__(self, tensor):
|
|
266
|
-
raise NotImplementedError
|
|
267
|
-
|
|
268
284
|
|
|
269
285
|
class _MiniStepAllGather(PrimitiveWithInfer):
|
|
270
286
|
"""
|
|
@@ -282,13 +298,14 @@ class _MiniStepAllGather(PrimitiveWithInfer):
|
|
|
282
298
|
validator.check_value_type('group', _get_group(group), (str,), self.name)
|
|
283
299
|
self.rank = get_rank(_get_group(group))
|
|
284
300
|
self.rank_size = get_group_size(_get_group(group))
|
|
285
|
-
validator.check('rank', self.rank, 'rank_size', self.rank_size,
|
|
301
|
+
validator.check('rank', self.rank, 'rank_size', self.rank_size, validator.LT, self.name)
|
|
286
302
|
self.add_prim_attr('rank_size', self.rank_size)
|
|
287
303
|
self.add_prim_attr('group', _get_group(group))
|
|
288
304
|
self.add_prim_attr('fusion', 1)
|
|
289
305
|
self.grad_accumulation_step = grad_accumulation_step
|
|
290
306
|
self.mean_flag = mean_flag
|
|
291
307
|
self.add_prim_attr('order_enforce_skip', True)
|
|
308
|
+
self.add_prim_attr('side_effect_backprop_mem', True)
|
|
292
309
|
|
|
293
310
|
def infer_shape(self, x_shape, z_shape):
|
|
294
311
|
validator.check_positive_int(len(x_shape), "x shape", self.name)
|
|
@@ -313,15 +330,17 @@ class _MicroStepAllGather(PrimitiveWithInfer):
|
|
|
313
330
|
@prim_attr_register
|
|
314
331
|
def __init__(self, group=GlobalComm.WORLD_COMM_GROUP, mean_flag=None):
|
|
315
332
|
validator.check_value_type('group', _get_group(group), (str,), self.name)
|
|
316
|
-
self.
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
333
|
+
self.rank_size = 1
|
|
334
|
+
if group != "":
|
|
335
|
+
self.rank = get_rank(_get_group(group))
|
|
336
|
+
self.rank_size = get_group_size(_get_group(group))
|
|
337
|
+
validator.check('rank', self.rank, 'rank_size', self.rank_size, validator.LT, self.name)
|
|
338
|
+
self.add_prim_attr('rank_size', self.rank_size)
|
|
339
|
+
self.add_prim_attr('group', _get_group(group))
|
|
340
|
+
self.add_prim_attr('fusion', 1)
|
|
341
|
+
self.add_prim_attr('do_mirror', False)
|
|
342
|
+
self.mean_flag = mean_flag
|
|
343
|
+
self.add_prim_attr('order_enforce_skip', True)
|
|
325
344
|
|
|
326
345
|
def infer_shape(self, x_shape, z_shape):
|
|
327
346
|
validator.check_positive_int(len(x_shape), "x shape", self.name)
|
|
@@ -365,9 +384,9 @@ class _HostAllGather(PrimitiveWithInfer):
|
|
|
365
384
|
if group is None:
|
|
366
385
|
raise ValueError(f"For '{self.name}', the 'group' cannot be None, but got {group}.")
|
|
367
386
|
validator.check_value_type('group', group, (tuple, list), self.name)
|
|
368
|
-
validator.check_int(len(group), 2,
|
|
387
|
+
validator.check_int(len(group), 2, validator.GE, "group size", self.name)
|
|
369
388
|
for r in group:
|
|
370
|
-
validator.check_int_range(r, 0, 7,
|
|
389
|
+
validator.check_int_range(r, 0, 7, validator.INC_BOTH, "rank_id", self.name)
|
|
371
390
|
validator.check_value_type("rank_id", r, (int,), self.name)
|
|
372
391
|
self.group_size = len(group)
|
|
373
392
|
self.add_prim_attr('group', group)
|
|
@@ -388,31 +407,49 @@ class _HostAllGather(PrimitiveWithInfer):
|
|
|
388
407
|
raise NotImplementedError
|
|
389
408
|
|
|
390
409
|
|
|
391
|
-
class ReduceScatter(
|
|
392
|
-
"""
|
|
410
|
+
class ReduceScatter(Primitive):
|
|
411
|
+
r"""
|
|
393
412
|
Reduces and scatters tensors from the specified communication group.
|
|
413
|
+
For more details about it, please refer to `Distributed Set Communication Primitives - ReduceScatter \
|
|
414
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/communicate_ops.html#reducescatter>`_ .
|
|
394
415
|
|
|
395
416
|
Note:
|
|
396
|
-
The
|
|
397
|
-
The tensors must have the same shape and format in all processes of the collection. The user needs to preset
|
|
398
|
-
communication environment variables before running the following example, please check the details on the
|
|
399
|
-
official website of `Communication Operator API \
|
|
400
|
-
<https://www.mindspore.cn/docs/en/r1.10/api_python/mindspore.ops.html#communication-operator>`_.
|
|
417
|
+
The tensors must have the same shape and format in all processes of the collection.
|
|
401
418
|
|
|
402
419
|
Args:
|
|
403
420
|
op (str): Specifies an operation used for element-wise reductions,
|
|
404
|
-
like SUM
|
|
421
|
+
like SUM and MAX. Default: ReduceOp.SUM.
|
|
405
422
|
group (str): The communication group to work on. Default: "GlobalComm.WORLD_COMM_GROUP".
|
|
406
423
|
|
|
424
|
+
Inputs:
|
|
425
|
+
- **input_x** (Tensor) - Input Tensor, suppose it has a shape :math:`(N, *)`, where `*`
|
|
426
|
+
means any number of additional dimensions. N must be divisible by rank_size.
|
|
427
|
+
rank_size refers to the number of cards in the communication group.
|
|
428
|
+
|
|
429
|
+
Outputs:
|
|
430
|
+
Tensor, it has the same dtype as `input_x` with a shape of :math:`(N/rank\_size, *)`.
|
|
431
|
+
|
|
407
432
|
Raises:
|
|
408
433
|
TypeError: If any of operation and group is not a string.
|
|
409
|
-
ValueError: If the first dimension of the input cannot be divided by the
|
|
434
|
+
ValueError: If the first dimension of the input cannot be divided by the rank_size.
|
|
410
435
|
|
|
411
436
|
Supported Platforms:
|
|
412
437
|
``Ascend`` ``GPU``
|
|
413
438
|
|
|
414
439
|
Examples:
|
|
415
|
-
|
|
440
|
+
.. note::
|
|
441
|
+
Before running the following examples, you need to configure the communication environment variables.
|
|
442
|
+
|
|
443
|
+
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
444
|
+
Please see the `Ascend tutorial
|
|
445
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_ascend.html#preparations>`_
|
|
446
|
+
for more details.
|
|
447
|
+
|
|
448
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `GPU tutorial
|
|
449
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_gpu.html#preparation>`_ .
|
|
450
|
+
|
|
451
|
+
This example should be run with 2 devices.
|
|
452
|
+
|
|
416
453
|
>>> import mindspore as ms
|
|
417
454
|
>>> from mindspore import Tensor
|
|
418
455
|
>>> from mindspore.communication import init
|
|
@@ -453,19 +490,6 @@ class ReduceScatter(PrimitiveWithInfer):
|
|
|
453
490
|
self.add_prim_attr('fusion', 0)
|
|
454
491
|
self.add_prim_attr('no_eliminate', True)
|
|
455
492
|
|
|
456
|
-
def infer_shape(self, x_shape):
|
|
457
|
-
if self.rank_size == 0:
|
|
458
|
-
raise ValueError(f"For '{self.name}', the 'rank_size' can not be zero, but got {self.rank_size}.")
|
|
459
|
-
if x_shape[0] % self.rank_size != 0:
|
|
460
|
-
raise ValueError(f"For '{self.name}', the first dimension of 'x_shape' must be divided by 'rank_size', "
|
|
461
|
-
f"but got 'x_shape[0]': {x_shape[0]}, 'rank_size': {self.rank_size}.")
|
|
462
|
-
x_shape[0] = int(x_shape[0] / self.rank_size)
|
|
463
|
-
return x_shape
|
|
464
|
-
|
|
465
|
-
def infer_dtype(self, x_dtype):
|
|
466
|
-
check_collective_target_dtype('x', x_dtype, self.name)
|
|
467
|
-
return x_dtype
|
|
468
|
-
|
|
469
493
|
def __call__(self, tensor):
|
|
470
494
|
raise NotImplementedError
|
|
471
495
|
|
|
@@ -499,9 +523,9 @@ class _HostReduceScatter(PrimitiveWithInfer):
|
|
|
499
523
|
raise ValueError(f"For '{self.name}', the 'group' cannot be None, but got {group}.")
|
|
500
524
|
validator.check_value_type('op', op, (type(ReduceOp.SUM),), self.name)
|
|
501
525
|
validator.check_value_type('group', group, (tuple, list), self.name)
|
|
502
|
-
validator.check_int(len(group), 2,
|
|
526
|
+
validator.check_int(len(group), 2, validator.GE, "group size", self.name)
|
|
503
527
|
for r in group:
|
|
504
|
-
validator.check_int_range(r, 0, 7,
|
|
528
|
+
validator.check_int_range(r, 0, 7, validator.INC_BOTH, "rank_id", self.name)
|
|
505
529
|
validator.check_value_type("rank_id", r, (int,), self.name)
|
|
506
530
|
self.op = op
|
|
507
531
|
self.group_size = len(group)
|
|
@@ -529,10 +553,7 @@ class Broadcast(PrimitiveWithInfer):
|
|
|
529
553
|
Broadcasts the tensor to the whole group.
|
|
530
554
|
|
|
531
555
|
Note:
|
|
532
|
-
The tensors must have the same shape and format in all processes of the collection.
|
|
533
|
-
communication environment variables before running the following example, please check the details on the
|
|
534
|
-
official website of `MindSpore \
|
|
535
|
-
<https://www.mindspore.cn/docs/en/r1.10/api_python/mindspore.ops.html#communication-operator>`_.
|
|
556
|
+
The tensors must have the same shape and format in all processes of the collection.
|
|
536
557
|
|
|
537
558
|
Args:
|
|
538
559
|
root_rank (int): Source rank. Required in all processes except the one
|
|
@@ -543,7 +564,7 @@ class Broadcast(PrimitiveWithInfer):
|
|
|
543
564
|
- **input_x** (tuple[Tensor]) - The shape of tensor is :math:`(x_1, x_2, ..., x_R)`.
|
|
544
565
|
|
|
545
566
|
Outputs:
|
|
546
|
-
Tensor, has the same shape of the input, i.e., :math:`(x_1, x_2, ..., x_R)`.
|
|
567
|
+
tuple[Tensor], Tensor has the same shape of the input, i.e., :math:`(x_1, x_2, ..., x_R)`.
|
|
547
568
|
The contents depend on the data of the `root_rank` device.
|
|
548
569
|
|
|
549
570
|
Raises:
|
|
@@ -553,10 +574,19 @@ class Broadcast(PrimitiveWithInfer):
|
|
|
553
574
|
``Ascend`` ``GPU``
|
|
554
575
|
|
|
555
576
|
Examples:
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
577
|
+
.. note::
|
|
578
|
+
Before running the following examples, you need to configure the communication environment variables.
|
|
579
|
+
|
|
580
|
+
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
581
|
+
Please see the `Ascend tutorial
|
|
582
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_ascend.html#preparations>`_
|
|
583
|
+
for more details.
|
|
584
|
+
|
|
585
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `GPU tutorial
|
|
586
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_gpu.html#preparation>`_ .
|
|
587
|
+
|
|
588
|
+
This example should be run with multiple devices.
|
|
589
|
+
|
|
560
590
|
>>> import mindspore as ms
|
|
561
591
|
>>> from mindspore import Tensor
|
|
562
592
|
>>> from mindspore.communication import init
|
|
@@ -599,7 +629,7 @@ class Broadcast(PrimitiveWithInfer):
|
|
|
599
629
|
if not isinstance(x_dtype, tuple):
|
|
600
630
|
raise TypeError(f"For '{self.name}', the 'input_x' must be a tuple, but got {type(x_dtype).__name__}!")
|
|
601
631
|
for _ele in x_dtype:
|
|
602
|
-
check_collective_target_dtype('
|
|
632
|
+
check_collective_target_dtype('input_x', _ele, self.name)
|
|
603
633
|
return x_dtype
|
|
604
634
|
|
|
605
635
|
|
|
@@ -669,11 +699,11 @@ class NeighborExchange(Primitive):
|
|
|
669
699
|
The user needs to preset
|
|
670
700
|
communication environment variables before running the following example, please check the details on the
|
|
671
701
|
official website of `MindSpore \
|
|
672
|
-
<https://www.mindspore.cn/docs/en/
|
|
702
|
+
<https://www.mindspore.cn/docs/en/r2.0/api_python/mindspore.ops.html#communication-operator>`_.
|
|
673
703
|
|
|
674
704
|
This operator requires a full-mesh network topology, each device has the same vlan id, and the ip & mask are
|
|
675
705
|
in the same subnet, please check the `details \
|
|
676
|
-
<https://www.mindspore.cn/tutorials/experts/
|
|
706
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/communicate_ops.html#notes>`_.
|
|
677
707
|
|
|
678
708
|
Args:
|
|
679
709
|
send_rank_ids (list(int)): Ranks which the data is sent to.
|
|
@@ -747,14 +777,9 @@ class AlltoAll(PrimitiveWithInfer):
|
|
|
747
777
|
- The gather phase: Each process concatenates the received blocks along the concat_dimension.
|
|
748
778
|
|
|
749
779
|
Note:
|
|
750
|
-
The tensors must have the same shape and format in all processes of the collection. The user needs to preset
|
|
751
|
-
communication environment variables before running the following example, please check the details on the
|
|
752
|
-
official website of `MindSpore \
|
|
753
|
-
<https://www.mindspore.cn/docs/en/r1.10/api_python/mindspore.ops.html#communication-operator>`_.
|
|
754
|
-
|
|
755
780
|
This operator requires a full-mesh network topology, each device has the same vlan id, and the ip & mask are
|
|
756
781
|
in the same subnet, please check the `details \
|
|
757
|
-
<https://www.mindspore.cn/tutorials/experts/
|
|
782
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/communicate_ops.html#notes>`_.
|
|
758
783
|
|
|
759
784
|
Args:
|
|
760
785
|
split_count (int): On each process, divide blocks into split_count number.
|
|
@@ -769,11 +794,9 @@ class AlltoAll(PrimitiveWithInfer):
|
|
|
769
794
|
Tensor. If the shape of input tensor is :math:`(x_1, x_2, ..., x_R)`, then the shape of output tensor is
|
|
770
795
|
:math:`(y_1, y_2, ..., y_R)`, where:
|
|
771
796
|
|
|
772
|
-
:math:`y_{split\_dim} = x_{split\_dim} / split\_count`
|
|
773
|
-
|
|
774
|
-
:math:`y_{
|
|
775
|
-
|
|
776
|
-
:math:`y\_other = x\_other`.
|
|
797
|
+
- :math:`y_{split\_dim} = x_{split\_dim} / split\_count`
|
|
798
|
+
- :math:`y_{concat\_dim} = x_{concat\_dim} * split\_count`
|
|
799
|
+
- :math:`y_{other} = x_{other}`.
|
|
777
800
|
|
|
778
801
|
Raises:
|
|
779
802
|
TypeError: If group is not a string.
|
|
@@ -782,7 +805,19 @@ class AlltoAll(PrimitiveWithInfer):
|
|
|
782
805
|
``Ascend``
|
|
783
806
|
|
|
784
807
|
Examples:
|
|
785
|
-
|
|
808
|
+
.. note::
|
|
809
|
+
Before running the following examples, you need to configure the communication environment variables.
|
|
810
|
+
|
|
811
|
+
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
812
|
+
Please see the `Ascend tutorial
|
|
813
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_ascend.html#preparations>`_
|
|
814
|
+
for more details.
|
|
815
|
+
|
|
816
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `GPU tutorial
|
|
817
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_gpu.html#preparation>`_ .
|
|
818
|
+
|
|
819
|
+
This example should be run with 8 devices.
|
|
820
|
+
|
|
786
821
|
>>> import os
|
|
787
822
|
>>> import mindspore as ms
|
|
788
823
|
>>> from mindspore import Tensor
|
|
@@ -843,21 +878,19 @@ class AlltoAll(PrimitiveWithInfer):
|
|
|
843
878
|
|
|
844
879
|
|
|
845
880
|
class NeighborExchangeV2(Primitive):
|
|
846
|
-
"""
|
|
847
|
-
NeighborExchangeV2 is a collective operation.
|
|
881
|
+
r"""
|
|
882
|
+
NeighborExchangeV2 is a collective communication operation.
|
|
848
883
|
|
|
849
|
-
NeighborExchangeV2 sends data from the local rank to ranks in the send_rank_ids
|
|
850
|
-
as while receive data from recv_rank_ids
|
|
884
|
+
NeighborExchangeV2 sends data from the local rank to ranks in the `send_rank_ids`,
|
|
885
|
+
as while receive data from `recv_rank_ids`. Please refer to
|
|
886
|
+
`Distributed Set Communication Primitives - NeighborExchangeV2 \
|
|
887
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/communicate_ops.html#neighborexchangev2>`_
|
|
888
|
+
to learn about how the data is exchanged between neighborhood devices.
|
|
851
889
|
|
|
852
890
|
Note:
|
|
853
|
-
The user needs to preset
|
|
854
|
-
communication environment variables before running the following example, please check the details on the
|
|
855
|
-
official website of `Communication Operator API \
|
|
856
|
-
<https://www.mindspore.cn/docs/en/r1.10/api_python/mindspore.ops.html#communication-operator>`_.
|
|
857
|
-
|
|
858
891
|
This operator requires a full-mesh network topology, each device has the same vlan id, and the ip & mask are
|
|
859
|
-
in the same subnet, please check the `
|
|
860
|
-
<https://www.mindspore.cn/tutorials/experts/
|
|
892
|
+
in the same subnet, please check the `details \
|
|
893
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/communicate_ops.html#notes>`_.
|
|
861
894
|
|
|
862
895
|
Args:
|
|
863
896
|
send_rank_ids (list(int)): Ranks which the data is sent to. 8 rank_ids represents 8 directions, if one
|
|
@@ -865,17 +898,44 @@ class NeighborExchangeV2(Primitive):
|
|
|
865
898
|
recv_rank_ids (list(int)): Ranks which the data is received from. 8 rank_ids represents 8 directions,
|
|
866
899
|
if one direction is not recv from , set it -1.
|
|
867
900
|
send_lens (list(int)): Data lens which send to the send_rank_ids, 4 numbers represent the lens of
|
|
868
|
-
[
|
|
901
|
+
[send_top, send_bottom, send_left, send_right].
|
|
869
902
|
recv_lens (list(int)): Data lens which received from recv_rank_ids, 4 numbers represent the lens of
|
|
870
|
-
[
|
|
903
|
+
[recv_top, recv_bottom, recv_left, recv_right].
|
|
871
904
|
data_format (str): Data format, only support NCHW now.
|
|
872
|
-
group (str): The communication group to work on. Default: "GlobalComm.WORLD_COMM_GROUP"
|
|
905
|
+
group (str, optional): The communication group to work on. Default: "GlobalComm.WORLD_COMM_GROUP", which means
|
|
906
|
+
"hccl_world_group" in Ascend, and "nccl_world_group" in GPU.
|
|
907
|
+
|
|
908
|
+
Inputs:
|
|
909
|
+
- **input_x** (Tensor) - The Tensor before being exchanged. It has a shape of :math:`(N, C, H, W)`.
|
|
910
|
+
|
|
911
|
+
Outputs:
|
|
912
|
+
The Tensor after being exchanged. If input shape is :math:`(N, C, H, W)`, output shape is
|
|
913
|
+
:math:`(N, C, H+recv\_top+recv\_bottom, W+recv\_left+recv\_right)`.
|
|
914
|
+
|
|
915
|
+
Raises:
|
|
916
|
+
TypeError: If `group` is not a string or any one of `send_rank_ids`,
|
|
917
|
+
`recv_rank_ids`, `send_lens`, `recv_lens` is not a list.
|
|
918
|
+
ValueError: If `send_rank_ids` or `recv_rank_ids` has value less than -1 or has repeated values.
|
|
919
|
+
ValueError: If `send_lens`, `recv_lens` has value less than 0.
|
|
920
|
+
ValueError: If `data_format` is not "NCHW".
|
|
873
921
|
|
|
874
922
|
Supported Platforms:
|
|
875
923
|
``Ascend``
|
|
876
924
|
|
|
877
|
-
|
|
878
|
-
|
|
925
|
+
Examples:
|
|
926
|
+
.. note::
|
|
927
|
+
Before running the following examples, you need to configure the communication environment variables.
|
|
928
|
+
|
|
929
|
+
For the Ascend devices, users need to prepare the rank table, set rank_id and device_id.
|
|
930
|
+
Please see the `Ascend tutorial
|
|
931
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_ascend.html#preparations>`_
|
|
932
|
+
for more details.
|
|
933
|
+
|
|
934
|
+
For the GPU devices, users need to prepare the host file and mpi, please see the `GPU tutorial
|
|
935
|
+
<https://www.mindspore.cn/tutorials/experts/en/r2.0/parallel/train_gpu.html#preparation>`_ .
|
|
936
|
+
|
|
937
|
+
This example should be run with 2 devices.
|
|
938
|
+
|
|
879
939
|
>>> import os
|
|
880
940
|
>>> import mindspore as ms
|
|
881
941
|
>>> from mindspore import Tensor
|
|
@@ -971,6 +1031,7 @@ class _MirrorMiniStepOperator(PrimitiveWithInfer):
|
|
|
971
1031
|
self.mean_flag = mean_flag
|
|
972
1032
|
self.grad_accumulation_step = grad_accumulation_step
|
|
973
1033
|
self.add_prim_attr('order_enforce_skip', True)
|
|
1034
|
+
self.add_prim_attr('side_effect_backprop_mem', True)
|
|
974
1035
|
|
|
975
1036
|
def infer_shape(self, x_shape, z_shape):
|
|
976
1037
|
return x_shape
|
|
@@ -1076,6 +1137,7 @@ class _VirtualAssignAdd(PrimitiveWithInfer):
|
|
|
1076
1137
|
def __init__(self):
|
|
1077
1138
|
"""Initialize _VirtualAssignAdd."""
|
|
1078
1139
|
self.add_prim_attr('order_enforce_skip', True)
|
|
1140
|
+
self.add_prim_attr('side_effect_backprop_mem', True)
|
|
1079
1141
|
|
|
1080
1142
|
def infer_shape(self, x_shape, y_shape):
|
|
1081
1143
|
return x_shape
|
|
@@ -1126,6 +1188,7 @@ class _MirrorMicroStepOperator(PrimitiveWithInfer):
|
|
|
1126
1188
|
self.dev_num = dev_num
|
|
1127
1189
|
self.mean_flag = mean_flag
|
|
1128
1190
|
self.add_prim_attr('order_enforce_skip', True)
|
|
1191
|
+
self.add_prim_attr('side_effect_backprop_mem', True)
|
|
1129
1192
|
|
|
1130
1193
|
def infer_shape(self, x_shape, z_shape):
|
|
1131
1194
|
return x_shape
|
|
@@ -14,8 +14,10 @@
|
|
|
14
14
|
# ============================================================================
|
|
15
15
|
|
|
16
16
|
"""control_ops"""
|
|
17
|
+
|
|
18
|
+
from __future__ import absolute_import
|
|
17
19
|
from mindspore.ops.primitive import PrimitiveWithInfer, prim_attr_register
|
|
18
|
-
from mindspore
|
|
20
|
+
from mindspore import _checkparam as validator
|
|
19
21
|
from mindspore.common import dtype as mstype
|
|
20
22
|
|
|
21
23
|
|
|
@@ -74,7 +76,7 @@ class GeSwitch(PrimitiveWithInfer):
|
|
|
74
76
|
raise NotImplementedError
|
|
75
77
|
|
|
76
78
|
def infer_shape(self, data, pred):
|
|
77
|
-
validator.check_int_range(len(pred), 0, 1,
|
|
79
|
+
validator.check_int_range(len(pred), 0, 1, validator.INC_BOTH, "pred rank", self.name)
|
|
78
80
|
return data, data
|
|
79
81
|
|
|
80
82
|
def infer_dtype(self, data_type, pred_type):
|