From f59b16f42ef68bde877b70816ffb953d64c8baa3 Mon Sep 17 00:00:00 2001 From: Isabella Gottardi Date: Thu, 25 Jul 2019 12:03:39 +0100 Subject: COMPMID-2336: Set the correct valid region to the concatenation layer output Change-Id: I1ff84054758a9a189f33d3180b5d81b3615963c7 Signed-off-by: Isabella Gottardi Reviewed-on: https://review.mlplatform.org/c/1620 Reviewed-by: Gian Marco Iodice Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins --- src/core/CL/kernels/CLBatchConcatenateLayerKernel.cpp | 4 ++++ src/core/CL/kernels/CLDepthConcatenateLayerKernel.cpp | 3 +++ src/core/CL/kernels/CLHeightConcatenateLayerKernel.cpp | 3 +++ src/core/CL/kernels/CLWidthConcatenate2TensorsKernel.cpp | 3 +++ src/core/CL/kernels/CLWidthConcatenate4TensorsKernel.cpp | 3 +++ src/core/CL/kernels/CLWidthConcatenateLayerKernel.cpp | 3 +++ src/core/NEON/kernels/NEBatchConcatenateLayerKernel.cpp | 3 +++ src/core/NEON/kernels/NEDepthConcatenateLayerKernel.cpp | 3 +++ src/core/NEON/kernels/NEHeightConcatenateLayerKernel.cpp | 3 +++ src/core/NEON/kernels/NEWidthConcatenateLayerKernel.cpp | 3 +++ 10 files changed, 31 insertions(+) (limited to 'src') diff --git a/src/core/CL/kernels/CLBatchConcatenateLayerKernel.cpp b/src/core/CL/kernels/CLBatchConcatenateLayerKernel.cpp index 86bf366346..b5f8c2d11b 100644 --- a/src/core/CL/kernels/CLBatchConcatenateLayerKernel.cpp +++ b/src/core/CL/kernels/CLBatchConcatenateLayerKernel.cpp @@ -121,6 +121,10 @@ void CLBatchConcatenateLayerKernel::configure(const ICLTensor *input, unsigned i ARM_COMPUTE_ERROR_THROW_ON(std::get<0>(win_config)); ICLKernel::configure_internal(std::get<1>(win_config)); + + // Set output valid region + output->info()->set_valid_region(ValidRegion(Coordinates(), output->info()->tensor_shape())); + // Set config_id for enabling LWS tuning _config_id = "concatenate_"; _config_id += support::cpp11::to_string(3); diff --git a/src/core/CL/kernels/CLDepthConcatenateLayerKernel.cpp b/src/core/CL/kernels/CLDepthConcatenateLayerKernel.cpp index 40b633b273..2d8de755b3 100644 --- a/src/core/CL/kernels/CLDepthConcatenateLayerKernel.cpp +++ b/src/core/CL/kernels/CLDepthConcatenateLayerKernel.cpp @@ -116,6 +116,9 @@ void CLDepthConcatenateLayerKernel::configure(const ICLTensor *input, unsigned i ARM_COMPUTE_ERROR_THROW_ON(std::get<0>(win_config)); ICLKernel::configure_internal(std::get<1>(win_config)); + + // Set output valid region + output->info()->set_valid_region(ValidRegion(Coordinates(), output->info()->tensor_shape())); } Status CLDepthConcatenateLayerKernel::validate(const arm_compute::ITensorInfo *input, diff --git a/src/core/CL/kernels/CLHeightConcatenateLayerKernel.cpp b/src/core/CL/kernels/CLHeightConcatenateLayerKernel.cpp index 4da3e245c0..70af541ef1 100644 --- a/src/core/CL/kernels/CLHeightConcatenateLayerKernel.cpp +++ b/src/core/CL/kernels/CLHeightConcatenateLayerKernel.cpp @@ -149,6 +149,9 @@ void CLHeightConcatenateLayerKernel::configure(const ICLTensor *input, unsigned ARM_COMPUTE_ERROR_THROW_ON(std::get<0>(win_config)); ICLKernel::configure_internal(std::get<1>(win_config)); + + // Set output valid region + output->info()->set_valid_region(ValidRegion(Coordinates(), output->info()->tensor_shape())); } void CLHeightConcatenateLayerKernel::run(const Window &window, cl::CommandQueue &queue) diff --git a/src/core/CL/kernels/CLWidthConcatenate2TensorsKernel.cpp b/src/core/CL/kernels/CLWidthConcatenate2TensorsKernel.cpp index bd4ff2c735..9c533dc89d 100644 --- a/src/core/CL/kernels/CLWidthConcatenate2TensorsKernel.cpp +++ b/src/core/CL/kernels/CLWidthConcatenate2TensorsKernel.cpp @@ -137,6 +137,9 @@ void CLWidthConcatenate2TensorsKernel::configure(const ICLTensor *input1, const ICLKernel::configure_internal(std::get<1>(win_config)); + // Set output valid region + output->info()->set_valid_region(ValidRegion(Coordinates(), output->info()->tensor_shape())); + // Pass paddings as arguments to the kernel const unsigned int input1_width = input1->info()->dimension(0); const unsigned int input1_right_padding = ceil_to_multiple(input1_width, num_elems_processed_per_iteration) - input1_width; diff --git a/src/core/CL/kernels/CLWidthConcatenate4TensorsKernel.cpp b/src/core/CL/kernels/CLWidthConcatenate4TensorsKernel.cpp index 4e673a9f38..fb025e6f50 100644 --- a/src/core/CL/kernels/CLWidthConcatenate4TensorsKernel.cpp +++ b/src/core/CL/kernels/CLWidthConcatenate4TensorsKernel.cpp @@ -165,6 +165,9 @@ void CLWidthConcatenate4TensorsKernel::configure(const ICLTensor *input1, const ICLKernel::configure_internal(std::get<1>(win_config)); + // Set output valid region + output->info()->set_valid_region(ValidRegion(Coordinates(), output->info()->tensor_shape())); + // Pass paddings as arguments to the kernel const unsigned int input1_width = input1->info()->dimension(0); const unsigned int input2_width = input2->info()->dimension(0); diff --git a/src/core/CL/kernels/CLWidthConcatenateLayerKernel.cpp b/src/core/CL/kernels/CLWidthConcatenateLayerKernel.cpp index 01fef481a8..88cdde7935 100644 --- a/src/core/CL/kernels/CLWidthConcatenateLayerKernel.cpp +++ b/src/core/CL/kernels/CLWidthConcatenateLayerKernel.cpp @@ -124,6 +124,9 @@ void CLWidthConcatenateLayerKernel::configure(const ICLTensor *input, unsigned i ARM_COMPUTE_ERROR_THROW_ON(std::get<0>(win_config)); ICLKernel::configure_internal(std::get<1>(win_config)); + + // Set output valid region + output->info()->set_valid_region(ValidRegion(Coordinates(), output->info()->tensor_shape())); } void CLWidthConcatenateLayerKernel::run(const Window &window, cl::CommandQueue &queue) diff --git a/src/core/NEON/kernels/NEBatchConcatenateLayerKernel.cpp b/src/core/NEON/kernels/NEBatchConcatenateLayerKernel.cpp index 4263892c50..cfa98fb19a 100644 --- a/src/core/NEON/kernels/NEBatchConcatenateLayerKernel.cpp +++ b/src/core/NEON/kernels/NEBatchConcatenateLayerKernel.cpp @@ -159,6 +159,9 @@ void NEBatchConcatenateLayerKernel::configure(const ITensor *input, unsigned int ARM_COMPUTE_ERROR_THROW_ON(std::get<0>(win_config)); INEKernel::configure(std::get<1>(win_config)); + + // Set output valid region + output->info()->set_valid_region(ValidRegion(Coordinates(), output->info()->tensor_shape())); } Status NEBatchConcatenateLayerKernel::validate(const arm_compute::ITensorInfo *input, diff --git a/src/core/NEON/kernels/NEDepthConcatenateLayerKernel.cpp b/src/core/NEON/kernels/NEDepthConcatenateLayerKernel.cpp index c9c70d6500..4377006f28 100644 --- a/src/core/NEON/kernels/NEDepthConcatenateLayerKernel.cpp +++ b/src/core/NEON/kernels/NEDepthConcatenateLayerKernel.cpp @@ -149,6 +149,9 @@ void NEDepthConcatenateLayerKernel::configure(const ITensor *input, unsigned int ARM_COMPUTE_ERROR_THROW_ON(std::get<0>(win_config)); INEKernel::configure(std::get<1>(win_config)); + + // Set output valid region + output->info()->set_valid_region(ValidRegion(Coordinates(), output->info()->tensor_shape())); } Status NEDepthConcatenateLayerKernel::validate(const arm_compute::ITensorInfo *input, diff --git a/src/core/NEON/kernels/NEHeightConcatenateLayerKernel.cpp b/src/core/NEON/kernels/NEHeightConcatenateLayerKernel.cpp index 8efab7da33..18be1d5bb7 100644 --- a/src/core/NEON/kernels/NEHeightConcatenateLayerKernel.cpp +++ b/src/core/NEON/kernels/NEHeightConcatenateLayerKernel.cpp @@ -93,6 +93,9 @@ void NEHeightConcatenateLayerKernel::configure(const ITensor *input, unsigned in ARM_COMPUTE_ERROR_THROW_ON(std::get<0>(win_config)); INEKernel::configure(std::get<1>(win_config)); + + // Set output valid region + output->info()->set_valid_region(ValidRegion(Coordinates(), output->info()->tensor_shape())); } Status NEHeightConcatenateLayerKernel::validate(const ITensorInfo *input, unsigned int height_offset, const ITensorInfo *output) diff --git a/src/core/NEON/kernels/NEWidthConcatenateLayerKernel.cpp b/src/core/NEON/kernels/NEWidthConcatenateLayerKernel.cpp index 7b1ad9c2e8..cafa20a1bd 100644 --- a/src/core/NEON/kernels/NEWidthConcatenateLayerKernel.cpp +++ b/src/core/NEON/kernels/NEWidthConcatenateLayerKernel.cpp @@ -93,6 +93,9 @@ void NEWidthConcatenateLayerKernel::configure(const ITensor *input, unsigned int ARM_COMPUTE_ERROR_THROW_ON(std::get<0>(win_config)); INEKernel::configure(std::get<1>(win_config)); + + // Set output valid region + output->info()->set_valid_region(ValidRegion(Coordinates(), output->info()->tensor_shape())); } Status NEWidthConcatenateLayerKernel::validate(const ITensorInfo *input, unsigned int width_offset, const ITensorInfo *output) -- cgit v1.2.1