Browse Source

!9499 [MS][LITE][GPU]check op tensor size

From: @chenzupeng
Reviewed-by: @ddwsky,@zhanghaibo5
Signed-off-by: @zhanghaibo5
pull/9499/MERGE
mindspore-ci-bot Gitee 5 years ago
parent
commit
034144dc0c
9 changed files with 36 additions and 0 deletions
  1. +4
    -0
      mindspore/lite/src/runtime/kernel/opencl/kernel/activation.cc
  2. +4
    -0
      mindspore/lite/src/runtime/kernel/opencl/kernel/arithmetic.cc
  3. +4
    -0
      mindspore/lite/src/runtime/kernel/opencl/kernel/convolution.cc
  4. +4
    -0
      mindspore/lite/src/runtime/kernel/opencl/kernel/depthwise_conv2d.cc
  5. +4
    -0
      mindspore/lite/src/runtime/kernel/opencl/kernel/fullconnection.cc
  6. +4
    -0
      mindspore/lite/src/runtime/kernel/opencl/kernel/pooling2d.cc
  7. +4
    -0
      mindspore/lite/src/runtime/kernel/opencl/kernel/reshape.cc
  8. +4
    -0
      mindspore/lite/src/runtime/kernel/opencl/kernel/softmax.cc
  9. +4
    -0
      mindspore/lite/src/runtime/kernel/opencl/kernel/transpose.cc

+ 4
- 0
mindspore/lite/src/runtime/kernel/opencl/kernel/activation.cc View File

@@ -43,6 +43,10 @@ using mindspore::schema::PrimitiveType_Activation;
namespace mindspore::kernel {

int ActivationOpenClKernel::Init() {
if (in_tensors_.size() != 1 || out_tensors_.size() != 1) {
MS_LOG(ERROR) << "Invalid input size: " << in_tensors_.size() << ", output size: " << out_tensors_.size();
return RET_ERROR;
}
std::map<int, std::string> kernel_names{
{ActivationType_LEAKY_RELU, "LeakyRelu"}, {ActivationType_RELU, "Relu"}, {ActivationType_SIGMOID, "Sigmoid"},
{ActivationType_RELU6, "Relu6"}, {ActivationType_TANH, "Tanh"}, {ActivationType_SWISH, "Swish"},


+ 4
- 0
mindspore/lite/src/runtime/kernel/opencl/kernel/arithmetic.cc View File

@@ -165,6 +165,10 @@ int ArithmeticOpenCLKernel::SetArgs() {
}

int ArithmeticOpenCLKernel::Init() {
if (in_tensors_.size() != 2 || out_tensors_.size() != 1) {
MS_LOG(ERROR) << "Invalid input size: " << in_tensors_.size() << ", output size: " << out_tensors_.size();
return RET_ERROR;
}
std::string kernel_name;
auto *arithmetic_parameter = reinterpret_cast<const ArithmeticParameter *>(op_parameter_);



+ 4
- 0
mindspore/lite/src/runtime/kernel/opencl/kernel/convolution.cc View File

@@ -39,6 +39,10 @@ constexpr size_t CI_TILE = C4NUM;
constexpr size_t CO_TILE = C4NUM;

int ConvolutionOpenCLKernel::Init() {
if ((in_tensors_.size() != 2 && in_tensors_.size() != 3) || out_tensors_.size() != 1) {
MS_LOG(ERROR) << "Invalid input size: " << in_tensors_.size() << ", output size: " << out_tensors_.size();
return RET_ERROR;
}
use_fp16_ = ocl_runtime_->GetFp16Enable();
sizeof_FLT_ = use_fp16_ ? sizeof(float16_t) : sizeof(float);



+ 4
- 0
mindspore/lite/src/runtime/kernel/opencl/kernel/depthwise_conv2d.cc View File

@@ -42,6 +42,10 @@ using mindspore::schema::PrimitiveType_DepthwiseConv2D;
namespace mindspore::kernel {

int DepthwiseConv2dOpenCLKernel::Init() {
if ((in_tensors_.size() != 2 && in_tensors_.size() != 3) || out_tensors_.size() != 1) {
MS_LOG(ERROR) << "Invalid input size: " << in_tensors_.size() << ", output size: " << out_tensors_.size();
return RET_ERROR;
}
std::string kernel_name = "DepthwiseConv2d";
if (out_mem_type_ == OpenCLMemType::BUF) {
kernel_name += "_BUF";


+ 4
- 0
mindspore/lite/src/runtime/kernel/opencl/kernel/fullconnection.cc View File

@@ -34,6 +34,10 @@ using mindspore::schema::PrimitiveType_FullConnection;
namespace mindspore::kernel {

int FullConnectionOpenCLKernel::Init() {
if ((in_tensors_.size() != 2 && in_tensors_.size() != 3) || out_tensors_.size() != 1) {
MS_LOG(ERROR) << "Invalid input size: " << in_tensors_.size() << ", output size: " << out_tensors_.size();
return RET_ERROR;
}
std::string kernel_name = "FullConnection_NHWC4";
auto param = reinterpret_cast<MatMulParameter *>(op_parameter_);
transposeA = param->a_transpose_;


+ 4
- 0
mindspore/lite/src/runtime/kernel/opencl/kernel/pooling2d.cc View File

@@ -37,6 +37,10 @@ using mindspore::schema::PrimitiveType_Pooling;
namespace mindspore {
namespace kernel {
int PoolingOpenCLKernel::Init() {
if (in_tensors_.size() != 1 || out_tensors_.size() != 1) {
MS_LOG(ERROR) << "Invalid input size: " << in_tensors_.size() << ", output size: " << out_tensors_.size();
return RET_ERROR;
}
std::string kernel_name;
#ifndef PROGRAM_WITH_IL
std::string source;


+ 4
- 0
mindspore/lite/src/runtime/kernel/opencl/kernel/reshape.cc View File

@@ -31,6 +31,10 @@ using mindspore::schema::PrimitiveType_Squeeze;
namespace mindspore::kernel {

int ReshapeOpenCLKernel::Init() {
if ((in_tensors_.size() != 1 && in_tensors_.size() != 2) || out_tensors_.size() != 1) {
MS_LOG(ERROR) << "Invalid input size: " << in_tensors_.size() << ", output size: " << out_tensors_.size();
return RET_ERROR;
}
std::string kernel_name = "reshape_NHWC4";
if (out_tensors_[0]->shape().size() != 2 && out_tensors_[0]->shape().size() != 4) {
MS_LOG(ERROR) << "Reshape output size should in 2,4";


+ 4
- 0
mindspore/lite/src/runtime/kernel/opencl/kernel/softmax.cc View File

@@ -78,6 +78,10 @@ int SoftmaxOpenCLKernel::SetWorkGroupSize1x1() {
}

int SoftmaxOpenCLKernel::Init() {
if (in_tensors_.size() != 1 || out_tensors_.size() != 1) {
MS_LOG(ERROR) << "Invalid input size: " << in_tensors_.size() << ", output size: " << out_tensors_.size();
return RET_ERROR;
}
std::string kernel_name = "SoftMax";
std::string program_name = "SoftMax";
auto softmax_param = reinterpret_cast<SoftmaxParameter *>(op_parameter_);


+ 4
- 0
mindspore/lite/src/runtime/kernel/opencl/kernel/transpose.cc View File

@@ -34,6 +34,10 @@ using mindspore::schema::PrimitiveType_Transpose;
namespace mindspore::kernel {

int TransposeOpenCLKernel::Init() {
if ((in_tensors_.size() != 1 && in_tensors_.size() != 2) || out_tensors_.size() != 1) {
MS_LOG(ERROR) << "Invalid input size: " << in_tensors_.size() << ", output size: " << out_tensors_.size();
return RET_ERROR;
}
std::string kernel_name = "transpose";
enable_fp16_ = ocl_runtime_->GetFp16Enable();
auto param = reinterpret_cast<TransposeParameter *>(op_parameter_);


Loading…
Cancel
Save