From 25ef7217ec4e13682bf37c87c0c6075a799ba1c0 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Tue, 2 Jun 2020 23:00:41 +0100 Subject: COMPMID-3180: Remove padding from NEThreshold - Removes padding from NEThresholdKernel - Alters configuration interface to use a descriptor Change-Id: I394d5e1375454813856d9d206e61dc9a87c2cadc Signed-off-by: Georgios Pinitas Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3300 Reviewed-by: Michele Di Giorgio Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins --- src/core/CL/kernels/CLThresholdKernel.cpp | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'src/core/CL') diff --git a/src/core/CL/kernels/CLThresholdKernel.cpp b/src/core/CL/kernels/CLThresholdKernel.cpp index 4f984632bc..4ca0bbd0e6 100644 --- a/src/core/CL/kernels/CLThresholdKernel.cpp +++ b/src/core/CL/kernels/CLThresholdKernel.cpp @@ -32,16 +32,14 @@ #include -using namespace arm_compute; - -void CLThresholdKernel::configure(const ICLTensor *input, ICLTensor *output, uint8_t threshold, - uint8_t false_value, uint8_t true_value, ThresholdType type, uint8_t upper) +namespace arm_compute +{ +void CLThresholdKernel::configure(const ICLTensor *input, ICLTensor *output, const ThresholdKernelInfo &info) { - configure(CLKernelLibrary::get().get_compile_context(), input, output, threshold, false_value, true_value, type, upper); + configure(CLKernelLibrary::get().get_compile_context(), input, output, info); } -void CLThresholdKernel::configure(const CLCompileContext &compile_context, const ICLTensor *input, ICLTensor *output, uint8_t threshold, - uint8_t false_value, uint8_t true_value, ThresholdType type, uint8_t upper) +void CLThresholdKernel::configure(const CLCompileContext &compile_context, const ICLTensor *input, ICLTensor *output, const ThresholdKernelInfo &info) { ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(input, 1, DataType::U8); ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(output, 1, DataType::U8); @@ -49,7 +47,7 @@ void CLThresholdKernel::configure(const CLCompileContext &compile_context, const // Construct kernel name std::string kernel_name = "threshold"; - switch(type) + switch(info.type) { case ThresholdType::BINARY: kernel_name += "_binary"; @@ -67,16 +65,17 @@ void CLThresholdKernel::configure(const CLCompileContext &compile_context, const // Set arguments unsigned int idx = 2 * num_arguments_per_2D_tensor(); //Skip the input and output parameters - _kernel.setArg(idx++, false_value); - _kernel.setArg(idx++, true_value); - _kernel.setArg(idx++, threshold); + _kernel.setArg(idx++, info.false_value); + _kernel.setArg(idx++, info.true_value); + _kernel.setArg(idx++, info.threshold); - if(ThresholdType::RANGE == type) + if(ThresholdType::RANGE == info.type) { - _kernel.setArg(idx++, upper); + _kernel.setArg(idx++, info.upper); } // Make sure _kernel is initialized before calling the parent's configure constexpr unsigned int num_elems_processed_per_iteration = 16; ICLSimple2DKernel::configure(input, output, num_elems_processed_per_iteration); } +} // namespace arm_compute -- cgit v1.2.1