diff options
author | Michele Di Giorgio <michele.digiorgio@arm.com> | 2019-10-09 15:32:39 +0100 |
---|---|---|
committer | Michele Di Giorgio <michele.digiorgio@arm.com> | 2019-10-30 14:44:46 +0000 |
commit | df4cf57c7394265b27d051cb1cf0152c53659126 (patch) | |
tree | 87da5d6abeff65b2cee55b63f73bb268776af560 /src/core/CL/CLHelpers.cpp | |
parent | 8b72199f25487040713d1668c998fdde3707413c (diff) | |
download | ComputeLibrary-df4cf57c7394265b27d051cb1cf0152c53659126.tar.gz |
COMPMID-2306: CLDepthwiseConvolution: support for QUANT8_PER_CHANNEL_SYMM
Change-Id: I18c886400daa2dcba0b91011bc4e503d807a4732
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/2143
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/CL/CLHelpers.cpp')
-rw-r--r-- | src/core/CL/CLHelpers.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/core/CL/CLHelpers.cpp b/src/core/CL/CLHelpers.cpp index a3c73677c7..1132aa4540 100644 --- a/src/core/CL/CLHelpers.cpp +++ b/src/core/CL/CLHelpers.cpp @@ -70,6 +70,54 @@ std::string get_cl_type_from_data_type(const DataType &dt) } } +std::string get_cl_promoted_type_from_data_type(const DataType &dt) +{ + switch(dt) + { + case DataType::U8: + case DataType::QASYMM8: + case DataType::QASYMM8_PER_CHANNEL: + return "ushort"; + case DataType::S8: + case DataType::QSYMM8: + case DataType::QSYMM8_PER_CHANNEL: + return "short"; + case DataType::U16: + case DataType::QASYMM16: + return "uint"; + case DataType::S16: + case DataType::QSYMM16: + return "int"; + case DataType::U32: + return "ulong"; + case DataType::S32: + return "long"; + case DataType::F16: + return "float"; + default: + ARM_COMPUTE_ERROR("Cannot get promoted OpenCL type for the input data type."); + return ""; + } +} + +std::string get_cl_unsigned_type_from_element_size(size_t element_size) +{ + switch(element_size) + { + case 1: + return "uchar"; + case 2: + return "ushort"; + case 4: + return "uint"; + case 8: + return "ulong"; + default: + ARM_COMPUTE_ERROR("Data type not supported"); + return ""; + } +} + std::string get_cl_select_type_from_data_type(const DataType &dt) { switch(dt) |