diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-06-02 23:00:41 +0100 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-06-08 16:42:03 +0000 |
commit | 25ef7217ec4e13682bf37c87c0c6075a799ba1c0 (patch) | |
tree | 8ed3e4d7b811a36322560298ab6c8a0484d10ab8 /src/core/CL/kernels/CLThresholdKernel.cpp | |
parent | ebfb2f8701c131294b3c5c1e36547fa3658d09dd (diff) | |
download | ComputeLibrary-25ef7217ec4e13682bf37c87c0c6075a799ba1c0.tar.gz |
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 <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3300
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/CL/kernels/CLThresholdKernel.cpp')
-rw-r--r-- | src/core/CL/kernels/CLThresholdKernel.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
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 <string> -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 |