From 9044a4268c523936fe917b0283fba70b0ba20227 Mon Sep 17 00:00:00 2001 From: sunsuodong Date: Fri, 5 Mar 2021 16:32:09 +0800 Subject: [PATCH] reduce_arithmetic_memory --- mindspore/lite/nnacl/fp32/conv_common_fp32.c | 1 - .../lite/src/runtime/kernel/arm/fp16/cast_fp16.cc | 10 ++++++++++ .../src/runtime/kernel/arm/fp32/arithmetic_fp32.cc | 6 ++---- .../src/runtime/kernel/arm/fp32/batch_to_space_fp32.h | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/mindspore/lite/nnacl/fp32/conv_common_fp32.c b/mindspore/lite/nnacl/fp32/conv_common_fp32.c index fb244351ae..997f6053ff 100644 --- a/mindspore/lite/nnacl/fp32/conv_common_fp32.c +++ b/mindspore/lite/nnacl/fp32/conv_common_fp32.c @@ -16,7 +16,6 @@ #include "nnacl/fp32/conv_common_fp32.h" #include -#include "nnacl/fp32/common_func_fp32.h" #include "nnacl/fp32/matmul_fp32.h" // fp32 conv common diff --git a/mindspore/lite/src/runtime/kernel/arm/fp16/cast_fp16.cc b/mindspore/lite/src/runtime/kernel/arm/fp16/cast_fp16.cc index 03488a7e5b..b24f3abbe2 100644 --- a/mindspore/lite/src/runtime/kernel/arm/fp16/cast_fp16.cc +++ b/mindspore/lite/src/runtime/kernel/arm/fp16/cast_fp16.cc @@ -111,6 +111,16 @@ int CastFp16CPUKernel::DoCast(int thread_id) { MS_LOG(ERROR) << "Unsupported output data type " << output_data_type; return RET_ERROR; } + } else if (input_data_type == kNumberTypeInt32) { + switch (output_data_type) { + case kNumberTypeFloat32: + Int32ToFloat32(static_cast(input->data_c()) + offset, static_cast(output_data) + offset, + data_num); + break; + default: + MS_LOG(ERROR) << "Unsupported output data type " << output_data_type; + return RET_ERROR; + } } else { MS_LOG(ERROR) << "Unsupported input data type " << input_data_type; return RET_ERROR; diff --git a/mindspore/lite/src/runtime/kernel/arm/fp32/arithmetic_fp32.cc b/mindspore/lite/src/runtime/kernel/arm/fp32/arithmetic_fp32.cc index 1423987b65..39c4a4aabc 100644 --- a/mindspore/lite/src/runtime/kernel/arm/fp32/arithmetic_fp32.cc +++ b/mindspore/lite/src/runtime/kernel/arm/fp32/arithmetic_fp32.cc @@ -91,8 +91,7 @@ int ArithmeticCPUKernel::ConstTensorBroadCast() { param_->in_elements_num1_ != param_->out_elements_num_) { return RET_OK; } - if ((param_->in_elements_num0_ == 1 || param_->in_elements_num1_ == 1) && - (arithmetic_opt_run_ != nullptr && arithmetic_opt_run_int_ != nullptr)) { + if ((param_->in_elements_num0_ == 1 || param_->in_elements_num1_ == 1) && arithmetic_opt_run_ != nullptr) { /* run opt function * one of input is scalar */ return RET_OK; @@ -327,8 +326,7 @@ int ArithmeticCPUKernel::DoArithmetic(int task_id) { } int offset = stride * task_id * data_type_len_; /* run opt function, one of input is scalar */ - if ((param_->in_elements_num0_ == 1 || param_->in_elements_num1_ == 1) && - (arithmetic_opt_run_ != nullptr && arithmetic_opt_run_int_ != nullptr)) { + if ((param_->in_elements_num0_ == 1 || param_->in_elements_num1_ == 1) && arithmetic_opt_run_ != nullptr) { if (param_->in_elements_num0_ == 1) { return Execute(input0_ptr_, static_cast(input1_ptr_) + offset, static_cast(output_ptr_) + offset, count, true); diff --git a/mindspore/lite/src/runtime/kernel/arm/fp32/batch_to_space_fp32.h b/mindspore/lite/src/runtime/kernel/arm/fp32/batch_to_space_fp32.h index 42ccb68589..25a4ca020f 100644 --- a/mindspore/lite/src/runtime/kernel/arm/fp32/batch_to_space_fp32.h +++ b/mindspore/lite/src/runtime/kernel/arm/fp32/batch_to_space_fp32.h @@ -38,7 +38,7 @@ class BatchToSpaceCPUKernel : public LiteKernel { private: int32_t block_shape_[BATCH_TO_SPACE_BLOCK_SHAPE_SIZE]; int32_t crops_[COMM_SHAPE_SIZE]; - bool no_crop_; + bool no_crop_ = false; }; } // namespace mindspore::kernel