mindspore 2.0.0rc1__cp38-cp38-manylinux1_x86_64.whl → 2.2.0__cp38-cp38-manylinux1_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/Third_Party_Open_Source_Software_Notice +2 -2
- mindspore/__init__.py +5 -2
- mindspore/_akg/akg/build_module.py +5 -6
- mindspore/_akg/akg/composite/build_module.py +49 -16
- mindspore/_akg/akg/composite/split_stitch.py +10 -11
- mindspore/_akg/akg/config/repository.json +195 -0
- mindspore/_akg/akg/global_configs.py +5 -1
- mindspore/_akg/akg/ms/info_version_adapt.py +67 -1
- mindspore/_akg/akg/tvm/api.py +4 -3
- mindspore/_akg/akg/tvm/autotvm/__init__.py +1 -2
- mindspore/_akg/akg/tvm/autotvm/graph_tuner/base_graph_tuner.py +1 -5
- mindspore/_akg/akg/tvm/autotvm/measure/__init__.py +1 -1
- mindspore/_akg/akg/tvm/autotvm/measure/measure.py +1 -10
- mindspore/_akg/akg/tvm/autotvm/measure/measure_methods.py +1 -372
- mindspore/_akg/akg/tvm/build_module.py +16 -1
- mindspore/_akg/akg/tvm/contrib/graph_runtime.py +0 -53
- mindspore/_akg/akg/tvm/hybrid/parser.py +7 -6
- mindspore/_akg/akg/tvm/ir_builder.py +1 -1
- mindspore/_akg/akg/tvm/module.py +1 -2
- mindspore/_akg/akg/tvm/stmt.py +2 -2
- mindspore/_akg/akg/utils/composite_op_helper.py +9 -10
- mindspore/_akg/akg/utils/kernel_exec.py +58 -260
- mindspore/_akg/akg/utils/op_dsl.py +17 -1
- mindspore/_akg/akg/utils/result_analysis.py +4 -24
- mindspore/_akg/akg/utils/tbe_codegen_utils.py +198 -0
- mindspore/_c_dataengine.cpython-38-x86_64-linux-gnu.so +0 -0
- mindspore/_c_expression.cpython-38-x86_64-linux-gnu.so +0 -0
- mindspore/_c_mindrecord.cpython-38-x86_64-linux-gnu.so +0 -0
- mindspore/_check_jit_forbidden_api.py +5 -1
- mindspore/_checkparam.py +79 -62
- mindspore/_extends/graph_kernel/__init__.py +0 -1
- mindspore/_extends/graph_kernel/model/graph_split.py +2 -0
- mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
- mindspore/_extends/graph_kernel/splitter.py +1 -9
- mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +128 -21
- mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +2 -2
- mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +18 -13
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +13 -9
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
- mindspore/_extends/parse/__init__.py +19 -17
- mindspore/_extends/parse/namespace.py +7 -36
- mindspore/_extends/parse/parser.py +375 -189
- mindspore/_extends/parse/resources.py +36 -41
- mindspore/_extends/parse/standard_method.py +350 -245
- mindspore/_extends/parse/trope.py +2 -12
- mindspore/_extends/remote/kernel_build_server.py +24 -7
- mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
- mindspore/_install_custom.py +43 -0
- mindspore/_mindspore_offline_debug.cpython-38-x86_64-linux-gnu.so +0 -0
- mindspore/amp.py +85 -19
- mindspore/bin/cache_admin +0 -0
- mindspore/bin/cache_server +0 -0
- mindspore/boost/base.py +2 -2
- mindspore/boost/boost.py +27 -32
- mindspore/boost/boost_cell_wrapper.py +37 -13
- mindspore/boost/grad_accumulation.py +1 -1
- mindspore/boost/grad_freeze.py +34 -6
- mindspore/boost/group_loss_scale_manager.py +15 -14
- mindspore/boost/less_batch_normalization.py +28 -3
- mindspore/common/__init__.py +15 -11
- mindspore/common/_auto_dynamic.py +68 -0
- mindspore/common/_jit_fallback_utils.py +111 -0
- mindspore/common/_register_for_adapter.py +17 -5
- mindspore/common/_register_for_tensor.py +2 -2
- mindspore/common/_stub_tensor.py +18 -15
- mindspore/common/_utils.py +31 -7
- mindspore/common/api.py +269 -101
- mindspore/common/auto_dynamic_shape.py +498 -0
- mindspore/common/dtype.py +61 -21
- mindspore/common/dump.py +9 -7
- mindspore/common/initializer.py +106 -76
- mindspore/common/jit_config.py +35 -14
- mindspore/common/lazy_inline.py +187 -0
- mindspore/common/mindir_util.py +101 -0
- mindspore/common/mutable.py +10 -13
- mindspore/common/parameter.py +246 -55
- mindspore/common/seed.py +13 -7
- mindspore/common/sparse_tensor.py +29 -33
- mindspore/common/tensor.py +907 -251
- mindspore/communication/__init__.py +7 -4
- mindspore/communication/_comm_helper.py +84 -4
- mindspore/communication/management.py +160 -88
- mindspore/config/op_info.config +99 -75
- mindspore/config/super_bar_config.json +36 -4
- mindspore/context.py +526 -219
- mindspore/dataset/__init__.py +9 -46
- mindspore/dataset/audio/__init__.py +4 -19
- mindspore/dataset/audio/transforms.py +545 -233
- mindspore/dataset/audio/utils.py +21 -18
- mindspore/dataset/callback/ds_callback.py +42 -13
- mindspore/dataset/core/config.py +158 -100
- mindspore/dataset/core/validator_helpers.py +1 -63
- mindspore/dataset/debug/debug_hook.py +45 -13
- mindspore/dataset/debug/pre_defined_hook.py +5 -5
- mindspore/dataset/engine/__init__.py +0 -5
- mindspore/dataset/engine/cache_client.py +38 -15
- mindspore/dataset/engine/datasets.py +615 -278
- mindspore/dataset/engine/datasets_audio.py +154 -283
- mindspore/dataset/engine/datasets_standard_format.py +104 -116
- mindspore/dataset/engine/datasets_text.py +443 -326
- mindspore/dataset/engine/datasets_user_defined.py +251 -164
- mindspore/dataset/engine/datasets_vision.py +839 -1443
- mindspore/dataset/engine/iterators.py +11 -4
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +7 -3
- mindspore/dataset/engine/obs/util.py +3 -0
- mindspore/dataset/engine/offload.py +6 -6
- mindspore/dataset/engine/queue.py +15 -14
- mindspore/dataset/engine/samplers.py +39 -23
- mindspore/dataset/engine/serializer_deserializer.py +22 -6
- mindspore/dataset/engine/validators.py +21 -331
- mindspore/dataset/text/__init__.py +5 -33
- mindspore/dataset/text/transforms.py +334 -165
- mindspore/dataset/text/utils.py +215 -145
- mindspore/dataset/transforms/__init__.py +1 -1
- mindspore/dataset/transforms/c_transforms.py +3 -2
- mindspore/dataset/transforms/py_transforms_util.py +40 -12
- mindspore/dataset/transforms/transforms.py +174 -71
- mindspore/dataset/utils/browse_dataset.py +25 -17
- mindspore/dataset/utils/line_reader.py +24 -21
- mindspore/dataset/vision/__init__.py +5 -26
- mindspore/dataset/vision/c_transforms.py +177 -165
- mindspore/dataset/vision/py_transforms.py +114 -119
- mindspore/dataset/vision/py_transforms_util.py +54 -51
- mindspore/dataset/vision/transforms.py +1127 -381
- mindspore/dataset/vision/utils.py +54 -38
- mindspore/dataset/vision/validators.py +12 -2
- mindspore/experimental/map_parameter.py +38 -4
- mindspore/{dataset/datapreprocess → experimental/optim}/__init__.py +14 -4
- mindspore/experimental/optim/adam.py +192 -0
- mindspore/experimental/optim/adamw.py +181 -0
- mindspore/experimental/optim/lr_scheduler.py +1427 -0
- mindspore/experimental/optim/optimizer.py +252 -0
- mindspore/experimental/optim/sgd.py +147 -0
- mindspore/gen_ops.py +273 -0
- mindspore/include/OWNERS +1 -2
- mindspore/include/api/context.h +21 -1
- mindspore/include/api/data_type.h +2 -1
- mindspore/include/api/graph.h +0 -15
- mindspore/include/api/kernel.h +2 -0
- mindspore/include/api/kernel_api.h +37 -12
- mindspore/include/api/model.h +29 -42
- mindspore/include/api/model_group.h +14 -3
- mindspore/include/api/model_parallel_runner.h +18 -2
- mindspore/include/api/serialization.h +26 -0
- mindspore/include/api/status.h +1 -0
- mindspore/include/api/types.h +38 -4
- mindspore/include/c_api/ms/abstract.h +67 -0
- mindspore/include/c_api/ms/attribute.h +197 -0
- mindspore/include/c_api/ms/base/handle_types.h +43 -0
- mindspore/include/c_api/ms/base/macros.h +32 -0
- mindspore/include/c_api/ms/base/status.h +33 -0
- mindspore/include/c_api/ms/base/types.h +282 -0
- mindspore/include/c_api/ms/context.h +102 -0
- mindspore/include/c_api/ms/graph.h +160 -0
- mindspore/include/c_api/ms/node.h +606 -0
- mindspore/include/c_api/ms/tensor.h +161 -0
- mindspore/include/c_api/ms/value.h +84 -0
- mindspore/include/c_api/status_c.h +3 -0
- mindspore/include/dataset/constants.h +6 -12
- mindspore/include/dataset/execute.h +23 -13
- mindspore/include/dataset/text.h +26 -26
- mindspore/include/dataset/transforms.h +25 -31
- mindspore/include/dataset/vision.h +60 -60
- mindspore/include/dataset/vision_ascend.h +5 -6
- mindspore/include/dataset/vision_lite.h +17 -17
- mindspore/include/mindapi/base/format.h +0 -1
- mindspore/include/mindapi/base/type_id.h +2 -1
- mindspore/include/mindapi/base/types.h +5 -1
- mindspore/lib/libdnnl.so.2 +0 -0
- mindspore/lib/libjemalloc.so.2 +0 -0
- mindspore/lib/libmindspore.so +0 -0
- mindspore/lib/libmindspore_backend.so +0 -0
- mindspore/lib/libmindspore_common.so +0 -0
- mindspore/lib/libmindspore_core.so +0 -0
- mindspore/lib/libmindspore_glog.so.0 +0 -0
- mindspore/lib/libmindspore_gpr.so.15 +0 -0
- mindspore/lib/libmindspore_grpc++.so.1 +0 -0
- mindspore/lib/libmindspore_grpc.so.15 +0 -0
- mindspore/lib/libmindspore_shared_lib.so +0 -0
- mindspore/lib/libmpi_adapter.so +0 -0
- mindspore/lib/libnnacl.so +0 -0
- mindspore/lib/libopencv_core.so.4.5 +0 -0
- mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
- mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
- mindspore/lib/libps_cache.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +9000 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
- mindspore/lib/plugin/ascend/libakg.so +0 -0
- mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
- mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
- mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
- mindspore/lib/plugin/cpu/libakg.so +0 -0
- mindspore/lib/plugin/gpu/libcuda_ops.so.10 +0 -0
- mindspore/lib/plugin/gpu/libcuda_ops.so.11 +0 -0
- mindspore/lib/plugin/gpu10.1/libakg.so +0 -0
- mindspore/lib/plugin/gpu10.1/libnccl.so.2 +0 -0
- mindspore/lib/plugin/gpu10.1/libnvidia_collective.so +0 -0
- mindspore/lib/plugin/gpu11.1/libakg.so +0 -0
- mindspore/lib/plugin/gpu11.1/libnccl.so.2 +0 -0
- mindspore/lib/plugin/gpu11.1/libnvidia_collective.so +0 -0
- mindspore/lib/plugin/gpu11.6/libakg.so +0 -0
- mindspore/lib/plugin/gpu11.6/libnccl.so.2 +0 -0
- mindspore/lib/plugin/gpu11.6/libnvidia_collective.so +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
- mindspore/lib/plugin/libmindspore_gpu.so.10.1 +0 -0
- mindspore/lib/plugin/libmindspore_gpu.so.11.1 +0 -0
- mindspore/lib/plugin/libmindspore_gpu.so.11.6 +0 -0
- mindspore/log.py +9 -6
- mindspore/mindrecord/filereader.py +33 -4
- mindspore/mindrecord/filewriter.py +70 -35
- mindspore/mindrecord/mindpage.py +40 -34
- mindspore/mindrecord/shardreader.py +1 -1
- mindspore/mindrecord/shardsegment.py +1 -1
- mindspore/mindrecord/tools/cifar100_to_mr.py +25 -18
- mindspore/mindrecord/tools/cifar10_to_mr.py +25 -18
- mindspore/mindrecord/tools/csv_to_mr.py +29 -13
- mindspore/mindrecord/tools/imagenet_to_mr.py +24 -10
- mindspore/mindrecord/tools/mnist_to_mr.py +24 -11
- mindspore/mindrecord/tools/tfrecord_to_mr.py +31 -26
- mindspore/nn/cell.py +463 -169
- mindspore/nn/dynamic_lr.py +47 -43
- mindspore/nn/layer/activation.py +225 -82
- mindspore/nn/layer/basic.py +121 -79
- mindspore/nn/layer/channel_shuffle.py +21 -21
- mindspore/nn/layer/combined.py +33 -26
- mindspore/nn/layer/container.py +277 -22
- mindspore/nn/layer/conv.py +441 -304
- mindspore/nn/layer/dense.py +19 -13
- mindspore/nn/layer/embedding.py +62 -49
- mindspore/nn/layer/flash_attention.py +264 -0
- mindspore/nn/layer/image.py +50 -39
- mindspore/nn/layer/math.py +62 -51
- mindspore/nn/layer/normalization.py +219 -167
- mindspore/nn/layer/padding.py +58 -70
- mindspore/nn/layer/pooling.py +334 -287
- mindspore/nn/layer/rnn_cells.py +53 -38
- mindspore/nn/layer/rnns.py +59 -56
- mindspore/nn/layer/thor_layer.py +52 -44
- mindspore/nn/layer/timedistributed.py +6 -4
- mindspore/nn/layer/transformer.py +284 -164
- mindspore/nn/learning_rate_schedule.py +34 -25
- mindspore/nn/loss/__init__.py +3 -2
- mindspore/nn/loss/loss.py +554 -311
- mindspore/nn/optim/ada_grad.py +12 -9
- mindspore/nn/optim/adadelta.py +14 -11
- mindspore/nn/optim/adafactor.py +19 -16
- mindspore/nn/optim/adam.py +62 -47
- mindspore/nn/optim/adamax.py +13 -10
- mindspore/nn/optim/adasum.py +12 -8
- mindspore/nn/optim/asgd.py +10 -9
- mindspore/nn/optim/ftrl.py +20 -17
- mindspore/nn/optim/lamb.py +16 -12
- mindspore/nn/optim/lars.py +8 -6
- mindspore/nn/optim/lazyadam.py +25 -20
- mindspore/nn/optim/momentum.py +10 -7
- mindspore/nn/optim/optimizer.py +61 -9
- mindspore/nn/optim/proximal_ada_grad.py +14 -13
- mindspore/nn/optim/rmsprop.py +17 -13
- mindspore/nn/optim/rprop.py +30 -17
- mindspore/nn/optim/sgd.py +40 -23
- mindspore/nn/optim/thor.py +24 -26
- mindspore/nn/probability/bijector/bijector.py +11 -11
- mindspore/nn/probability/bijector/exp.py +1 -1
- mindspore/nn/probability/bijector/gumbel_cdf.py +3 -3
- mindspore/nn/probability/bijector/invert.py +1 -1
- mindspore/nn/probability/bijector/power_transform.py +29 -29
- mindspore/nn/probability/bijector/scalar_affine.py +3 -3
- mindspore/nn/probability/bijector/softplus.py +5 -5
- mindspore/nn/probability/bnn_layers/bnn_cell_wrapper.py +4 -2
- mindspore/nn/probability/bnn_layers/conv_variational.py +13 -13
- mindspore/nn/probability/bnn_layers/dense_variational.py +12 -12
- mindspore/nn/probability/bnn_layers/layer_distribution.py +9 -8
- mindspore/nn/probability/distribution/_utils/custom_ops.py +19 -3
- mindspore/nn/probability/distribution/_utils/utils.py +1 -1
- mindspore/nn/probability/distribution/bernoulli.py +9 -9
- mindspore/nn/probability/distribution/beta.py +8 -8
- mindspore/nn/probability/distribution/categorical.py +23 -15
- mindspore/nn/probability/distribution/cauchy.py +5 -6
- mindspore/nn/probability/distribution/distribution.py +3 -3
- mindspore/nn/probability/distribution/exponential.py +4 -4
- mindspore/nn/probability/distribution/gamma.py +10 -10
- mindspore/nn/probability/distribution/geometric.py +8 -8
- mindspore/nn/probability/distribution/gumbel.py +8 -9
- mindspore/nn/probability/distribution/half_normal.py +5 -5
- mindspore/nn/probability/distribution/laplace.py +5 -5
- mindspore/nn/probability/distribution/log_normal.py +12 -11
- mindspore/nn/probability/distribution/logistic.py +8 -8
- mindspore/nn/probability/distribution/normal.py +6 -5
- mindspore/nn/probability/distribution/poisson.py +10 -11
- mindspore/nn/probability/distribution/student_t.py +8 -9
- mindspore/nn/probability/distribution/transformed_distribution.py +5 -5
- mindspore/nn/probability/distribution/uniform.py +11 -11
- mindspore/nn/reinforcement/tensor_array.py +2 -2
- mindspore/nn/sparse/sparse.py +9 -9
- mindspore/nn/wrap/cell_wrapper.py +188 -63
- mindspore/nn/wrap/grad_reducer.py +21 -12
- mindspore/nn/wrap/loss_scale.py +136 -49
- mindspore/numpy/__init__.py +4 -4
- mindspore/numpy/array_creations.py +55 -56
- mindspore/numpy/array_ops.py +134 -35
- mindspore/numpy/logic_ops.py +66 -20
- mindspore/numpy/math_ops.py +142 -139
- mindspore/numpy/utils_const.py +2 -2
- mindspore/offline_debug/convert_async.py +2 -2
- mindspore/ops/_grad_experimental/__init__.py +7 -5
- mindspore/ops/_grad_experimental/grad_array_ops.py +231 -348
- mindspore/ops/{_grad → _grad_experimental}/grad_base.py +1 -33
- mindspore/ops/{_grad → _grad_experimental}/grad_comm_ops.py +25 -13
- mindspore/ops/{_grad/__init__.py → _grad_experimental/grad_debug_ops.py} +15 -7
- mindspore/ops/{_grad → _grad_experimental}/grad_implementations.py +17 -11
- mindspore/ops/_grad_experimental/grad_inner_ops.py +33 -52
- mindspore/ops/_grad_experimental/grad_math_ops.py +151 -1224
- mindspore/ops/_grad_experimental/grad_nn_ops.py +141 -414
- mindspore/ops/{_grad → _grad_experimental}/grad_quant_ops.py +10 -6
- mindspore/ops/_grad_experimental/grad_sparse.py +317 -2
- mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -13
- mindspore/ops/{_grad → _grad_experimental}/taylor_rule.py +1 -1
- mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/flash_attention/__init__.py +0 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +406 -0
- mindspore/{_extends/graph_kernel/expanders/complex/__init__.py → ops/_op_impl/_custom_op/flash_attention/constants.py} +27 -8
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +467 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +563 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +193 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +435 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/__init__.py +0 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/sparse_tiling.py +45 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/strategy.py +67 -0
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +62 -0
- mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +2 -2
- mindspore/ops/_op_impl/aicpu/__init__.py +41 -1
- mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d.py +37 -0
- mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/cast.py +52 -0
- mindspore/ops/_op_impl/aicpu/coalesce.py +2 -0
- mindspore/ops/_op_impl/aicpu/col2im.py +3 -1
- mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
- mindspore/ops/_op_impl/aicpu/dropout_genmask.py +6 -0
- mindspore/ops/_op_impl/aicpu/eps.py +32 -0
- mindspore/ops/_op_impl/aicpu/eye.py +4 -4
- mindspore/ops/_op_impl/aicpu/fft_with_size.py +6 -0
- mindspore/ops/_op_impl/aicpu/fill_diagonal.py +5 -0
- mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
- mindspore/ops/_op_impl/aicpu/im2col.py +3 -5
- mindspore/ops/_op_impl/aicpu/lgamma.py +1 -0
- mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
- mindspore/ops/_op_impl/aicpu/lu.py +39 -0
- mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/masked_scatter.py +1 -0
- mindspore/ops/_op_impl/aicpu/masked_select_grad.py +3 -0
- mindspore/ops/_op_impl/aicpu/matrix_band_part.py +59 -0
- mindspore/ops/_op_impl/aicpu/matrix_power.py +6 -1
- mindspore/ops/_op_impl/aicpu/median.py +1 -0
- mindspore/ops/_op_impl/aicpu/multinomial.py +9 -9
- mindspore/ops/_op_impl/aicpu/not_equal.py +0 -5
- mindspore/ops/_op_impl/aicpu/pad_v3.py +3 -1
- mindspore/ops/_op_impl/aicpu/pad_v3_grad.py +2 -0
- mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
- mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
- mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
- mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
- mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
- mindspore/ops/_op_impl/aicpu/resize_bilinear_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2.py +0 -6
- mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2_grad.py +0 -7
- mindspore/ops/_op_impl/aicpu/scatter_nd.py +2 -0
- mindspore/ops/_op_impl/aicpu/sequence_concat.py +40 -0
- mindspore/ops/_op_impl/aicpu/sequence_stack.py +40 -0
- mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
- mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
- mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -4
- mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -4
- mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
- mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
- mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
- mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
- mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
- mindspore/ops/_op_impl/aicpu/upsample_nearest_3d.py +14 -6
- mindspore/ops/_op_impl/aicpu/upsample_nearest_3d_grad.py +22 -8
- mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d.py +11 -6
- mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d_grad.py +21 -10
- mindspore/ops/_op_impl/tbe/__init__.py +6 -4
- mindspore/ops/_op_impl/tbe/atomic_addr_clean.py +1 -1
- mindspore/ops/_op_impl/tbe/avg_pool.py +2 -2
- mindspore/ops/_op_impl/tbe/avg_pool_3d.py +3 -3
- mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +4 -4
- mindspore/ops/_op_impl/tbe/avg_pool_ds.py +2 -2
- mindspore/ops/_op_impl/tbe/avg_pool_grad.py +3 -3
- mindspore/ops/_op_impl/tbe/avg_pool_grad_vm.py +3 -3
- mindspore/ops/_op_impl/tbe/batch_to_space.py +1 -1
- mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +2 -2
- mindspore/ops/_op_impl/tbe/bn_infer.py +2 -2
- mindspore/ops/_op_impl/tbe/bn_infer_ds.py +3 -2
- mindspore/ops/_op_impl/tbe/broadcast_to.py +1 -1
- mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +3 -3
- mindspore/ops/_op_impl/tbe/expand_dims.py +1 -1
- mindspore/ops/_op_impl/tbe/gather_v2.py +56 -0
- mindspore/ops/_op_impl/tbe/im2col.py +4 -4
- mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
- mindspore/ops/_op_impl/tbe/mem_set.py +38 -0
- mindspore/ops/_op_impl/tbe/scatter_nd_add.py +3 -0
- mindspore/ops/_op_impl/tbe/scatter_nd_d.py +1 -1
- mindspore/ops/_op_impl/tbe/space_to_batch.py +1 -1
- mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +2 -2
- mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
- mindspore/ops/_primitive_cache.py +1 -1
- mindspore/ops/_tracefunc.py +241 -0
- mindspore/ops/_utils/utils.py +10 -2
- mindspore/ops/_vmap/vmap_array_ops.py +5 -3
- mindspore/ops/_vmap/vmap_base.py +5 -4
- mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
- mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +11 -6
- mindspore/ops/_vmap/vmap_math_ops.py +5 -2
- mindspore/ops/_vmap/vmap_nn_ops.py +135 -11
- mindspore/ops/arg_dtype_cast.py +54 -0
- mindspore/ops/composite/__init__.py +7 -5
- mindspore/ops/composite/base.py +78 -34
- mindspore/ops/composite/math_ops.py +5 -695
- mindspore/ops/composite/multitype_ops/_compile_utils.py +403 -97
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +28 -22
- mindspore/ops/composite/multitype_ops/add_impl.py +69 -7
- mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/div_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/getitem_impl.py +48 -10
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/greater_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/less_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/logic_not_impl.py +2 -2
- mindspore/ops/composite/multitype_ops/mod_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/mul_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/negative_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/not_in_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
- mindspore/ops/composite/multitype_ops/pow_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +10 -7
- mindspore/ops/composite/multitype_ops/sub_impl.py +1 -0
- mindspore/ops/composite/multitype_ops/uadd_impl.py +2 -0
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
- mindspore/ops/deprecated.py +304 -0
- mindspore/ops/function/__init__.py +41 -4
- mindspore/ops/function/array_func.py +1108 -467
- mindspore/ops/function/clip_func.py +94 -27
- mindspore/ops/function/debug_func.py +3 -1
- mindspore/ops/function/grad/grad_func.py +82 -73
- mindspore/ops/function/image_func.py +28 -12
- mindspore/ops/function/linalg_func.py +135 -39
- mindspore/ops/function/math_func.py +3779 -894
- mindspore/ops/function/nn_func.py +1584 -657
- mindspore/ops/function/parameter_func.py +13 -3
- mindspore/ops/function/random_func.py +247 -153
- mindspore/ops/function/sparse_func.py +14 -11
- mindspore/ops/function/sparse_unary_func.py +173 -47
- mindspore/ops/function/spectral_func.py +8 -4
- mindspore/ops/function/vmap_func.py +8 -7
- mindspore/ops/functional.py +47 -16
- mindspore/ops/op_info_register.py +346 -86
- mindspore/ops/operations/__init__.py +38 -22
- mindspore/ops/operations/_grad_ops.py +145 -149
- mindspore/ops/operations/_inner_ops.py +298 -56
- mindspore/ops/operations/_ms_kernel.py +3 -3
- mindspore/ops/operations/_quant_ops.py +24 -28
- mindspore/ops/operations/_rl_inner_ops.py +9 -7
- mindspore/ops/operations/_scalar_ops.py +115 -0
- mindspore/ops/operations/_sequence_ops.py +148 -10
- mindspore/ops/operations/_tensor_array.py +1 -1
- mindspore/ops/operations/_thor_ops.py +2 -2
- mindspore/ops/operations/array_ops.py +1239 -561
- mindspore/ops/operations/comm_ops.py +166 -90
- mindspore/ops/operations/control_ops.py +3 -3
- mindspore/ops/operations/custom_ops.py +124 -102
- mindspore/ops/operations/debug_ops.py +24 -11
- mindspore/ops/operations/image_ops.py +86 -71
- mindspore/ops/operations/inner_ops.py +18 -13
- mindspore/ops/operations/linalg_ops.py +30 -11
- mindspore/ops/operations/math_ops.py +1730 -435
- mindspore/ops/operations/nn_ops.py +1953 -943
- mindspore/ops/operations/other_ops.py +65 -43
- mindspore/ops/operations/random_ops.py +258 -98
- mindspore/ops/operations/rl_ops.py +4 -36
- mindspore/ops/operations/sparse_ops.py +38 -33
- mindspore/ops/operations/spectral_ops.py +8 -4
- mindspore/ops/primitive.py +66 -44
- mindspore/ops/signature.py +5 -5
- mindspore/parallel/_auto_parallel_context.py +80 -19
- mindspore/parallel/_cost_model_context.py +42 -0
- mindspore/parallel/_offload_context.py +162 -72
- mindspore/parallel/_parallel_serialization.py +2 -2
- mindspore/parallel/_ps_context.py +16 -4
- mindspore/parallel/_recovery_context.py +2 -1
- mindspore/parallel/_tensor.py +15 -13
- mindspore/parallel/_transformer/layers.py +8 -6
- mindspore/parallel/_transformer/loss.py +1 -0
- mindspore/parallel/_transformer/moe.py +7 -7
- mindspore/parallel/_transformer/op_parallel_config.py +12 -1
- mindspore/parallel/_transformer/transformer.py +34 -14
- mindspore/parallel/_utils.py +36 -14
- mindspore/parallel/algo_parameter_config.py +114 -20
- mindspore/parallel/checkpoint_transform.py +16 -18
- mindspore/parallel/shard.py +16 -13
- mindspore/profiler/__init__.py +1 -1
- mindspore/profiler/common/struct_type.py +3 -3
- mindspore/profiler/common/util.py +3 -2
- mindspore/profiler/envprofiling.py +11 -4
- mindspore/profiler/parser/aicpu_data_parser.py +5 -3
- mindspore/profiler/parser/ascend_flops_generator.py +94 -0
- mindspore/profiler/parser/ascend_fpbp_generator.py +76 -0
- mindspore/profiler/parser/ascend_hccl_generator.py +288 -0
- mindspore/profiler/parser/ascend_msprof_exporter.py +213 -0
- mindspore/profiler/parser/ascend_msprof_generator.py +199 -0
- mindspore/profiler/parser/ascend_op_generator.py +276 -0
- mindspore/profiler/parser/ascend_steptrace_generator.py +94 -0
- mindspore/profiler/parser/ascend_timeline_generator.py +110 -54
- mindspore/profiler/parser/base_timeline_generator.py +11 -7
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +45 -46
- mindspore/profiler/parser/flops_parser.py +15 -11
- mindspore/profiler/parser/framework_parser.py +92 -73
- mindspore/profiler/parser/hccl_parser.py +16 -12
- mindspore/profiler/parser/integrator.py +22 -11
- mindspore/profiler/parser/memory_usage_parser.py +36 -11
- mindspore/profiler/parser/minddata_analyzer.py +12 -14
- mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
- mindspore/profiler/parser/msadvisor_parser.py +8 -4
- mindspore/profiler/parser/op_intermediate_parser.py +5 -2
- mindspore/profiler/parser/optime_parser.py +1 -1
- mindspore/profiler/parser/profiler_info.py +4 -5
- mindspore/profiler/parser/step_trace_parser.py +11 -14
- mindspore/profiler/profiling.py +678 -377
- mindspore/rewrite/api/node.py +211 -54
- mindspore/rewrite/api/node_type.py +5 -0
- mindspore/rewrite/api/pattern_engine.py +22 -23
- mindspore/rewrite/api/scoped_value.py +20 -17
- mindspore/rewrite/api/symbol_tree.py +252 -106
- mindspore/rewrite/api/tree_node_helper.py +3 -0
- mindspore/rewrite/ast_helpers/__init__.py +2 -1
- mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
- mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
- mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +97 -46
- mindspore/rewrite/common/rewrite_elog.py +5 -1
- mindspore/rewrite/namer.py +51 -51
- mindspore/rewrite/namespace.py +14 -5
- mindspore/{ops/bprop_mindir → rewrite/node}/__init__.py +9 -4
- mindspore/rewrite/node/call_function.py +79 -0
- mindspore/rewrite/node/cell_container.py +135 -0
- mindspore/rewrite/node/control_flow.py +88 -0
- mindspore/rewrite/{node.py → node/node.py} +313 -247
- mindspore/rewrite/node/node_manager.py +254 -0
- mindspore/rewrite/node/node_topological_manager.py +243 -0
- mindspore/rewrite/parsers/arguments_parser.py +22 -21
- mindspore/rewrite/parsers/assign_parser.py +225 -239
- mindspore/rewrite/parsers/attribute_parser.py +9 -7
- mindspore/rewrite/parsers/class_def_parser.py +179 -218
- mindspore/rewrite/parsers/constant_parser.py +9 -6
- mindspore/rewrite/parsers/container_parser.py +9 -7
- mindspore/rewrite/parsers/for_parser.py +36 -15
- mindspore/rewrite/parsers/function_def_parser.py +23 -20
- mindspore/rewrite/parsers/if_parser.py +28 -24
- mindspore/rewrite/parsers/module_parser.py +202 -25
- mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
- mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
- mindspore/rewrite/parsers/return_parser.py +6 -6
- mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
- mindspore/rewrite/sparsify/sparsify.py +4 -1
- mindspore/rewrite/sparsify/utils.py +11 -5
- mindspore/rewrite/symbol_tree.py +577 -732
- mindspore/rewrite/symbol_tree_builder.py +9 -175
- mindspore/rewrite/symbol_tree_dumper.py +2 -2
- mindspore/run_check/_check_version.py +46 -39
- mindspore/run_check/run_check.py +3 -2
- mindspore/{scipy/sparse → safeguard}/__init__.py +4 -5
- mindspore/safeguard/rewrite_obfuscation.py +517 -0
- mindspore/scipy/__init__.py +1 -1
- mindspore/scipy/linalg.py +67 -61
- mindspore/scipy/ops.py +5 -41
- mindspore/scipy/ops_grad.py +3 -2
- mindspore/scipy/ops_wrapper.py +5 -5
- mindspore/scipy/optimize/line_search.py +8 -8
- mindspore/scipy/optimize/linear_sum_assignment.py +4 -4
- mindspore/scipy/optimize/minimize.py +16 -12
- mindspore/scipy/utils.py +1 -52
- mindspore/scipy/utils_const.py +4 -4
- mindspore/train/__init__.py +4 -4
- mindspore/train/_utils.py +13 -5
- mindspore/train/amp.py +410 -148
- mindspore/train/anf_ir_pb2.py +16 -4
- mindspore/train/callback/_backup_and_restore.py +8 -11
- mindspore/train/callback/_callback.py +80 -3
- mindspore/train/callback/_checkpoint.py +82 -51
- mindspore/train/callback/_early_stop.py +12 -15
- mindspore/train/callback/_history.py +1 -1
- mindspore/train/callback/_lambda_callback.py +13 -13
- mindspore/train/callback/_landscape.py +21 -17
- mindspore/train/callback/_loss_monitor.py +9 -10
- mindspore/train/callback/_on_request_exit.py +16 -33
- mindspore/train/callback/_reduce_lr_on_plateau.py +21 -24
- mindspore/train/callback/_summary_collector.py +44 -30
- mindspore/train/callback/_time_monitor.py +62 -12
- mindspore/train/data_sink.py +10 -16
- mindspore/train/dataset_helper.py +154 -86
- mindspore/train/loss_scale_manager.py +14 -9
- mindspore/train/metrics/__init__.py +10 -2
- mindspore/train/metrics/accuracy.py +1 -1
- mindspore/train/metrics/auc.py +1 -1
- mindspore/train/metrics/bleu_score.py +2 -2
- mindspore/train/metrics/confusion_matrix.py +14 -14
- mindspore/train/metrics/cosine_similarity.py +3 -3
- mindspore/train/metrics/dice.py +1 -1
- mindspore/train/metrics/fbeta.py +1 -1
- mindspore/train/metrics/hausdorff_distance.py +8 -6
- mindspore/train/metrics/mean_surface_distance.py +5 -4
- mindspore/train/metrics/metric.py +49 -17
- mindspore/train/metrics/occlusion_sensitivity.py +4 -4
- mindspore/train/metrics/perplexity.py +1 -1
- mindspore/train/metrics/precision.py +2 -2
- mindspore/train/metrics/recall.py +2 -3
- mindspore/train/metrics/roc.py +7 -7
- mindspore/train/metrics/root_mean_square_surface_distance.py +5 -4
- mindspore/train/metrics/topk.py +7 -4
- mindspore/train/mind_ir_pb2.py +193 -48
- mindspore/train/model.py +377 -133
- mindspore/train/serialization.py +697 -245
- mindspore/train/summary/_summary_adapter.py +5 -2
- mindspore/train/summary/_writer_pool.py +4 -3
- mindspore/train/summary/summary_record.py +25 -23
- mindspore/train/train_thor/convert_utils.py +39 -23
- mindspore/train/train_thor/dataset_helper.py +4 -3
- mindspore/train/train_thor/model_thor.py +8 -8
- mindspore/version.py +1 -1
- {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/METADATA +7 -8
- {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/RECORD +647 -818
- {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/entry_points.txt +0 -1
- mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
- mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
- mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
- mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
- mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
- mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
- mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
- mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
- mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
- mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
- mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
- mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
- mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
- mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
- mindspore/_akg/akg/tvm/rpc/base.py +0 -182
- mindspore/_akg/akg/tvm/rpc/client.py +0 -436
- mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
- mindspore/_akg/akg/tvm/rpc/server.py +0 -413
- mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
- mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
- mindspore/_extends/graph_kernel/expander.py +0 -80
- mindspore/_extends/graph_kernel/expanders/__init__.py +0 -57
- mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
- mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
- mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
- mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
- mindspore/_extends/graph_kernel/expanders/bias_add_grad.py +0 -49
- mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
- mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
- mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
- mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
- mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
- mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
- mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
- mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
- mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
- mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
- mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
- mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
- mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
- mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
- mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
- mindspore/_extends/graph_kernel/expanders/gather.py +0 -43
- mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
- mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
- mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
- mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
- mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
- mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
- mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
- mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
- mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
- mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
- mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
- mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
- mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
- mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
- mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
- mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
- mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
- mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
- mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
- mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
- mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
- mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
- mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
- mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
- mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
- mindspore/_extends/graph_kernel/expanders/tile.py +0 -54
- mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
- mindspore/_extends/parse/jit_fallback_modules.py +0 -51
- mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
- mindspore/dataset/engine/graphdata.py +0 -1586
- mindspore/include/api/net.h +0 -142
- mindspore/ops/_grad/grad_array_ops.py +0 -1347
- mindspore/ops/_grad/grad_clip_ops.py +0 -84
- mindspore/ops/_grad/grad_debug_ops.py +0 -68
- mindspore/ops/_grad/grad_inner_ops.py +0 -235
- mindspore/ops/_grad/grad_math_ops.py +0 -1684
- mindspore/ops/_grad/grad_nn_ops.py +0 -1529
- mindspore/ops/_grad/grad_other_ops.py +0 -89
- mindspore/ops/_grad/grad_sequence_ops.py +0 -296
- mindspore/ops/_grad/grad_sparse.py +0 -323
- mindspore/ops/_grad_experimental/grad_image_ops.py +0 -249
- mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -195
- mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
- 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 +0 -19
- mindspore/ops/bprop_mindir/Argmax_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/Argmin_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/AssignSub_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/Assign_bprop.mindir +0 -17
- mindspore/ops/bprop_mindir/AvgPool3D_bprop.mindir +0 -150
- mindspore/ops/bprop_mindir/AvgPool_bprop.mindir +0 -66
- mindspore/ops/bprop_mindir/BCEWithLogitsLoss_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/BatchNormGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BatchToSpaceND_bprop.mindir +0 -28
- mindspore/ops/bprop_mindir/BiasAddGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/BinaryCrossEntropy_bprop.mindir +0 -33
- mindspore/ops/bprop_mindir/BroadcastTo_bprop.mindir +0 -306
- mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -13
- 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 +0 -240
- mindspore/ops/bprop_mindir/Conv2DBackpropInput_bprop.mindir +0 -247
- mindspore/ops/bprop_mindir/Conv2DTranspose_bprop.mindir +0 -247
- mindspore/ops/bprop_mindir/Conv3DTranspose_bprop.mindir +0 -315
- mindspore/ops/bprop_mindir/Conv3D_bprop.mindir +0 -278
- mindspore/ops/bprop_mindir/DType_bprop.mindir +0 -14
- mindspore/ops/bprop_mindir/DeformableOffsets_bprop.mindir +0 -58
- mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -13
- mindspore/ops/bprop_mindir/DepthToSpace_bprop.mindir +0 -23
- mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
- mindspore/ops/bprop_mindir/DiagPart_bprop.mindir +0 -15
- 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 +0 -25
- mindspore/ops/bprop_mindir/DropoutGenMask_bprop.mindir +0 -18
- mindspore/ops/bprop_mindir/DropoutGrad_bprop.mindir +0 -27
- 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 +0 -14
- mindspore/ops/bprop_mindir/Elu_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Equal_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/ExpandDims_bprop.mindir +0 -58
- mindspore/ops/bprop_mindir/FastGeLU_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/Flatten_bprop.mindir +0 -54
- mindspore/ops/bprop_mindir/FloorDiv_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/GatherD_bprop.mindir +0 -26
- mindspore/ops/bprop_mindir/GatherNd_bprop.mindir +0 -57
- mindspore/ops/bprop_mindir/Gather_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/GreaterEqual_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/Greater_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/HSigmoid_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/HSwish_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/IOU_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/InstanceNorm_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/IsFinite_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/IsInf_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/IsNan_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/KLDivLoss_bprop.mindir +0 -126
- mindspore/ops/bprop_mindir/L2Loss_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/L2Normalize_bprop.mindir +0 -30
- mindspore/ops/bprop_mindir/LRN_bprop.mindir +0 -43
- mindspore/ops/bprop_mindir/LayerNormGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/LessEqual_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/Less_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/LinSpace_bprop.mindir +0 -23
- mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -13
- mindspore/ops/bprop_mindir/LogSoftmax_bprop.mindir +0 -23
- mindspore/ops/bprop_mindir/LogicalAnd_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/LogicalNot_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/MaskedSelect_bprop.mindir +0 -21
- mindspore/ops/bprop_mindir/MaxPool3DGradGrad_bprop.mindir +0 -74
- mindspore/ops/bprop_mindir/MaxPool3DGrad_bprop.mindir +0 -74
- mindspore/ops/bprop_mindir/MaxPool3D_bprop.mindir +0 -75
- mindspore/ops/bprop_mindir/MaxPoolGradGrad_bprop.mindir +0 -65
- 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 +0 -27
- mindspore/ops/bprop_mindir/Mish_bprop.mindir +0 -35
- 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 +0 -14
- mindspore/ops/bprop_mindir/NotEqual_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/OneHot_bprop.mindir +0 -26
- mindspore/ops/bprop_mindir/OnesLike_bprop.mindir +0 -14
- 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 +0 -29
- mindspore/ops/bprop_mindir/ROIAlign_bprop.mindir +0 -82
- mindspore/ops/bprop_mindir/Range_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/Rank_bprop.mindir +0 -14
- mindspore/ops/bprop_mindir/ReLU6_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/ReLUV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ReduceAll_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/ReduceAny_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/ReluGrad_bprop.mindir +0 -20
- mindspore/ops/bprop_mindir/Reshape_bprop.mindir +0 -60
- mindspore/ops/bprop_mindir/ResizeBilinear_bprop.mindir +0 -29
- mindspore/ops/bprop_mindir/ResizeNearestNeighbor_bprop.mindir +0 -89
- mindspore/ops/bprop_mindir/ReverseSequence_bprop.mindir +0 -52
- mindspore/ops/bprop_mindir/ReverseV2_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/Round_bprop.mindir +0 -15
- 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 +0 -22
- mindspore/ops/bprop_mindir/ScatterNd_bprop.mindir +0 -24
- mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/ScatterUpdate_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SeLU_bprop.mindir +0 -21
- mindspore/ops/bprop_mindir/Select_bprop.mindir +0 -31
- mindspore/ops/bprop_mindir/Shape_bprop.mindir +0 -14
- mindspore/ops/bprop_mindir/SigmoidCrossEntropyWithLogits_bprop.mindir +0 -21
- mindspore/ops/bprop_mindir/SigmoidGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Sigmoid_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/Sign_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/Slice_bprop.mindir +0 -26
- mindspore/ops/bprop_mindir/SmoothL1Loss_bprop.mindir +0 -36
- mindspore/ops/bprop_mindir/SoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Softplus_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/Softsign_bprop.mindir +0 -33
- mindspore/ops/bprop_mindir/Sort_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SpaceToBatchND_bprop.mindir +0 -28
- mindspore/ops/bprop_mindir/SpaceToDepth_bprop.mindir +0 -23
- 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 +0 -22
- mindspore/ops/bprop_mindir/Squeeze_bprop.mindir +0 -54
- mindspore/ops/bprop_mindir/StridedSliceGrad_bprop.mindir +0 -95
- mindspore/ops/bprop_mindir/StridedSlice_bprop.mindir +0 -98
- mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -29
- mindspore/ops/bprop_mindir/TanhGrad_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Tanh_bprop.mindir +0 -66
- mindspore/ops/bprop_mindir/TensorScatterAdd_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/TensorScatterUpdate_bprop.mindir +0 -29
- mindspore/ops/bprop_mindir/TensorShape_bprop.mindir +0 -14
- 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 +0 -23
- mindspore/ops/bprop_mindir/TruncateDiv_bprop.mindir +0 -19
- mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -20
- mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -16
- mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -22
- mindspore/ops/bprop_mindir/UpsampleNearest3D_bprop.mindir +0 -32
- mindspore/ops/bprop_mindir/UpsampleTrilinear3D_bprop.mindir +0 -38
- mindspore/ops/bprop_mindir/ZerosLike_bprop.mindir +0 -15
- mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
- mindspore/rewrite/node_visitor.py +0 -44
- mindspore/rewrite/topological_manager.py +0 -203
- mindspore/scipy/sparse/linalg.py +0 -192
- {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/WHEEL +0 -0
- {mindspore-2.0.0rc1.dist-info → mindspore-2.2.0.dist-info}/top_level.txt +0 -0
|
@@ -33,8 +33,7 @@ import tempfile
|
|
|
33
33
|
|
|
34
34
|
import numpy as np
|
|
35
35
|
|
|
36
|
-
from ... import ir_pass, build, build_config, nd, TVMError, register_func,
|
|
37
|
-
rpc as _rpc, target as _target
|
|
36
|
+
from ... import ir_pass, build, build_config, nd, TVMError, register_func, target as _target
|
|
38
37
|
from ...contrib import nvcc, ndk, tar
|
|
39
38
|
|
|
40
39
|
from ..util import get_const_tuple
|
|
@@ -139,210 +138,6 @@ class LocalBuilder(Builder):
|
|
|
139
138
|
return results
|
|
140
139
|
|
|
141
140
|
|
|
142
|
-
class RPCRunner(Runner):
|
|
143
|
-
"""Run generated code on remove devices.
|
|
144
|
-
This function will ask a RPC Tracker to get device for measurement.
|
|
145
|
-
|
|
146
|
-
Parameters
|
|
147
|
-
----------
|
|
148
|
-
timeout: float
|
|
149
|
-
The timeout of a compilation
|
|
150
|
-
n_parallel: int
|
|
151
|
-
The number of tasks run in parallel. "None" will use all cpu cores
|
|
152
|
-
key: str
|
|
153
|
-
The key of the device registered in the tracker
|
|
154
|
-
host: str
|
|
155
|
-
The host address of RPC Tracker
|
|
156
|
-
port: int
|
|
157
|
-
The port of RPC Tracker
|
|
158
|
-
number: int
|
|
159
|
-
The number of times to run the generated code for taking average.
|
|
160
|
-
We call these runs as one `repeat` of measurement.
|
|
161
|
-
repeat : int, optional
|
|
162
|
-
The number of times to repeat the measurement.
|
|
163
|
-
In total, the generated code will be run (1 + number x repeat) times,
|
|
164
|
-
where the first "1" is warm up and will be discarded.
|
|
165
|
-
The returned result contains `repeat` costs,
|
|
166
|
-
each of which is an average of `number` costs.
|
|
167
|
-
min_repeat_ms: int, optional
|
|
168
|
-
The minimum duration of one `repeat` in milliseconds.
|
|
169
|
-
By default, one `repeat` contains `number` runs. If this parameter is set,
|
|
170
|
-
the parameters `number` will be dynamically adjusted to meet the
|
|
171
|
-
minimum duration requirement of one `repeat`.
|
|
172
|
-
i.e., When the run time of one `repeat` falls below this time, the `number` parameter
|
|
173
|
-
will be automatically increased.
|
|
174
|
-
cooldown_interval: float, optional
|
|
175
|
-
The cool down interval between two measurements.
|
|
176
|
-
check_correctness: bool, optional
|
|
177
|
-
Whether check correctness after measurement. This will use llvm cpu target to
|
|
178
|
-
call your template and get the reference output.
|
|
179
|
-
This can work for TOPI templates, but may not work for your custom template.
|
|
180
|
-
"""
|
|
181
|
-
def __init__(self,
|
|
182
|
-
key, host, port, priority=1,
|
|
183
|
-
timeout=10, n_parallel=None,
|
|
184
|
-
number=4, repeat=3, min_repeat_ms=0, cooldown_interval=0.1,
|
|
185
|
-
check_correctness=False):
|
|
186
|
-
super(RPCRunner, self).__init__(timeout, n_parallel)
|
|
187
|
-
|
|
188
|
-
self.key = key
|
|
189
|
-
self.host = host
|
|
190
|
-
self.port = port
|
|
191
|
-
self.priority = priority
|
|
192
|
-
self.timeout = timeout
|
|
193
|
-
|
|
194
|
-
self.number = number
|
|
195
|
-
self.repeat = repeat
|
|
196
|
-
self.min_repeat_ms = min_repeat_ms
|
|
197
|
-
|
|
198
|
-
self.ref_input = None
|
|
199
|
-
self.ref_output = None
|
|
200
|
-
self.check_correctness = check_correctness
|
|
201
|
-
self.cooldown_interval = cooldown_interval
|
|
202
|
-
|
|
203
|
-
self.executor = LocalExecutor()
|
|
204
|
-
|
|
205
|
-
def set_task(self, task):
|
|
206
|
-
self.task = task
|
|
207
|
-
|
|
208
|
-
if check_remote(task.target, self.key, self.host, self.port):
|
|
209
|
-
logger.info("Get devices for measurement successfully!")
|
|
210
|
-
else:
|
|
211
|
-
raise RuntimeError("Cannot get remote devices from the tracker. "
|
|
212
|
-
"Please check the status of tracker by "
|
|
213
|
-
"'python -m tvm.exec.query_rpc_tracker --port [THE PORT YOU USE]' "
|
|
214
|
-
"and make sure you have free devices on the queue status.")
|
|
215
|
-
|
|
216
|
-
if self.check_correctness:
|
|
217
|
-
# use llvm cpu to generate a reference input/output
|
|
218
|
-
# this option works for tuning topi, but might not work for you custom op
|
|
219
|
-
with _target.create("llvm"):
|
|
220
|
-
s, arg_bufs = task.instantiate(task.config_space.get(0))
|
|
221
|
-
self.ref_input = [np.random.uniform(size=get_const_tuple(x.shape)).astype(x.dtype)
|
|
222
|
-
for x in arg_bufs]
|
|
223
|
-
func = build(s, arg_bufs, "llvm")
|
|
224
|
-
tvm_buf = [nd.array(x) for x in self.ref_input]
|
|
225
|
-
func(*tvm_buf)
|
|
226
|
-
self.ref_output = [x.asnumpy() for x in tvm_buf]
|
|
227
|
-
|
|
228
|
-
def get_build_kwargs(self):
|
|
229
|
-
kwargs = {}
|
|
230
|
-
if 'cuda' in self.task.target.keys or 'opencl' in self.task.target.keys or \
|
|
231
|
-
'rocm' in self.task.target.keys:
|
|
232
|
-
remote = request_remote(self.key, self.host, self.port)
|
|
233
|
-
ctx = remote.context(str(self.task.target), 0)
|
|
234
|
-
max_dims = ctx.max_thread_dimensions
|
|
235
|
-
kwargs['check_gpu'] = {
|
|
236
|
-
'max_shared_memory_per_block': ctx.max_shared_memory_per_block,
|
|
237
|
-
'max_threads_per_block': ctx.max_threads_per_block,
|
|
238
|
-
'max_thread_x': max_dims[0],
|
|
239
|
-
'max_thread_y': max_dims[1],
|
|
240
|
-
'max_thread_z': max_dims[2],
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
if 'cuda' in self.task.target.keys:
|
|
244
|
-
kwargs["cuda_arch"] = "sm_" + "".join(ctx.compute_version.split('.'))
|
|
245
|
-
|
|
246
|
-
return kwargs
|
|
247
|
-
|
|
248
|
-
def run(self, measure_inputs, build_results):
|
|
249
|
-
results = []
|
|
250
|
-
remote_args = (self.key, self.host, self.port, self.priority, self.timeout)
|
|
251
|
-
|
|
252
|
-
for i in range(0, len(measure_inputs), self.n_parallel):
|
|
253
|
-
futures = []
|
|
254
|
-
for measure_inp, build_res in zip(measure_inputs[i:i+self.n_parallel],
|
|
255
|
-
build_results[i:i+self.n_parallel]):
|
|
256
|
-
ret = self.executor.submit(run_through_rpc,
|
|
257
|
-
measure_inp,
|
|
258
|
-
build_res,
|
|
259
|
-
self.number,
|
|
260
|
-
self.repeat,
|
|
261
|
-
self.min_repeat_ms,
|
|
262
|
-
self.cooldown_interval,
|
|
263
|
-
remote_args,
|
|
264
|
-
self.ref_input,
|
|
265
|
-
self.ref_output)
|
|
266
|
-
futures.append(ret)
|
|
267
|
-
|
|
268
|
-
for future in futures:
|
|
269
|
-
res = future.get()
|
|
270
|
-
if isinstance(res, Exception): # executor error or timeout
|
|
271
|
-
results.append(MeasureResult((str(res),), MeasureErrorNo.RUN_TIMEOUT,
|
|
272
|
-
self.timeout, time.time()))
|
|
273
|
-
else:
|
|
274
|
-
results.append(res)
|
|
275
|
-
|
|
276
|
-
return results
|
|
277
|
-
|
|
278
|
-
class LocalRunner(RPCRunner):
|
|
279
|
-
"""Run generated code on local devices.
|
|
280
|
-
|
|
281
|
-
Parameters
|
|
282
|
-
----------
|
|
283
|
-
timeout: float
|
|
284
|
-
The timeout of a compilation
|
|
285
|
-
number: int
|
|
286
|
-
The number of times to run the generated code for taking average.
|
|
287
|
-
We call these runs as one `repeat` of measurement.
|
|
288
|
-
repeat : int, optional
|
|
289
|
-
The number of times to repeat the measurement.
|
|
290
|
-
In total, the generated code will be run (1 + number x repeat) times,
|
|
291
|
-
where the first one is warm up and will be discarded.
|
|
292
|
-
The returned result contains `repeat` costs,
|
|
293
|
-
each of which is an average of `number` costs.
|
|
294
|
-
min_repeat_ms: int, optional
|
|
295
|
-
The minimum duration of one `repeat` in milliseconds.
|
|
296
|
-
By default, one `repeat` contains `number` runs. If this parameter is set,
|
|
297
|
-
the parameters `number` will be dynamically adjusted to meet the
|
|
298
|
-
minimum duration requirement of one `repeat`.
|
|
299
|
-
i.e., When the run time of one `repeat` falls below this time, the `number` parameter
|
|
300
|
-
will be automatically increased.
|
|
301
|
-
cooldown_interval: float, optional
|
|
302
|
-
The cool down interval between two measurements.
|
|
303
|
-
check_correctness: bool, optional
|
|
304
|
-
Whether check correctness after measurement. This will use llvm cpu target to
|
|
305
|
-
call your template and get the reference output.
|
|
306
|
-
This can work for TOPI templates, but may not work for your custom template.
|
|
307
|
-
|
|
308
|
-
Note
|
|
309
|
-
----
|
|
310
|
-
This is a "fake" local mode. We start a silent rpc tracker and rpc server
|
|
311
|
-
for the user. In this way we reuse timeout/isolation mechanism in RPC infrastructure.
|
|
312
|
-
"""
|
|
313
|
-
def __init__(self,
|
|
314
|
-
timeout=10,
|
|
315
|
-
number=4, repeat=3, min_repeat_ms=0, cooldown_interval=0.1,
|
|
316
|
-
check_correctness=False):
|
|
317
|
-
super(LocalRunner, self).__init__('', None, None, 0,
|
|
318
|
-
timeout=timeout, n_parallel=1,
|
|
319
|
-
number=number, repeat=repeat,
|
|
320
|
-
min_repeat_ms=min_repeat_ms,
|
|
321
|
-
cooldown_interval=cooldown_interval,
|
|
322
|
-
check_correctness=check_correctness)
|
|
323
|
-
self.tracker = None
|
|
324
|
-
self.server = None
|
|
325
|
-
|
|
326
|
-
def set_task(self, task):
|
|
327
|
-
self.task = task
|
|
328
|
-
|
|
329
|
-
from ...rpc.tracker import Tracker
|
|
330
|
-
from ...rpc.server import Server
|
|
331
|
-
|
|
332
|
-
tracker = Tracker('0.0.0.0', port=9000, port_end=10000, silent=True)
|
|
333
|
-
device_key = '$local$device$%d' % tracker.port
|
|
334
|
-
server = Server('0.0.0.0', port=9000, port_end=10000,
|
|
335
|
-
key=device_key,
|
|
336
|
-
use_popen=True, silent=True,
|
|
337
|
-
tracker_addr=(tracker.host, tracker.port))
|
|
338
|
-
self.key = device_key
|
|
339
|
-
self.host = tracker.host
|
|
340
|
-
self.port = tracker.port
|
|
341
|
-
|
|
342
|
-
super(LocalRunner, self).set_task(task)
|
|
343
|
-
return server, tracker
|
|
344
|
-
|
|
345
|
-
|
|
346
141
|
def _build_func_common(measure_input, check_gpu=None, cuda_arch=None, build_option=None):
|
|
347
142
|
"""Common part for building a configuration"""
|
|
348
143
|
target, task, config = measure_input
|
|
@@ -413,172 +208,6 @@ def _wrap_build_func(build_func):
|
|
|
413
208
|
return _wrapped
|
|
414
209
|
|
|
415
210
|
|
|
416
|
-
def run_through_rpc(measure_input, build_result,
|
|
417
|
-
number, repeat, min_repeat_ms, cooldown_interval,
|
|
418
|
-
remote_args, ref_input=None, ref_output=None):
|
|
419
|
-
"""Run a generated library through rpc
|
|
420
|
-
|
|
421
|
-
Parameters
|
|
422
|
-
----------
|
|
423
|
-
measure_input: MeasureInput
|
|
424
|
-
The raw measure input
|
|
425
|
-
build_result: BuildResult
|
|
426
|
-
The result returned from Builder. This contains the path to the generated library.
|
|
427
|
-
number: int
|
|
428
|
-
The number of times to run the generated code for taking average.
|
|
429
|
-
We call these runs as one `repeat` of measurement.
|
|
430
|
-
repeat : int, optional
|
|
431
|
-
The number of times to repeat the measurement.
|
|
432
|
-
In total, the generated code will be run (1 + number x repeat) times,
|
|
433
|
-
where the first one is warm up and will be discarded.
|
|
434
|
-
The returned result contains `repeat` costs,
|
|
435
|
-
each of which is an average of `number` costs.
|
|
436
|
-
min_repeat_ms: int, optional
|
|
437
|
-
The minimum duration of one `repeat` in milliseconds.
|
|
438
|
-
By default, one `repeat` contains `number` runs. If this parameter is set,
|
|
439
|
-
the parameters `number` will be dynamically adjusted to meet the
|
|
440
|
-
minimum duration requirement of one `repeat`.
|
|
441
|
-
i.e., When the run time of one `repeat` falls below this time, the `number` parameter
|
|
442
|
-
will be automatically increased.
|
|
443
|
-
cooldown_interval: float
|
|
444
|
-
The cool down interval between two measurements
|
|
445
|
-
remote_args: Tuple
|
|
446
|
-
The argument for request_remote
|
|
447
|
-
ref_input: List of np.ndarray
|
|
448
|
-
The reference input used for checking correctness
|
|
449
|
-
ref_output: List of np.ndarray
|
|
450
|
-
The reference output used for checking correctness
|
|
451
|
-
"""
|
|
452
|
-
if isinstance(build_result, MeasureResult):
|
|
453
|
-
return build_result
|
|
454
|
-
|
|
455
|
-
tic = time.time()
|
|
456
|
-
errno = MeasureErrorNo.NO_ERROR
|
|
457
|
-
try:
|
|
458
|
-
# upload built module
|
|
459
|
-
remote = request_remote(*remote_args)
|
|
460
|
-
# Program the FPGA every single time when targeting VTA
|
|
461
|
-
if hasattr(measure_input.target, 'device_name') and \
|
|
462
|
-
measure_input.target.device_name == 'vta':
|
|
463
|
-
from vta import program_fpga, reconfig_runtime
|
|
464
|
-
program_fpga(remote, None)
|
|
465
|
-
reconfig_runtime(remote)
|
|
466
|
-
remote.upload(build_result.filename)
|
|
467
|
-
func = remote.load_module(os.path.split(build_result.filename)[1])
|
|
468
|
-
ctx = remote.context(str(measure_input.target), 0)
|
|
469
|
-
time_f = func.time_evaluator(
|
|
470
|
-
func.entry_name, ctx, number=number, repeat=repeat, min_repeat_ms=min_repeat_ms)
|
|
471
|
-
|
|
472
|
-
# set input
|
|
473
|
-
if ref_input:
|
|
474
|
-
args = [nd.array(x, ctx=ctx) for x in ref_input]
|
|
475
|
-
else:
|
|
476
|
-
# create empty arrays on the remote device and copy them once.
|
|
477
|
-
# This can avoid some memory issues that make the measurement results unreliable.
|
|
478
|
-
args = [nd.empty(x[0], dtype=x[1], ctx=ctx) for x in build_result.arg_info]
|
|
479
|
-
args = [nd.array(x, ctx=ctx) for x in args]
|
|
480
|
-
ctx.sync()
|
|
481
|
-
|
|
482
|
-
costs = time_f(*args).results
|
|
483
|
-
|
|
484
|
-
# clean up remote files
|
|
485
|
-
remote.remove(build_result.filename)
|
|
486
|
-
remote.remove(os.path.splitext(build_result.filename)[0] + '.so')
|
|
487
|
-
remote.remove('')
|
|
488
|
-
|
|
489
|
-
if len(costs) > 2: # remove largest and smallest value to reduce variance
|
|
490
|
-
costs = list(costs)
|
|
491
|
-
costs.sort()
|
|
492
|
-
costs = tuple(costs[1:-1])
|
|
493
|
-
|
|
494
|
-
# check correctness of output
|
|
495
|
-
if ref_output:
|
|
496
|
-
for expected, real in zip(ref_output, args):
|
|
497
|
-
if not np.allclose(expected, real.asnumpy(), rtol=1e-4):
|
|
498
|
-
logger.warning("Wrong Answer!")
|
|
499
|
-
errno = MeasureErrorNo.WRONG_ANSWER
|
|
500
|
-
except TVMError as exc:
|
|
501
|
-
msg = str(exc)
|
|
502
|
-
if "Stack trace returned" in msg:
|
|
503
|
-
msg = msg[:msg.index("Stack trace returned")]
|
|
504
|
-
if "CUDA Source" in msg:
|
|
505
|
-
msg = msg[:msg.index("CUDA Source")]
|
|
506
|
-
costs = (RuntimeError(msg[:1024]),)
|
|
507
|
-
errno = MeasureErrorNo.RUNTIME_DEVICE
|
|
508
|
-
tstamp = time.time()
|
|
509
|
-
time.sleep(cooldown_interval)
|
|
510
|
-
return MeasureResult(costs, errno, tstamp - tic + build_result.time_cost, tstamp)
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
def request_remote(device_key, host=None, port=None, priority=1, timeout=60):
|
|
514
|
-
"""Request a remote session
|
|
515
|
-
|
|
516
|
-
Parameters
|
|
517
|
-
----------
|
|
518
|
-
device_key: string
|
|
519
|
-
The device key of registered device in tracker
|
|
520
|
-
host: host, optional
|
|
521
|
-
The host address of rpc tracker.
|
|
522
|
-
If is none, will use environment variable "TVM_TRACKER_HOST"
|
|
523
|
-
port: int, optional
|
|
524
|
-
The port of rpc tracker.
|
|
525
|
-
If is none, will use environment variable "TVM_TRACKER_PORT"
|
|
526
|
-
priority: int, optional
|
|
527
|
-
The priority of this request, larger is more prior
|
|
528
|
-
timeout: float, optional
|
|
529
|
-
The timeout of this session (units: second)
|
|
530
|
-
|
|
531
|
-
Returns
|
|
532
|
-
------
|
|
533
|
-
session: RPCSession
|
|
534
|
-
"""
|
|
535
|
-
# connect to the tracker
|
|
536
|
-
host = host or os.environ['TVM_TRACKER_HOST']
|
|
537
|
-
port = port or int(os.environ['TVM_TRACKER_PORT'])
|
|
538
|
-
|
|
539
|
-
tracker = _rpc.connect_tracker(host, port)
|
|
540
|
-
remote = tracker.request(device_key, priority=priority,
|
|
541
|
-
session_timeout=timeout)
|
|
542
|
-
return remote
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
def check_remote(target, device_key, host=None, port=None, priority=100, timeout=10):
|
|
546
|
-
"""
|
|
547
|
-
Check the availability of a remote device
|
|
548
|
-
|
|
549
|
-
Parameters
|
|
550
|
-
----------
|
|
551
|
-
target: Target
|
|
552
|
-
The wanted compilation target
|
|
553
|
-
device_key: string
|
|
554
|
-
device key of registered device in tracker
|
|
555
|
-
host: host, optional
|
|
556
|
-
The host address of rpc tracker.
|
|
557
|
-
If is none, will use environment variable "TVM_TRACKER_HOST"
|
|
558
|
-
port: int, optional
|
|
559
|
-
The port address of rpc tracker.
|
|
560
|
-
If is none, will use environment variable "TVM_TRACKER_PORT"
|
|
561
|
-
priority: int, optional
|
|
562
|
-
The priority of this request, larger is more prior
|
|
563
|
-
timeout: float, optional
|
|
564
|
-
The timeout of this check (units: seconds).
|
|
565
|
-
|
|
566
|
-
Returns
|
|
567
|
-
-------
|
|
568
|
-
available: bool
|
|
569
|
-
True if can find available device
|
|
570
|
-
"""
|
|
571
|
-
def _check():
|
|
572
|
-
remote = request_remote(device_key, host, port, priority)
|
|
573
|
-
ctx = remote.context(str(target))
|
|
574
|
-
while not ctx.exist: # wait until we get an available device
|
|
575
|
-
pass
|
|
576
|
-
t = threading.Thread(target=_check,)
|
|
577
|
-
t.start()
|
|
578
|
-
t.join(timeout)
|
|
579
|
-
return not t.is_alive()
|
|
580
|
-
|
|
581
|
-
|
|
582
211
|
@register_func
|
|
583
212
|
def tvm_callback_cuda_compile(code):
|
|
584
213
|
"""use nvcc to generate ptx code for better optimization"""
|
|
@@ -21,6 +21,7 @@ LoweredFunc and compiled Module.
|
|
|
21
21
|
"""
|
|
22
22
|
# 2021.01.13 - Modify variable unroll_explicit to False.
|
|
23
23
|
# 2021.03.17 - Add dump_mlir.
|
|
24
|
+
# 2023.02.03 - Add activated_pass.
|
|
24
25
|
|
|
25
26
|
from __future__ import absolute_import as _abs
|
|
26
27
|
import warnings
|
|
@@ -182,6 +183,19 @@ class BuildConfig(NodeBase):
|
|
|
182
183
|
add_lower_pass_args += [x[0], x[1]]
|
|
183
184
|
_api_internal._BuildConfigSetAddLowerPass(self, *add_lower_pass_args)
|
|
184
185
|
|
|
186
|
+
@property
|
|
187
|
+
def activated_passes(self):
|
|
188
|
+
size = _api_internal._BuildConfigGetActivatedPassesInfo(self)
|
|
189
|
+
result = []
|
|
190
|
+
for i in range(size):
|
|
191
|
+
result.append(_api_internal._BuildConfigGetActivatedPassesInfo(self, i))
|
|
192
|
+
return result
|
|
193
|
+
|
|
194
|
+
@activated_passes.setter
|
|
195
|
+
def activated_passes(self, value):
|
|
196
|
+
activated_passes_args = [pass_name for pass_name in value]
|
|
197
|
+
_api_internal._BuildConfigSetActivatedPasses(self, *activated_passes_args)
|
|
198
|
+
|
|
185
199
|
def __enter__(self):
|
|
186
200
|
# pylint: disable=protected-access
|
|
187
201
|
_api_internal._EnterBuildConfigScope(self)
|
|
@@ -266,7 +280,8 @@ def build_config(**kwargs):
|
|
|
266
280
|
|
|
267
281
|
if "add_lower_pass" in kwargs:
|
|
268
282
|
config.add_lower_pass = kwargs["add_lower_pass"]
|
|
269
|
-
|
|
283
|
+
if "activated_passes" in kwargs:
|
|
284
|
+
config.activated_passes = kwargs["activated_passes"]
|
|
270
285
|
return config
|
|
271
286
|
|
|
272
287
|
def get_binds(args, compact=False, binds=None):
|
|
@@ -20,7 +20,6 @@ import numpy as np
|
|
|
20
20
|
from .._ffi.base import string_types
|
|
21
21
|
from .._ffi.function import get_global_func
|
|
22
22
|
from .._ffi.runtime_ctypes import TVMContext
|
|
23
|
-
from ..rpc import base as rpc_base
|
|
24
23
|
|
|
25
24
|
def create(graph_json_str, libmod, ctx):
|
|
26
25
|
"""Create a runtime executor module given a graph and module.
|
|
@@ -48,60 +47,9 @@ def create(graph_json_str, libmod, ctx):
|
|
|
48
47
|
except AttributeError:
|
|
49
48
|
raise ValueError("Type %s is not supported" % type(graph_json_str))
|
|
50
49
|
|
|
51
|
-
ctx, num_rpc_ctx, device_type_id = get_device_ctx(libmod, ctx)
|
|
52
|
-
|
|
53
|
-
if num_rpc_ctx == len(ctx):
|
|
54
|
-
hmod = rpc_base._ModuleHandle(libmod)
|
|
55
|
-
fcreate = ctx[0]._rpc_sess.get_function("tvm.graph_runtime.remote_create")
|
|
56
|
-
return GraphModule(fcreate(graph_json_str, hmod, *device_type_id))
|
|
57
|
-
|
|
58
50
|
fcreate = get_global_func("tvm.graph_runtime.create")
|
|
59
51
|
return GraphModule(fcreate(graph_json_str, libmod, *device_type_id))
|
|
60
52
|
|
|
61
|
-
def get_device_ctx(libmod, ctx):
|
|
62
|
-
"""Parse and validate all the device context(s).
|
|
63
|
-
Parameters
|
|
64
|
-
----------
|
|
65
|
-
libmod : tvm.Module
|
|
66
|
-
The module of the corresponding function
|
|
67
|
-
ctx : TVMContext or list of TVMContext
|
|
68
|
-
Returns
|
|
69
|
-
-------
|
|
70
|
-
ctx : list of TVMContext
|
|
71
|
-
num_rpc_ctx : Number of rpc contexts
|
|
72
|
-
device_type_id : List of device type and device id
|
|
73
|
-
"""
|
|
74
|
-
|
|
75
|
-
if isinstance(ctx, TVMContext):
|
|
76
|
-
ctx = [ctx]
|
|
77
|
-
elif not isinstance(ctx, (list, tuple)):
|
|
78
|
-
raise ValueError("ctx has to be the type of TVMContext or a list of "
|
|
79
|
-
"TVMCTVMContext")
|
|
80
|
-
for cur_ctx in ctx:
|
|
81
|
-
if not isinstance(cur_ctx, TVMContext):
|
|
82
|
-
raise ValueError("ctx has to be the type of TVMContext or a list "
|
|
83
|
-
"of TVMContext")
|
|
84
|
-
|
|
85
|
-
# device_type_id[0], device_type_id[1] are used as the primary/fallback
|
|
86
|
-
# context type and id. All other ones are used as device context for
|
|
87
|
-
# heterogeneous execution.
|
|
88
|
-
num_rpc_ctx = 0
|
|
89
|
-
device_type_id = []
|
|
90
|
-
for cur_ctx in ctx:
|
|
91
|
-
device_type = cur_ctx.device_type
|
|
92
|
-
if device_type >= rpc_base.RPC_SESS_MASK:
|
|
93
|
-
assert libmod.type_key == "rpc"
|
|
94
|
-
assert rpc_base._SessTableIndex(
|
|
95
|
-
libmod) == cur_ctx._rpc_sess._tbl_index
|
|
96
|
-
num_rpc_ctx += 1
|
|
97
|
-
device_type = cur_ctx.device_type % rpc_base.RPC_SESS_MASK
|
|
98
|
-
device_type_id.append(device_type)
|
|
99
|
-
device_type_id.append(cur_ctx.device_id)
|
|
100
|
-
|
|
101
|
-
if 0 < num_rpc_ctx < len(ctx):
|
|
102
|
-
raise ValueError("Either all or none of the contexts should be rpc.")
|
|
103
|
-
return ctx, num_rpc_ctx, device_type_id
|
|
104
|
-
|
|
105
53
|
|
|
106
54
|
class GraphModule(object):
|
|
107
55
|
"""Wrapper runtime module.
|
|
@@ -149,7 +97,6 @@ class GraphModule(object):
|
|
|
149
97
|
self._get_input(key).copyfrom(value)
|
|
150
98
|
|
|
151
99
|
if params:
|
|
152
|
-
# upload big arrays first to avoid memory issue in rpc mode
|
|
153
100
|
keys = list(params.keys())
|
|
154
101
|
keys.sort(key=lambda x: -np.prod(params[x].shape))
|
|
155
102
|
for k in keys:
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
"""Hybrid Script Parser"""
|
|
18
18
|
|
|
19
|
+
# 2023.08.16 - Support parser for python 3.9 and up.
|
|
19
20
|
# 2022.02.15 - Support grid as new loop mode.
|
|
20
21
|
# 2022.01.19 - Support negative extent for range.
|
|
21
22
|
# 2021.12.15 - Support block_realize intrin in with scope.
|
|
@@ -304,7 +305,7 @@ class HybridParser(ast.NodeVisitor):
|
|
|
304
305
|
_dtype = _buf.dtype
|
|
305
306
|
_true = _api.convert(True)
|
|
306
307
|
body = _make.Realize(_buf.op, _buf.value_index, _dtype, _domain, _true, body)
|
|
307
|
-
body = _make.AttrStmt(_buf.op, 'realize_scope', _api.convert(_scope), body)
|
|
308
|
+
body = _make.AttrStmt(_buf.op, 'realize_scope', _api.convert(_scope), body, None)
|
|
308
309
|
|
|
309
310
|
for elem in to_pop:
|
|
310
311
|
self.symbols.pop(elem)
|
|
@@ -315,7 +316,7 @@ class HybridParser(ast.NodeVisitor):
|
|
|
315
316
|
def wrap_up_binds(self, body):
|
|
316
317
|
for _, iter_var in self.binds.items():
|
|
317
318
|
ext = iter_var.dom.extent
|
|
318
|
-
body = _make.AttrStmt(iter_var, 'thread_extent', ext, body)
|
|
319
|
+
body = _make.AttrStmt(iter_var, 'thread_extent', ext, body, None)
|
|
319
320
|
self.binds = {}
|
|
320
321
|
return body
|
|
321
322
|
|
|
@@ -650,7 +651,7 @@ class HybridParser(ast.NodeVisitor):
|
|
|
650
651
|
_apply_indices(self.closure_vars[node.value.id], args))
|
|
651
652
|
|
|
652
653
|
buf = self.visit(node.value)
|
|
653
|
-
if isinstance(buf, Array):
|
|
654
|
+
if isinstance(buf, (Array, list)):
|
|
654
655
|
for i in args:
|
|
655
656
|
if isinstance(i, numbers.Integral):
|
|
656
657
|
buf = buf[i]
|
|
@@ -709,17 +710,17 @@ class HybridParser(ast.NodeVisitor):
|
|
|
709
710
|
if context.func.id == "attr":
|
|
710
711
|
args = [self.visit(i) for i in context.args]
|
|
711
712
|
return _make.AttrStmt(_api._IterVar(None, block.loop_var.name, 0), args[0],
|
|
712
|
-
_api.convert(args[1]), block)
|
|
713
|
+
_api.convert(args[1]), block, None)
|
|
713
714
|
elif context.func.id == "allocate":
|
|
714
715
|
lhs = node.items[0].optional_vars
|
|
715
716
|
rhs = self.visit(context)
|
|
716
717
|
_ = self.generate_one_assign(lhs, rhs)
|
|
717
718
|
return _make.AttrStmt(rhs, "type",
|
|
718
|
-
_api.convert("inline"), block)
|
|
719
|
+
_api.convert("inline"), block, None)
|
|
719
720
|
elif context.func.id == "block_realize":
|
|
720
721
|
args = [self.visit(i) for i in context.args]
|
|
721
722
|
return _make.AttrStmt(args[0].op, "block_realize",
|
|
722
|
-
_api.convert(True), block)
|
|
723
|
+
_api.convert(True), block, None)
|
|
723
724
|
else:
|
|
724
725
|
raise ValueError("unsupported function in With scope")
|
|
725
726
|
|
|
@@ -174,7 +174,7 @@ class IRBuilder(object):
|
|
|
174
174
|
node = _make.StringImm(node)
|
|
175
175
|
if isinstance(value, string_types):
|
|
176
176
|
value = _make.StringImm(value)
|
|
177
|
-
self.emit(lambda x: _make.AttrStmt(node, attr_key, value, x))
|
|
177
|
+
self.emit(lambda x: _make.AttrStmt(node, attr_key, value, x, None))
|
|
178
178
|
|
|
179
179
|
def for_range(self, begin, end, name="i", dtype="int32", for_type="serial"):
|
|
180
180
|
"""Create a for iteration scope.
|
mindspore/_akg/akg/tvm/module.py
CHANGED
|
@@ -206,7 +206,7 @@ class Module(ModuleBase):
|
|
|
206
206
|
The ProfileResult reports `repeat` time costs in seconds.
|
|
207
207
|
"""
|
|
208
208
|
try:
|
|
209
|
-
feval =
|
|
209
|
+
feval = _TimeEvaluator(
|
|
210
210
|
self, func_name, ctx.device_type, ctx.device_id, number, repeat, min_repeat_ms,
|
|
211
211
|
cooldown_interval_ms, repeats_to_cooldown, preproc_name)
|
|
212
212
|
|
|
@@ -268,7 +268,6 @@ def load(path, fmt=""):
|
|
|
268
268
|
cc.create_shared if the path is in format .o or .tar
|
|
269
269
|
"""
|
|
270
270
|
# High level handling for .o and .tar file.
|
|
271
|
-
# We support this to be consistent with RPC module load.
|
|
272
271
|
if path.endswith(".o"):
|
|
273
272
|
_cc.create_shared(path + ".so", path)
|
|
274
273
|
path += ".so"
|
mindspore/_akg/akg/tvm/stmt.py
CHANGED
|
@@ -235,9 +235,9 @@ class AttrStmt(Stmt):
|
|
|
235
235
|
body : Stmt
|
|
236
236
|
The body statement.
|
|
237
237
|
"""
|
|
238
|
-
def __init__(self, node, attr_key, value, body):
|
|
238
|
+
def __init__(self, node, attr_key, value, body, bounds=None):
|
|
239
239
|
self.__init_handle_by_constructor__(
|
|
240
|
-
_make.AttrStmt, node, attr_key, value, body)
|
|
240
|
+
_make.AttrStmt, node, attr_key, value, body, bounds)
|
|
241
241
|
|
|
242
242
|
|
|
243
243
|
@register_node
|
|
@@ -95,7 +95,7 @@ def compare_tensor(acu_output, exp_output, rtol=1.e-5, atol=1.e-8, equal_nan=Fal
|
|
|
95
95
|
|
|
96
96
|
def get_rtol_atol(op_name, dtype, rtol=5e-03, atol=5e-03):
|
|
97
97
|
run_mode = os.environ.get('RUNTIME_MODE')
|
|
98
|
-
if run_mode in ("
|
|
98
|
+
if run_mode in ("air_cloud",):
|
|
99
99
|
if dtype == "float16":
|
|
100
100
|
rtol = atol = 1e-03
|
|
101
101
|
else:
|
|
@@ -272,11 +272,7 @@ def _gen_uniq_file_name(op_name):
|
|
|
272
272
|
|
|
273
273
|
def _collect_inplace_assign_infos(op, infos, sum_out):
|
|
274
274
|
"""Collect inplace assign infos."""
|
|
275
|
-
|
|
276
|
-
return
|
|
277
|
-
fake_output = get_attr(op["attr"], "fake_output")
|
|
278
|
-
if fake_output:
|
|
279
|
-
infos["fake_output_tensors"].append(op["output_desc"][0]["tensor_name"])
|
|
275
|
+
infos["fake_output_tensors"].append(op["output_desc"][0]["tensor_name"])
|
|
280
276
|
input0, input1 = op["input_desc"][0][0], op["input_desc"][1][0]
|
|
281
277
|
if input1["tensor_name"] in sum_out:
|
|
282
278
|
infos["clean_input"].append(input0["tensor_name"])
|
|
@@ -302,9 +298,8 @@ def _collect_infos(desc, infos):
|
|
|
302
298
|
indices_shape=input1["shape"],
|
|
303
299
|
indices_dtype=input1["data_type"],
|
|
304
300
|
attrs=get_attr(op["attr"], "num_segments"))
|
|
305
|
-
elif op["name"]
|
|
306
|
-
|
|
307
|
-
_collect_inplace_assign_infos(op, infos, sum_out)
|
|
301
|
+
elif op["name"] == "Assign":
|
|
302
|
+
_collect_inplace_assign_infos(op, infos, sum_out)
|
|
308
303
|
infos["inplace_assign_write"].append(op["input_desc"][0][0]["tensor_name"])
|
|
309
304
|
elif op["name"] in ["TensorScatterAdd", "Gather", "GatherNd"]:
|
|
310
305
|
input0, input1 = op["input_desc"][0][0], op["input_desc"][1][0]
|
|
@@ -543,7 +538,11 @@ def _update_workspace_data(kernel_name, input_for_mod, output_indexes):
|
|
|
543
538
|
def gen_json_data(op_desc, with_compute=True, input_for_mod=None):
|
|
544
539
|
"""Generating test data for composite json"""
|
|
545
540
|
desc = json.loads(op_desc)
|
|
546
|
-
|
|
541
|
+
from akg.ms.info_version_adapt import InfoVersionAdapt
|
|
542
|
+
info_adapter = InfoVersionAdapt(desc)
|
|
543
|
+
ret = info_adapter.run()
|
|
544
|
+
if not ret:
|
|
545
|
+
raise RuntimeError(info_adapter.msg)
|
|
547
546
|
output_indexes = []
|
|
548
547
|
expect = []
|
|
549
548
|
infos = {"gen_data": False,
|