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
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
|
|
15
15
|
"""build tbe kernel"""
|
|
16
16
|
|
|
17
|
-
from __future__ import absolute_import
|
|
18
17
|
import os
|
|
19
18
|
import json
|
|
20
19
|
import functools
|
|
@@ -102,13 +101,10 @@ class TransShape:
|
|
|
102
101
|
from impl.add import _add_check_format, _infer_shape
|
|
103
102
|
format_pattern = _add_check_format({"shape": shapes[0], "format": formats[0]},
|
|
104
103
|
{"shape": shapes[1], "format": formats[1]})
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if
|
|
108
|
-
|
|
109
|
-
ori_shape1 = ori_shapes[1]
|
|
110
|
-
if ori_shape1 is None:
|
|
111
|
-
ori_shape1 = infer_ori_shape(shapes[1], formats[1], ori_formats[1])
|
|
104
|
+
ori_shape0 = ori_shapes[0] if ori_shapes[0] is not None else infer_ori_shape(
|
|
105
|
+
shapes[0], formats[0], ori_formats[0])
|
|
106
|
+
ori_shape1 = ori_shapes[1] if ori_shapes[1] is not None else infer_ori_shape(
|
|
107
|
+
shapes[1], formats[1], ori_formats[1])
|
|
112
108
|
new_shapes = [None, None]
|
|
113
109
|
new_shapes[0], new_shapes[1] = _infer_shape(format_pattern,
|
|
114
110
|
{"shape": shapes[0], "ori_shape": ori_shape0},
|
|
@@ -181,12 +177,16 @@ def get_inputs_name(input_desc):
|
|
|
181
177
|
return inputs_name
|
|
182
178
|
|
|
183
179
|
|
|
184
|
-
def
|
|
185
|
-
"""Get output tensor names."""
|
|
180
|
+
def get_outputs_info(output_desc):
|
|
181
|
+
"""Get output tensor names and inplace tensor names."""
|
|
186
182
|
outputs_name = []
|
|
183
|
+
inplace_names = {}
|
|
187
184
|
for item in output_desc:
|
|
188
|
-
|
|
189
|
-
|
|
185
|
+
out_name = item["tensor_name"]
|
|
186
|
+
outputs_name.append(out_name)
|
|
187
|
+
if isinstance(item.get("inplace_to"), str):
|
|
188
|
+
inplace_names[out_name] = item["inplace_to"]
|
|
189
|
+
return outputs_name, inplace_names
|
|
190
190
|
|
|
191
191
|
|
|
192
192
|
def get_all_op_name(op_desc):
|
|
@@ -222,19 +222,20 @@ def get_inputs_tensor(input_desc, all_tensors):
|
|
|
222
222
|
return inputs
|
|
223
223
|
|
|
224
224
|
|
|
225
|
-
def
|
|
226
|
-
"""
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
attrs = {}
|
|
230
|
-
if not isinstance(attr_desc, list):
|
|
231
|
-
return attrs
|
|
232
|
-
for attr in attr_desc:
|
|
233
|
-
attrs[attr["name"]] = attr["value"]
|
|
225
|
+
def get_attr_dict(attr_desc):
|
|
226
|
+
"""Parse attr_desc to dict."""
|
|
227
|
+
attrs = {}
|
|
228
|
+
if not isinstance(attr_desc, list):
|
|
234
229
|
return attrs
|
|
230
|
+
for attr in attr_desc:
|
|
231
|
+
attrs[attr["name"]] = attr["value"]
|
|
232
|
+
return attrs
|
|
233
|
+
|
|
235
234
|
|
|
235
|
+
def get_op_attrs(op, fusion_op_name):
|
|
236
|
+
"""Get op attrs."""
|
|
236
237
|
op_name = op["name"]
|
|
237
|
-
op_attrs =
|
|
238
|
+
op_attrs = get_attr_dict(op.get("attr"))
|
|
238
239
|
if op_name == "BatchMatMul":
|
|
239
240
|
op_attrs["dst_type"] = op["output_desc"][0]["data_type"]
|
|
240
241
|
op_attrs["dst_ori_shape"] = op["output_desc"][0].get("ori_shape")
|
|
@@ -318,7 +319,7 @@ def create_fusion_op_name(op_names):
|
|
|
318
319
|
fusion_op_name = "te_fusion" if len(op_names) > 1 else ""
|
|
319
320
|
for op_name in op_names:
|
|
320
321
|
kernel_name = get_op_reg_info(op_name, "kernel_name")
|
|
321
|
-
fusion_op_name = "
|
|
322
|
+
fusion_op_name = fusion_op_name + "_" + kernel_name
|
|
322
323
|
return fusion_op_name
|
|
323
324
|
|
|
324
325
|
|
|
@@ -347,12 +348,101 @@ def update_format(json_dict):
|
|
|
347
348
|
_update_output_format(op["output_desc"])
|
|
348
349
|
|
|
349
350
|
|
|
350
|
-
def
|
|
351
|
+
def gen_args_remap(orig_inputs_name, orig_outputs_name, inputs_name, outputs_name, inplace_names):
|
|
352
|
+
"""Generate the final kernel args indices."""
|
|
353
|
+
input_indices = []
|
|
354
|
+
output_indices = []
|
|
355
|
+
ni = len(orig_inputs_name)
|
|
356
|
+
for _, name in enumerate(inputs_name):
|
|
357
|
+
if name not in orig_inputs_name:
|
|
358
|
+
raise ValueError("Current input name [{}] can not be found in original input names list: {}"
|
|
359
|
+
.format(name, orig_inputs_name))
|
|
360
|
+
input_indices.append(orig_inputs_name.index(name))
|
|
361
|
+
for _, name in enumerate(outputs_name):
|
|
362
|
+
if name in orig_outputs_name:
|
|
363
|
+
output_indices.append(ni + orig_outputs_name.index(name))
|
|
364
|
+
elif name in inplace_names and inplace_names[name] in orig_inputs_name:
|
|
365
|
+
output_indices.append(orig_inputs_name.index(inplace_names[name]))
|
|
366
|
+
else:
|
|
367
|
+
raise ValueError("Current output name [{}] can not be found in original output names list: {}, and it not "
|
|
368
|
+
"inplace to an input tensor".format(name, orig_outputs_name))
|
|
369
|
+
return input_indices, output_indices
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
def update_json(json_dict, inputs_name, outputs_name, inplace_names, kernel_meta_parent_dir):
|
|
373
|
+
"""update kernel json."""
|
|
374
|
+
|
|
375
|
+
def _get_tensor_name(idx):
|
|
376
|
+
if idx < len(input_indices):
|
|
377
|
+
orig_idx = input_indices[idx]
|
|
378
|
+
elif idx - len(input_indices) < len(output_indices):
|
|
379
|
+
orig_idx = output_indices[idx - len(input_indices)]
|
|
380
|
+
else:
|
|
381
|
+
raise ValueError("parameters index >= the sum of input and output tensor numbers: {} vs {}"
|
|
382
|
+
.format(idx, len(input_indices) + len(output_indices)))
|
|
383
|
+
if orig_idx < len(orig_input_names):
|
|
384
|
+
return orig_input_names[orig_idx]
|
|
385
|
+
if orig_idx - len(orig_input_names) >= len(orig_output_names):
|
|
386
|
+
raise ValueError("parameters index [{}]'s original index >= the sum of original input and original output"
|
|
387
|
+
"tensor numbers: {} vs {}"
|
|
388
|
+
.format(idx, orig_idx, len(orig_input_names) + len(orig_output_names)))
|
|
389
|
+
return orig_output_names[orig_idx - len(orig_input_names)]
|
|
390
|
+
|
|
391
|
+
def _update_parameters(cur_parameters):
|
|
392
|
+
atomic_tensors = set()
|
|
393
|
+
for i, p in enumerate(cur_parameters):
|
|
394
|
+
if p == 0:
|
|
395
|
+
continue
|
|
396
|
+
orig_tensor_name = _get_tensor_name(i)
|
|
397
|
+
if orig_tensor_name not in orig_input_names:
|
|
398
|
+
atomic_tensors.add(orig_tensor_name)
|
|
399
|
+
res = [0] * len(orig_input_names)
|
|
400
|
+
for _, name in enumerate(orig_output_names):
|
|
401
|
+
p = 1 if name in atomic_tensors else 0
|
|
402
|
+
res.append(p)
|
|
403
|
+
return res
|
|
404
|
+
|
|
405
|
+
def _save_json():
|
|
406
|
+
# remove original .json
|
|
407
|
+
try:
|
|
408
|
+
os.remove(json_path)
|
|
409
|
+
except OSError:
|
|
410
|
+
pass
|
|
411
|
+
# generate new .json
|
|
412
|
+
try:
|
|
413
|
+
with os.fdopen(os.open(json_path, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o660), 'w') as fi:
|
|
414
|
+
json.dump(json_dict, fi, sort_keys=True, indent=4, separators=(',', ':'))
|
|
415
|
+
except OSError:
|
|
416
|
+
pass
|
|
417
|
+
|
|
418
|
+
global_attrs = get_attr_dict(json_dict.get("global_attrs", []))
|
|
419
|
+
orig_input_names = global_attrs.get("orig_input_names", [])
|
|
420
|
+
orig_output_names = global_attrs.get("orig_output_names", [])
|
|
421
|
+
input_indices, output_indices = gen_args_remap(orig_input_names, orig_output_names,
|
|
422
|
+
inputs_name, outputs_name, inplace_names)
|
|
423
|
+
json_name = json_dict.get("op") + ".json"
|
|
424
|
+
json_path = os.path.join(os.path.realpath(kernel_meta_parent_dir), "kernel_meta", json_name)
|
|
425
|
+
if os.path.isfile(json_path):
|
|
426
|
+
with open(json_path, "r") as f:
|
|
427
|
+
json_dict = json.loads(f.read())
|
|
428
|
+
# Save args_remap to .json: use this information to fetch the correct address during kernel launch
|
|
429
|
+
json_dict["args_remap"] = [input_indices, output_indices]
|
|
430
|
+
# Update parameters: current parameters is relative to current info(the composite optimized info) whose input
|
|
431
|
+
# and output tensors may be different from the original info, however, the frame can only see the original
|
|
432
|
+
# info's input and output tensors, so we need to generate a new parameters which is relative to original info.
|
|
433
|
+
parameters = json_dict.get("parameters", [])
|
|
434
|
+
new_parameters = _update_parameters(parameters)
|
|
435
|
+
json_dict["parameters"] = new_parameters
|
|
436
|
+
# Save the updated json
|
|
437
|
+
_save_json()
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
def build(json_str, kernel_meta_parent_dir):
|
|
351
441
|
"""Build kernel."""
|
|
352
442
|
json_dict = json.loads(json_str)
|
|
353
443
|
update_format(json_dict)
|
|
354
444
|
inputs_name = get_inputs_name(json_dict.get("input_desc", []))
|
|
355
|
-
outputs_name =
|
|
445
|
+
outputs_name, inplace_names = get_outputs_info(json_dict["output_desc"])
|
|
356
446
|
op_names = get_all_op_name(json_dict["op_desc"])
|
|
357
447
|
fusion_op_name = create_fusion_op_name(op_names)
|
|
358
448
|
|
|
@@ -399,9 +489,12 @@ def build(json_str):
|
|
|
399
489
|
update_config(config, op_names)
|
|
400
490
|
tbe_build(sch, config)
|
|
401
491
|
|
|
492
|
+
if inplace_names:
|
|
493
|
+
update_json(json_dict, inputs_name, outputs_name, inplace_names, kernel_meta_parent_dir)
|
|
494
|
+
|
|
402
495
|
|
|
403
496
|
def build_tbe_kernel(json_str, kernel_meta_parent_dir):
|
|
404
497
|
"""Build TBE kernel."""
|
|
405
498
|
initialize(kernel_meta_parent_dir)
|
|
406
499
|
with build_config(kernel_meta_parent_dir=kernel_meta_parent_dir):
|
|
407
|
-
build(json_str)
|
|
500
|
+
build(json_str, kernel_meta_parent_dir)
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ============================================================================
|
|
15
15
|
"""tbe topi"""
|
|
16
|
-
from __future__ import absolute_import
|
|
17
16
|
import math
|
|
18
17
|
import functools
|
|
19
18
|
from enum import Enum
|
|
20
19
|
|
|
21
20
|
|
|
22
21
|
class OpPattern(Enum):
|
|
23
|
-
"""
|
|
22
|
+
"""Pattern of operator."""
|
|
23
|
+
|
|
24
24
|
ELEMWISE = "ELEMWISE"
|
|
25
25
|
BROADCAST = "BROADCAST"
|
|
26
26
|
REDUCE = "REDUCE"
|
|
@@ -60,24 +60,24 @@ def get_op_reg_info(op_name, key, strict=True):
|
|
|
60
60
|
|
|
61
61
|
def _broadcast(lhs, rhs):
|
|
62
62
|
"""Broadcast inputs."""
|
|
63
|
-
|
|
64
|
-
from
|
|
65
|
-
|
|
66
|
-
if isinstance(lhs, tvm.
|
|
67
|
-
return lhs, tbe.broadcast(rhs, lhs.shape)
|
|
68
|
-
if isinstance(lhs, tvm.expr.ConstExpr) and isinstance(rhs, tvm.
|
|
69
|
-
return tbe.broadcast(lhs, rhs.shape), rhs
|
|
63
|
+
import tbe
|
|
64
|
+
from tbe import tvm
|
|
65
|
+
from tbe.common.utils import shape_to_list, broadcast_shapes
|
|
66
|
+
if isinstance(lhs, tvm.Tensor) and isinstance(rhs, tvm.expr.ConstExpr):
|
|
67
|
+
return lhs, tbe.dsl.broadcast(rhs, lhs.shape)
|
|
68
|
+
if isinstance(lhs, tvm.expr.ConstExpr) and isinstance(rhs, tvm.Tensor):
|
|
69
|
+
return tbe.dsl.broadcast(lhs, rhs.shape), rhs
|
|
70
70
|
if isinstance(lhs, tvm.expr.ConstExpr) and isinstance(rhs, tvm.expr.ConstExpr):
|
|
71
71
|
shape = [1]
|
|
72
|
-
return tbe.broadcast(lhs, shape), tbe.broadcast(rhs, shape)
|
|
73
|
-
if isinstance(lhs, tvm.
|
|
74
|
-
shape1 =
|
|
75
|
-
shape2 =
|
|
72
|
+
return tbe.dsl.broadcast(lhs, shape), tbe.dsl.broadcast(rhs, shape)
|
|
73
|
+
if isinstance(lhs, tvm.Tensor) and isinstance(rhs, tvm.Tensor):
|
|
74
|
+
shape1 = shape_to_list(lhs.shape)
|
|
75
|
+
shape2 = shape_to_list(rhs.shape)
|
|
76
76
|
if shape1 != shape2:
|
|
77
|
-
_, _, shape =
|
|
78
|
-
return tbe.broadcast(lhs, shape), tbe.broadcast(rhs, shape)
|
|
77
|
+
_, _, shape = broadcast_shapes(shape1, shape2, param_name_input1="lhs", param_name_input2="rhs")
|
|
78
|
+
return tbe.dsl.broadcast(lhs, shape), tbe.dsl.broadcast(rhs, shape)
|
|
79
79
|
return lhs, rhs
|
|
80
|
-
raise TypeError("Broadcast only supports tvm.
|
|
80
|
+
raise TypeError("Broadcast only supports tvm.Tensor or tvm.expr.ConstExpr, but got {}, {}"
|
|
81
81
|
.format(type(lhs), type(rhs)))
|
|
82
82
|
|
|
83
83
|
|
|
@@ -105,13 +105,13 @@ def _acosh(x, attrs=None):
|
|
|
105
105
|
@reg_op("Add", pattern=OpPattern.ELEMWISE)
|
|
106
106
|
def _add(x0, x1, attrs=None):
|
|
107
107
|
"""Add"""
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
import tbe
|
|
109
|
+
from tbe import tvm
|
|
110
110
|
is_float = x0.dtype in ["float16", "float32"]
|
|
111
|
-
if is_float and isinstance(x0, tvm.
|
|
112
|
-
return tbe.vadds(x0, x1)
|
|
113
|
-
if is_float and isinstance(x0, tvm.expr.ConstExpr) and isinstance(x1, tvm.
|
|
114
|
-
return tbe.vadds(x1, x0)
|
|
111
|
+
if is_float and isinstance(x0, tvm.Tensor) and isinstance(x1, tvm.expr.ConstExpr):
|
|
112
|
+
return tbe.dsl.vadds(x0, x1)
|
|
113
|
+
if is_float and isinstance(x0, tvm.expr.ConstExpr) and isinstance(x1, tvm.Tensor):
|
|
114
|
+
return tbe.dsl.vadds(x1, x0)
|
|
115
115
|
x0, x1 = _broadcast(x0, x1)
|
|
116
116
|
from impl.add import add_compute
|
|
117
117
|
return add_compute(x0, x1, None, kernel_name=attrs["fusion_op_name"])
|
|
@@ -151,7 +151,7 @@ def _cast(x, attrs=None):
|
|
|
151
151
|
src_type = x.dtype
|
|
152
152
|
dst_type = attrs["dst_type"]
|
|
153
153
|
if src_type == "int64":
|
|
154
|
-
from
|
|
154
|
+
from tbe import tvm
|
|
155
155
|
from impl.cast import _kernel_ir
|
|
156
156
|
res = tvm.extern([x.shape], [x], lambda ins, outs: _kernel_ir(outs, ins, dst_type, "int64"), name="res",
|
|
157
157
|
dtype=dst_type)
|
|
@@ -340,13 +340,13 @@ def _mod(x0, x1, attrs=None):
|
|
|
340
340
|
@reg_op("Mul", pattern=OpPattern.ELEMWISE)
|
|
341
341
|
def _mul(x0, x1, attrs=None):
|
|
342
342
|
"""Mul"""
|
|
343
|
-
|
|
344
|
-
|
|
343
|
+
import tbe
|
|
344
|
+
from tbe import tvm
|
|
345
345
|
is_float = x0.dtype in ["float16", "float32"]
|
|
346
|
-
if is_float and isinstance(x0, tvm.
|
|
347
|
-
return tbe.vmuls(x0, x1)
|
|
348
|
-
if is_float and isinstance(x0, tvm.expr.ConstExpr) and isinstance(x1, tvm.
|
|
349
|
-
return tbe.vmuls(x1, x0)
|
|
346
|
+
if is_float and isinstance(x0, tvm.Tensor) and isinstance(x1, tvm.expr.ConstExpr):
|
|
347
|
+
return tbe.dsl.vmuls(x0, x1)
|
|
348
|
+
if is_float and isinstance(x0, tvm.expr.ConstExpr) and isinstance(x1, tvm.Tensor):
|
|
349
|
+
return tbe.dsl.vmuls(x1, x0)
|
|
350
350
|
x0, x1 = _broadcast(x0, x1)
|
|
351
351
|
from impl.mul import mul_compute
|
|
352
352
|
return mul_compute(x0, x1, None, kernel_name=attrs["fusion_op_name"])
|
|
@@ -378,10 +378,10 @@ def _pow(x0, x1, attrs=None):
|
|
|
378
378
|
@reg_op("RealDiv", "real_div", OpPattern.ELEMWISE)
|
|
379
379
|
def _realdiv(x0, x1, attrs=None):
|
|
380
380
|
"""RealDiv"""
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
if x0.dtype in ["float16", "float32"] and isinstance(x0, tvm.
|
|
384
|
-
return tbe.vmuls(x0, tvm.const(1.0 / x1.value, x0.dtype))
|
|
381
|
+
import tbe
|
|
382
|
+
from tbe import tvm
|
|
383
|
+
if x0.dtype in ["float16", "float32"] and isinstance(x0, tvm.Tensor) and isinstance(x1, tvm.expr.ConstExpr):
|
|
384
|
+
return tbe.dsl.vmuls(x0, tvm.const(1.0 / x1.value, x0.dtype))
|
|
385
385
|
x0, x1 = _broadcast(x0, x1)
|
|
386
386
|
from impl.real_div import real_div_compute
|
|
387
387
|
return real_div_compute(x0, x1, None, kernel_name=attrs["fusion_op_name"])
|
|
@@ -439,14 +439,14 @@ def _square(x, attrs=None):
|
|
|
439
439
|
@reg_op("Sub", pattern=OpPattern.ELEMWISE)
|
|
440
440
|
def _sub(x0, x1, attrs=None):
|
|
441
441
|
"""Sub"""
|
|
442
|
-
|
|
443
|
-
|
|
442
|
+
import tbe
|
|
443
|
+
from tbe import tvm
|
|
444
444
|
is_float = x0.dtype in ["float16", "float32"]
|
|
445
|
-
if is_float and isinstance(x0, tvm.
|
|
446
|
-
return tbe.vadds(x0, tvm.const(-1.0 * x1.value, x0.dtype))
|
|
447
|
-
if is_float and isinstance(x0, tvm.expr.ConstExpr) and isinstance(x1, tvm.
|
|
448
|
-
tmp = tbe.vmuls(x1, tvm.const(-1, x1.dtype))
|
|
449
|
-
return tbe.vadds(tmp, tvm.const(x0.value, x0.dtype))
|
|
445
|
+
if is_float and isinstance(x0, tvm.Tensor) and isinstance(x1, tvm.expr.ConstExpr):
|
|
446
|
+
return tbe.dsl.vadds(x0, tvm.const(-1.0 * x1.value, x0.dtype))
|
|
447
|
+
if is_float and isinstance(x0, tvm.expr.ConstExpr) and isinstance(x1, tvm.Tensor):
|
|
448
|
+
tmp = tbe.dsl.vmuls(x1, tvm.const(-1, x1.dtype))
|
|
449
|
+
return tbe.dsl.vadds(tmp, tvm.const(x0.value, x0.dtype))
|
|
450
450
|
x0, x1 = _broadcast(x0, x1)
|
|
451
451
|
from impl.sub import sub_compute
|
|
452
452
|
return sub_compute(x0, x1, None, kernel_name=attrs["fusion_op_name"])
|
|
@@ -462,26 +462,26 @@ def _tanh(x, attrs=None):
|
|
|
462
462
|
@reg_op("BroadcastTo", "broadcast", OpPattern.BROADCAST)
|
|
463
463
|
def _broadcast_to(x, attrs=None):
|
|
464
464
|
"""BroadcastTo"""
|
|
465
|
-
|
|
466
|
-
|
|
465
|
+
import tbe
|
|
466
|
+
from tbe import tvm
|
|
467
467
|
shape = attrs["shape"]
|
|
468
|
-
if isinstance(x, tvm.
|
|
468
|
+
if isinstance(x, tvm.Tensor):
|
|
469
469
|
from impl.broadcast_to_d import broadcast_to_compute
|
|
470
470
|
return broadcast_to_compute(x, None, shape, kernel_name=attrs["fusion_op_name"])
|
|
471
|
-
return tbe.broadcast(x, shape, x.dtype)
|
|
471
|
+
return tbe.dsl.broadcast(x, shape, x.dtype)
|
|
472
472
|
|
|
473
473
|
|
|
474
474
|
@reg_op("ReduceSum", "reduce_sum", OpPattern.REDUCE)
|
|
475
475
|
def _reduce_sum(x, attrs=None):
|
|
476
476
|
"""ReduceSum"""
|
|
477
|
-
from
|
|
477
|
+
from tbe.common.utils import axis_check
|
|
478
478
|
axis = attrs["axis"]
|
|
479
479
|
keep_dims = attrs["keep_dims"]
|
|
480
480
|
if not axis:
|
|
481
481
|
axis = [i for i in range(len(x.shape))]
|
|
482
482
|
if not isinstance(axis, list):
|
|
483
483
|
axis = [axis]
|
|
484
|
-
axis =
|
|
484
|
+
axis = axis_check(len(x.shape), axis)
|
|
485
485
|
from impl.reduce_sum_d import reduce_sum_d_compute
|
|
486
486
|
return reduce_sum_d_compute(x, None, axis, keep_dims, kernel_name=attrs["fusion_op_name"])
|
|
487
487
|
|
|
@@ -489,14 +489,14 @@ def _reduce_sum(x, attrs=None):
|
|
|
489
489
|
@reg_op("ReduceMax", "reduce_max", OpPattern.REDUCE)
|
|
490
490
|
def _reduce_max(x, attrs=None):
|
|
491
491
|
"""ReduceMax"""
|
|
492
|
-
from
|
|
492
|
+
from tbe.common.utils import axis_check
|
|
493
493
|
axis = attrs["axis"]
|
|
494
494
|
keep_dims = attrs["keep_dims"]
|
|
495
495
|
if not axis:
|
|
496
496
|
axis = [i for i in range(len(x.shape))]
|
|
497
497
|
if not isinstance(axis, list):
|
|
498
498
|
axis = [axis]
|
|
499
|
-
axis =
|
|
499
|
+
axis = axis_check(len(x.shape), axis)
|
|
500
500
|
from impl.reduce_max_d import reduce_max_d_compute
|
|
501
501
|
return reduce_max_d_compute(x, None, axis, keep_dims, kernel_name=attrs["fusion_op_name"])
|
|
502
502
|
|
|
@@ -504,14 +504,14 @@ def _reduce_max(x, attrs=None):
|
|
|
504
504
|
@reg_op("ReduceMin", "reduce_min", OpPattern.REDUCE)
|
|
505
505
|
def _reduce_min(x, attrs=None):
|
|
506
506
|
"""ReduceMin"""
|
|
507
|
-
from
|
|
507
|
+
from tbe.common.utils import axis_check
|
|
508
508
|
axis = attrs["axis"]
|
|
509
509
|
keep_dims = attrs["keep_dims"]
|
|
510
510
|
if not axis:
|
|
511
511
|
axis = [i for i in range(len(x.shape))]
|
|
512
512
|
if not isinstance(axis, list):
|
|
513
513
|
axis = [axis]
|
|
514
|
-
axis =
|
|
514
|
+
axis = axis_check(len(x.shape), axis)
|
|
515
515
|
from impl.reduce_min_d import reduce_min_d_compute
|
|
516
516
|
return reduce_min_d_compute(x, None, axis, keep_dims, kernel_name=attrs["fusion_op_name"])
|
|
517
517
|
|
|
@@ -58,14 +58,19 @@ def print_compile_log(compile_log):
|
|
|
58
58
|
logger.info(log)
|
|
59
59
|
|
|
60
60
|
|
|
61
|
-
def get_kernel_meta_parent_dir():
|
|
61
|
+
def get_kernel_meta_parent_dir(attrs):
|
|
62
62
|
"""Get kernel_meta parent dir."""
|
|
63
|
-
|
|
63
|
+
attrs_dict = {}
|
|
64
|
+
if isinstance(attrs, str):
|
|
65
|
+
attrs_dict = json.loads(attrs)
|
|
66
|
+
elif isinstance(attrs, dict):
|
|
67
|
+
attrs_dict = attrs
|
|
68
|
+
return os.path.realpath(attrs_dict.get("compile_cache"))
|
|
64
69
|
|
|
65
70
|
|
|
66
|
-
def get_ascend_compile_dirs():
|
|
71
|
+
def get_ascend_compile_dirs(attrs):
|
|
67
72
|
"""Get several Ascend compile dirs."""
|
|
68
|
-
kernel_meta_dir = os.path.join(get_kernel_meta_parent_dir(), "akg_kernel_meta")
|
|
73
|
+
kernel_meta_dir = os.path.join(get_kernel_meta_parent_dir(attrs), "akg_kernel_meta")
|
|
69
74
|
compile_dirs = {"kernel_meta_dir": kernel_meta_dir,
|
|
70
75
|
"akg_compile_dir": os.path.join(kernel_meta_dir, "akg"),
|
|
71
76
|
"tbe_compile_dir": os.path.join(kernel_meta_dir, "tbe"),
|
|
@@ -142,8 +147,6 @@ def check_tbe_support(json_desc):
|
|
|
142
147
|
|
|
143
148
|
for op in json_desc["op_desc"]:
|
|
144
149
|
op_name = op["name"]
|
|
145
|
-
if op_name == "Reshape":
|
|
146
|
-
continue
|
|
147
150
|
if not get_op_reg_info(op_name, "func", False):
|
|
148
151
|
logger.info("TBE op not registered: {}".format(op_name))
|
|
149
152
|
return False
|
|
@@ -25,7 +25,7 @@ from tbe.common.rl_bank.bank_manager import set_current_op_name
|
|
|
25
25
|
from tbe.common.repository_manager.interface import cann_kb_finalize, cann_kb_init
|
|
26
26
|
from te.platform.cce_conf import te_set_version
|
|
27
27
|
from te.platform.cce_policy import set_L1_info
|
|
28
|
-
from te_fusion.compile_task_manager import dispatch_prebuild_task, dispatch_single_op_compile_task,
|
|
28
|
+
from te_fusion.compile_task_manager import dispatch_prebuild_task, dispatch_single_op_compile_task, \
|
|
29
29
|
dispatch_fusion_op_compile_task, dispatch_autotune_task, sync_op_tune_params
|
|
30
30
|
from te_fusion.compile_task_manager import sync_syspath
|
|
31
31
|
from te_fusion.fusion_manager import call_op_func, clear_fusion_params, check_op_impl_mode, \
|
|
@@ -310,10 +310,10 @@ def check_support(job: TbeJob):
|
|
|
310
310
|
if op_func_name in ("resize_nearest_neighbor_v2_grad_d", "resize_bilinear_v2_grad"):
|
|
311
311
|
attrs.pop(-2)
|
|
312
312
|
op_module_name = get_module_name(compute_op_info)
|
|
313
|
-
|
|
314
|
-
_normalize_module_name(op_module_name, py_module_path)
|
|
313
|
+
_normalize_module_name(op_module_name, compute_op_info["py_module_path"])
|
|
315
314
|
func_name = "check_supported"
|
|
316
|
-
|
|
315
|
+
op_type = compute_op_info["type"]
|
|
316
|
+
res = call_op_func((inputs, outputs, attrs), op_module_name, func_name, op_type, "high_performance")
|
|
317
317
|
if isinstance(res, tuple):
|
|
318
318
|
result, reason = res
|
|
319
319
|
result_str = str(result)
|
|
@@ -497,27 +497,6 @@ def before_build_process(job: TbeJob):
|
|
|
497
497
|
dump_fusion_json(json.dumps(job.content), job.sys_tune_dump_path)
|
|
498
498
|
|
|
499
499
|
|
|
500
|
-
def sync_fusion_env(fusion_need_sync, module_list):
|
|
501
|
-
"""
|
|
502
|
-
Sync fusion env
|
|
503
|
-
:param fusion_need_sync:
|
|
504
|
-
:param module_list:
|
|
505
|
-
:return:
|
|
506
|
-
"""
|
|
507
|
-
if fusion_need_sync == 0:
|
|
508
|
-
return True
|
|
509
|
-
|
|
510
|
-
module_using = []
|
|
511
|
-
for key, value in module_list.items():
|
|
512
|
-
if value > 0:
|
|
513
|
-
module_using.append(str(key))
|
|
514
|
-
module_list[key] = 0
|
|
515
|
-
|
|
516
|
-
module_str = ",".join(module_using)
|
|
517
|
-
import_py_module(module_str)
|
|
518
|
-
return True
|
|
519
|
-
|
|
520
|
-
|
|
521
500
|
def parallel_compile_fusion_op(job: TbeJob):
|
|
522
501
|
"""
|
|
523
502
|
Compile fusion op in parallel compiler
|
|
@@ -143,10 +143,12 @@ def get_soc_info(initialize_job_info):
|
|
|
143
143
|
soc_param = dict()
|
|
144
144
|
soc_param["op_impl_mode"] = initialize_job_info["SocInfo"]["op_impl_mode"]
|
|
145
145
|
soc_param["op_debug_level"] = reset_op_debug_level_in_soc_info(initialize_job_info["SocInfo"]["op_debug_level"])
|
|
146
|
+
soc_param["op_debug_config"] = initialize_job_info["SocInfo"]["op_debug_config"]
|
|
146
147
|
soc_param["op_impl_mode_list"] = initialize_job_info["SocInfo"]["op_impl_mode_list"]
|
|
147
148
|
soc_param["op_debug_dir"] = initialize_job_info["SocInfo"]["op_debug_dir"]
|
|
148
149
|
soc_param["vector_fp_ceiling"] = initialize_job_info["SocInfo"]["vector_fp_ceiling"]
|
|
149
150
|
soc_param['mdl_bank_path'] = initialize_job_info["SocInfo"]["mdl_bank_path"]
|
|
151
|
+
soc_param['te_version'] = initialize_job_info["SocInfo"]["te_version"]
|
|
150
152
|
soc_param['op_bank_path'] = initialize_job_info["SocInfo"]["op_bank_path"]
|
|
151
153
|
soc_param['kernel_meta_temp_dir'] = initialize_job_info["SocInfo"]["kernel_meta_temp_dir"]
|
|
152
154
|
|
|
@@ -247,7 +249,7 @@ def assemble_op_args(compute_op_info, is_single_op_build=False):
|
|
|
247
249
|
attrs = []
|
|
248
250
|
attrs_info = compute_op_info["attrs"] if "attrs" in compute_op_info.keys() else []
|
|
249
251
|
for item in attrs_info:
|
|
250
|
-
if item["valid"]
|
|
252
|
+
if item["valid"]:
|
|
251
253
|
attrs.append(item)
|
|
252
254
|
else:
|
|
253
255
|
attrs = compute_op_info["attr_desc"] if "attr_desc" in compute_op_info.keys() else []
|
|
@@ -285,15 +287,18 @@ def get_options_info(job_content):
|
|
|
285
287
|
options["l2Fusion"] = job_content["SocInfo"]["l2Fusion"]
|
|
286
288
|
options["l2Mode"] = job_content["SocInfo"]["l2Mode"]
|
|
287
289
|
options["op_debug_level"] = reset_op_debug_level_in_soc_info(job_content["SocInfo"]["op_debug_level"])
|
|
290
|
+
options["op_debug_config"] = job_content["SocInfo"]["op_debug_config"]
|
|
288
291
|
options["op_impl_mode"] = job_content["SocInfo"]["op_impl_mode"]
|
|
289
292
|
options["op_debug_dir"] = job_content["SocInfo"]["op_debug_dir"]
|
|
290
293
|
options["mdl_bank_path"] = job_content["SocInfo"]["mdl_bank_path"]
|
|
294
|
+
options["te_version"] = job_content["SocInfo"]["te_version"]
|
|
291
295
|
options["op_bank_path"] = job_content["SocInfo"]["op_bank_path"]
|
|
292
296
|
options["deviceId"] = job_content["SocInfo"]["deviceId"]
|
|
293
297
|
options["autoTilingMode"] = job_content["SocInfo"]["autoTilingMode"]
|
|
294
298
|
options["op_impl_mode_list"] = job_content["SocInfo"]["op_impl_mode_list"]
|
|
295
299
|
options["kernel_meta_temp_dir"] = job_content["SocInfo"]["kernel_meta_temp_dir"]
|
|
296
|
-
options["
|
|
300
|
+
options["deterministic"] = job_content["SocInfo"]["deterministic"]
|
|
301
|
+
options["status_check"] = job_content["SocInfo"]["status_check"]
|
|
297
302
|
return options
|
|
298
303
|
|
|
299
304
|
|
|
@@ -336,10 +341,10 @@ def get_module_name(compute_op_info):
|
|
|
336
341
|
:param compute_op_info:
|
|
337
342
|
:return:
|
|
338
343
|
"""
|
|
339
|
-
|
|
344
|
+
is_dynamic_impl = compute_op_info["is_dynamic_impl"]
|
|
340
345
|
unknown_shape = compute_op_info["unknown_shape"]
|
|
341
346
|
op_module_name = compute_op_info["module_name"]
|
|
342
|
-
if
|
|
347
|
+
if is_dynamic_impl or unknown_shape:
|
|
343
348
|
d = ".dynamic."
|
|
344
349
|
op_module_name = d.join((op_module_name.split(".")[0], op_module_name.split(".")[-1]))
|
|
345
350
|
return op_module_name
|
|
@@ -20,7 +20,7 @@ import traceback
|
|
|
20
20
|
from enum import Enum
|
|
21
21
|
|
|
22
22
|
from .tbe_adapter import tbe_initialize, get_auto_tune_support_op_list, tbe_finalize, check_support, select_op_format, \
|
|
23
|
-
parallel_pre_compile_op, do_fuzz_build_tbe_op, before_build_process, build_single_pre_op,
|
|
23
|
+
parallel_pre_compile_op, do_fuzz_build_tbe_op, before_build_process, build_single_pre_op, \
|
|
24
24
|
parallel_compile_fusion_op, rl_tune_single_op, rl_tune_fusion_op, ga_tune, get_finish_tasks, get_prebuild_output
|
|
25
25
|
from .tbe_helper import check_job_json, get_compute_op_list, get_func_names
|
|
26
26
|
from .tbe_job import TbeJob, JobStatus, JobType
|
|
@@ -169,7 +169,6 @@ class TbeJobManager:
|
|
|
169
169
|
if not res:
|
|
170
170
|
job.error("Process CheckSupport Job failed, job json string:{}".format(job.json_string))
|
|
171
171
|
return self.add_to_finished_jobs(job, JobStatus.JOB_FAILED)
|
|
172
|
-
self._update_imported_op_module(job)
|
|
173
172
|
return self.add_to_finished_jobs(job, JobStatus.JOB_SUCCESS)
|
|
174
173
|
|
|
175
174
|
def select_format_handler(self, job: TbeJob):
|
|
@@ -196,9 +195,6 @@ class TbeJobManager:
|
|
|
196
195
|
return self.single_op_compile(job)
|
|
197
196
|
|
|
198
197
|
before_build_process(job)
|
|
199
|
-
if self.fusion_need_sync:
|
|
200
|
-
sync_fusion_env(self.fusion_need_sync, self.imported_module)
|
|
201
|
-
self.fusion_need_sync = 0
|
|
202
198
|
res = parallel_compile_fusion_op(job)
|
|
203
199
|
if not res:
|
|
204
200
|
job.error("Parallel_compile_fusion_op Job failed, job json string:{}".format(job.json_string))
|
|
@@ -245,25 +241,17 @@ class TbeJobManager:
|
|
|
245
241
|
"Tune Job failed, tune type {}, job json string:{}".format(tune_mode, job.json_string))
|
|
246
242
|
return self.add_to_finished_jobs(job, JobStatus.JOB_FAILED)
|
|
247
243
|
else:
|
|
248
|
-
if self.fusion_need_sync:
|
|
249
|
-
sync_fusion_env(self.fusion_need_sync, self.imported_module)
|
|
250
|
-
self.fusion_need_sync = 0
|
|
251
244
|
res = ga_tune(job)
|
|
252
245
|
if not res:
|
|
253
246
|
job.error("ga tune Job failed, job json string:{}".format(job.json_string))
|
|
254
247
|
return self.compile_handler(job)
|
|
255
248
|
if job.status == JobStatus.JOB_RUNNING:
|
|
256
|
-
if tune_mode == TuneMode.RL_TUNE:
|
|
257
|
-
self._update_imported_op_module(job)
|
|
258
249
|
return self.add_to_running_jobs(job)
|
|
259
250
|
return self.add_to_finished_jobs(job, JobStatus.JOB_SUCCESS)
|
|
260
251
|
|
|
261
252
|
def fusion_op_tune(self, job: TbeJob):
|
|
262
253
|
"""Fusion operator tune"""
|
|
263
254
|
tune_mode = self._select_tune_mode(job)
|
|
264
|
-
if self.fusion_need_sync:
|
|
265
|
-
sync_fusion_env(self.fusion_need_sync, self.imported_module)
|
|
266
|
-
self.fusion_need_sync = 0
|
|
267
255
|
if tune_mode == TuneMode.RL_TUNE:
|
|
268
256
|
res = rl_tune_fusion_op(job)
|
|
269
257
|
else:
|
|
@@ -419,20 +407,6 @@ class TbeJobManager:
|
|
|
419
407
|
self.core_num = int(initialize_job.content["SocInfo"]["coreNum"])
|
|
420
408
|
self.op_bank_path = initialize_job.content["SocInfo"]["op_bank_path"]
|
|
421
409
|
|
|
422
|
-
def _update_imported_op_module(self, job):
|
|
423
|
-
"""
|
|
424
|
-
update imported op module info according to new job
|
|
425
|
-
:param job:
|
|
426
|
-
:return:
|
|
427
|
-
"""
|
|
428
|
-
compute_op_info = get_compute_op_list(job.content)[0]
|
|
429
|
-
op_module_name = compute_op_info["module_name"]
|
|
430
|
-
if op_module_name in self.imported_module.keys():
|
|
431
|
-
self.imported_module[op_module_name] = self.imported_module[op_module_name] + 1
|
|
432
|
-
else:
|
|
433
|
-
self.imported_module[op_module_name] = 1
|
|
434
|
-
self.fusion_need_sync = self.fusion_need_sync + 1
|
|
435
|
-
|
|
436
410
|
def _select_tune_mode(self, job):
|
|
437
411
|
"""
|
|
438
412
|
Select the corresponding tune mode according to op job content and job manager system info
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2020-
|
|
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.
|
|
@@ -26,7 +26,8 @@ from .parser import (Parser, create_instance, is_supported_create_instance_type,
|
|
|
26
26
|
convert_to_ms_tensor, get_object_description, get_class_attr_namespace_symbol, get_ms_class_name,
|
|
27
27
|
is_class_type, check_obj_bool, python_isinstance, ms_isinstance, convert_to_ms_csrtensor,
|
|
28
28
|
convert_to_ms_cootensor, convert_class_to_function, convert_cell_list_to_sequence, is_cell_list,
|
|
29
|
-
get_obj_from_sequence, get_type
|
|
29
|
+
get_obj_from_sequence, get_type, is_class_member_recursive, merge_global_params, get_global_params,
|
|
30
|
+
get_adapter_tensor_attr, get_local_variable, set_local_variable, get_obj_defined_from_obj_type)
|
|
30
31
|
|
|
31
32
|
__all__ = ['Parser', 'create_instance', 'is_supported_create_instance_type', 'generate_scope',
|
|
32
33
|
'get_bprop_method_of_class', 'get_class_instance_type', 'get_class_member_namespace_symbol',
|
|
@@ -37,4 +38,5 @@ __all__ = ['Parser', 'create_instance', 'is_supported_create_instance_type', 'ge
|
|
|
37
38
|
'convert_to_ms_tensor', 'get_object_description', 'get_class_attr_namespace_symbol', 'get_ms_class_name',
|
|
38
39
|
'is_class_type', 'check_obj_bool', 'python_isinstance', 'ms_isinstance', 'convert_to_ms_csrtensor',
|
|
39
40
|
'convert_to_ms_cootensor', 'convert_class_to_function', 'convert_cell_list_to_sequence', 'is_cell_list',
|
|
40
|
-
'get_obj_from_sequence', 'get_type'
|
|
41
|
+
'get_obj_from_sequence', 'get_type', 'is_class_member_recursive', 'get_adapter_tensor_attr',
|
|
42
|
+
'get_local_variable', 'set_local_variable', 'get_obj_defined_from_obj_type']
|