Compute Library
 20.08
CLHelpers.h File Reference
#include "arm_compute/core/CL/CLTypes.h"
#include "arm_compute/core/CL/OpenCL.h"
#include <set>
#include <string>

Go to the source code of this file.

Namespaces

 arm_compute
 Copyright (c) 2017-2020 Arm Limited.
 

Functions

std::string get_cl_type_from_data_type (const DataType &dt)
 Translates a tensor data type to the appropriate OpenCL type. More...
 
std::string get_cl_promoted_type_from_data_type (const DataType &dt)
 Translates a tensor data type to the appropriate OpenCL promoted type. More...
 
std::string get_cl_unsigned_type_from_element_size (size_t element_size)
 Translates the element size to an unsigned integer data type. More...
 
std::string get_cl_signed_type_from_element_size (size_t element_size)
 Translates the element size to an signed integer data type. More...
 
std::string get_cl_select_type_from_data_type (const DataType &dt)
 Translates a tensor data type to the appropriate OpenCL select type. More...
 
std::string get_cl_dot8_acc_type_from_data_type (const DataType &dt)
 Translates a tensor data type to the appropriate OpenCL dot8 accumulator type. More...
 
std::string get_data_size_from_data_type (const DataType &dt)
 Get the size of a data type in number of bits. More...
 
GPUTarget get_target_from_device (const cl::Device &device)
 Helper function to get the GPU target from CL device. More...
 
CLVersion get_cl_version (const cl::Device &device)
 Helper function to get the highest OpenCL version supported. More...
 
size_t get_cl_image_pitch_alignment (const cl::Device &device)
 Helper function to get the cl_image pitch alignment in pixels. More...
 
bool device_supports_extension (const cl::Device &device, const char *extension_name)
 Helper function to check whether a given extension is supported. More...
 
bool fp16_supported (const cl::Device &device)
 Helper function to check whether the cl_khr_fp16 extension is supported. More...
 
bool arm_non_uniform_workgroup_supported (const cl::Device &device)
 Helper function to check whether the arm_non_uniform_work_group_size extension is supported. More...
 
bool dot8_supported (const cl::Device &device)
 Helper function to check whether the cl_arm_integer_dot_product_int8 extension is supported. More...
 
bool dot8_acc_supported (const cl::Device &device)
 Helper function to check whether the cl_arm_integer_dot_product_accumulate_int8 extension is supported. More...
 
bool cl_winograd_convolution_layer_supported (const Size2D &output_tile, const Size2D &kernel_size, DataLayout data_layout)
 This function checks if the Winograd configuration (defined through the output tile, kernel size and the data layout) is supported on OpenCL. More...
 
size_t preferred_vector_width (const cl::Device &device, DataType dt)
 Helper function to get the preferred native vector width size for built-in scalar types that can be put into vectors. More...
 
bool preferred_dummy_work_items_support (const cl::Device &device)
 Helper function to check if "dummy work-items" are preferred to have a power of two NDRange In case dummy work-items is enabled, it is OpenCL kernel responsibility to check if the work-item is out-of range or not. More...
 
bool image2d_from_buffer_supported (const cl::Device &device)
 Helper function to check whether the cl_khr_image2d_from_buffer extension is supported. More...
 
cl::Kernel create_opencl_kernel (CLCoreRuntimeContext *ctx, const std::string &kernel_name, const CLBuildOptions &build_opts)
 Creates an opencl kernel. More...
 
cl::Kernel create_kernel (const CLCompileContext &ctx, const std::string &kernel_name, const std::set< std::string > &build_opts=std::set< std::string >())
 Creates an opencl kernel using a compile context. More...
 
cl::NDRange create_lws_hint_parallel_implementations (unsigned int input_dimension, unsigned int vector_size)
 Creates a suitable LWS hint object for parallel implementations. More...