diff options
author | Vidhya Sudhan Loganathan <vidhyasudhan.loganathan@arm.com> | 2018-12-18 14:17:00 +0000 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-12-18 17:40:19 +0000 |
commit | 5e96be7707a571b136dc64256af399dbbb0fdfe0 (patch) | |
tree | 92229d9824f3089814ed2af56c5f76a474366954 /src/core/CL/CLHelpers.cpp | |
parent | 52ebf4219385efe54463dc794ba806b82a6137b3 (diff) | |
download | ComputeLibrary-5e96be7707a571b136dc64256af399dbbb0fdfe0.tar.gz |
COMPMID-1722 : CL: Implement Range
Change-Id: I88da6eb5289c303b1dc91606c1560ce629746058
Reviewed-on: https://review.mlplatform.org/381
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'src/core/CL/CLHelpers.cpp')
-rw-r--r-- | src/core/CL/CLHelpers.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/core/CL/CLHelpers.cpp b/src/core/CL/CLHelpers.cpp index 0947d58973..924fb1d322 100644 --- a/src/core/CL/CLHelpers.cpp +++ b/src/core/CL/CLHelpers.cpp @@ -230,4 +230,30 @@ bool cl_winograd_convolution_layer_supported(const Size2D &output_tile, const Si return (std::find(winograd_configs_nhwc.begin(), winograd_configs_nhwc.end(), p) != winograd_configs_nhwc.end()); } } + +size_t preferred_vector_width(const cl::Device &device, const DataType dt) +{ + switch(dt) + { + case DataType::U8: + case DataType::S8: + case DataType::QASYMM8: + return device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR>(); + case DataType::U16: + case DataType::S16: + return device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT>(); + case DataType::U32: + case DataType::S32: + return device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT>(); + case DataType::F16: + case DataType::F32: + return device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT>(); + case DataType::U64: + case DataType::S64: + return device.getInfo<CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG>(); + default: + return 1; + } +} + } // namespace arm_compute |