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)
64 return cl::NDRange(4, 16, 1);
68 return cl::NDRange(8, 4, 1);
77 const size_t gws_x = gws[0];
78 const size_t gws_y = gws[1];
79 const size_t gws_z = gws[2];
85 return get_gemm_lws(gws_x, gws_y, gws_z);
89 return get_direct_lws(gws_x, gws_y, gws_z);
93 return get_winograd_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-2021 Arm Limited.
cl::NDRange default_ndrange() const
Return the default NDRange for the device.
#define ARM_COMPUTE_UNUSED(...)
To avoid unused variables warnings.
Convolution using Winograd.