30 cl::NDRange get_gemm_lws(
size_t gws_x,
size_t gws_y,
size_t gws_z)
36 return cl::NDRange(4, 4, 2);
42 return cl::NDRange(2, 16, 1);
46 return cl::NDRange(32, 4, 1);
51 cl::NDRange get_winograd_lws(
size_t gws_x,
size_t gws_y,
size_t gws_z)
55 return cl::NDRange(4, 2, 1);
58 cl::NDRange get_direct_lws(
size_t gws_x,
size_t gws_y,
size_t gws_z)
66 return cl::NDRange(std::min(gws_x, static_cast<size_t>(2u)), 32, 1);
70 return cl::NDRange(std::min(gws_x, static_cast<size_t>(4u)), 8, 1);
75 return cl::NDRange(8, 4, 1);
79 cl::NDRange get_dwc_lws(
size_t gws_x,
size_t gws_y,
size_t gws_z)
86 return cl::NDRange(gws_x, 4, 4);
90 return cl::NDRange(8, 4, 2);
99 const size_t gws_x = gws[0];
100 const size_t gws_y = gws[1];
101 const size_t gws_z = gws[2];
107 return get_gemm_lws(gws_x, gws_y, gws_z);
111 return get_direct_lws(gws_x, gws_y, gws_z);
115 return get_winograd_lws(gws_x, gws_y, gws_z);
119 return get_dwc_lws(gws_x, gws_y, gws_z);
cl::NDRange get_default_lws_for_type(CLKernelType kernel_type, cl::NDRange gws)
static CLKernelLibrary & get()
Access the KernelLibrary singleton.
Manages all the OpenCL kernels compilation and caching, provides accessors for the OpenCL Context...
Copyright (c) 2017-2023 Arm Limited.
cl::NDRange default_ndrange() const
Return the default NDRange for the device.
#define ARM_COMPUTE_UNUSED(...)
To avoid unused variables warnings.
Depthwise CL kernel type.
Convolution using Winograd.