diff options
author | Jenkins <bsgcomp@arm.com> | 2019-02-28 12:25:18 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2019-02-28 13:38:08 +0000 |
commit | 514be65ad8d3340f53fd9591035352ed285811ba (patch) | |
tree | abe236598d76078a537fd247813e287d5bf34acd /src/core/CL/CLHelpers.cpp | |
parent | 3d2d44ef55ab6b08afda8be48301ce3c55c7bc67 (diff) | |
download | ARMComputeLibrary-514be65ad8d3340f53fd9591035352ed285811ba.tar.gz |
arm_compute v19.02
Change-Id: I853a3ecf38f206da13c1b03640c8adf73c20477c
Diffstat (limited to 'src/core/CL/CLHelpers.cpp')
-rw-r--r-- | src/core/CL/CLHelpers.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/core/CL/CLHelpers.cpp b/src/core/CL/CLHelpers.cpp index 0947d5897..18ef185ac 100644 --- a/src/core/CL/CLHelpers.cpp +++ b/src/core/CL/CLHelpers.cpp @@ -148,7 +148,7 @@ bool dot8_supported(const cl::Device &device) const GPUTarget gpu_target = get_target_from_name(device_name); // SW_WORKAROUND: Workaround for DDK revision r14p0.to enable cl_arm_integer_dot_product_int8 - std::set<GPUTarget> sw_workaround_issue = {GPUTarget::G76}; + std::set<GPUTarget> sw_workaround_issue = { GPUTarget::G76 }; return (device_supports_extension(device, "cl_arm_integer_dot_product_int8") || sw_workaround_issue.count(gpu_target) != 0); } @@ -230,4 +230,29 @@ 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 |