MCPcopy Create free account
hub / github.com/ccsb-scripps/AutoDock-GPU / getKernelWorkGroupInfo

Function getKernelWorkGroupInfo

wrapcl/src/Kernels.cpp:194–305  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

192
193#ifdef KERNEL_WORK_GROUP_INFO_DISPLAY
194int getKernelWorkGroupInfo(
195 cl_kernel kernel,
196 cl_device_id device
197 )
198{
199 cl_int err;
200 size_t* ker_wg_size;
201 size_t* ker_pref_wg_size_multiple;
202 cl_ulong* ker_loc_mem_size;
203 cl_ulong* ker_pri_mem_size;
204 size_t* ker_comp_wg_size;
205
206 size_t sizeParam;
207
208 // ----------------------------------------------------------------------------
209 // Query Kernel work group size
210 printf("\n-----------------------------------------------------------------------\n");
211 err = clGetKernelWorkGroupInfo(kernel,device,CL_KERNEL_WORK_GROUP_SIZE,0,NULL,&sizeParam);
212 if (err != CL_SUCCESS){
213 printf("Error: clGetKernelWorkGroupInfo() %d\n",err);
214 fflush(stdout);
215 return EXIT_FAILURE;
216 }
217
218 ker_wg_size = (size_t*) malloc(sizeof(size_t) * sizeParam);
219 err = clGetKernelWorkGroupInfo(kernel,device,CL_KERNEL_WORK_GROUP_SIZE,sizeParam,ker_wg_size,NULL);
220 if (err != CL_SUCCESS){
221 printf("Error: clGetKernelWorkGroupInfo() %d\n",err);
222 fflush(stdout);
223 return EXIT_FAILURE;
224 }
225
226 printf(" %-45s: %lu \n", "CL_KERNEL_WORK_GROUP_SIZE", *ker_wg_size);
227 free(ker_wg_size);
228
229/*
230 // CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE is supported from OpenCL 2.0
231 // ----------------------------------------------------------------------------
232 // Query Kernel preferred work group size multiple
233 err = clGetKernelWorkGroupInfo(kernel,device,CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE,0,NULL,&sizeParam);
234 if (err != CL_SUCCESS){printf("Error: clGetKernelWorkGroupInfo() %d\n",err); return EXIT_FAILURE;}
235
236 ker_pref_wg_size_multiple = (size_t*) malloc(sizeof(size_t) * sizeParam);
237 err = clGetKernelWorkGroupInfo(kernel,device,CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE,sizeParam,ker_pref_wg_size_multiple,NULL);
238 if (err != CL_SUCCESS){printf("Error: clGetKernelWorkGroupInfo() %d\n",err); return EXIT_FAILURE;}
239
240 printf(" %-45s: %lu \n", "CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE", ker_pref_wg_size_multiple);
241 free(ker_pref_wg_size_multiple);
242*/
243
244 // ----------------------------------------------------------------------------
245 // Query Kernel local mem size
246 err = clGetKernelWorkGroupInfo(kernel,device,CL_KERNEL_LOCAL_MEM_SIZE,0,NULL,&sizeParam);
247 if (err != CL_SUCCESS){
248 printf("Error: clGetKernelWorkGroupInfo() %d\n",err);
249 fflush(stdout);
250 return EXIT_FAILURE;
251 }

Callers 2

ImportBinaryFunction · 0.85
createKernelFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected