我得到的openCL错误CL_INVALID_WORK_GROUP_SIZE
的本地工作大小为512.该程序使用较低的2的幂,所以我假设错误原因超过{{1 }}
有没有办法查询openCL的确切值?
答案 0 :(得分:2)
您可以像这样查询设备的最大工作组大小:
size_t maxWorkGroupSize;
clGetDeviceInfo(device, CL_DEVICE_MAX_WORK_GROUP_SIZE,
sizeof(size_t), &maxWorkGroupSize, NULL);
请注意,特定内核可能具有不同(较低)的最大值,您可以像这样查询:
size_t maxWorkGroupSize;
clGetKernelWorkGroupInfo(kernel, device, CL_KERNEL_WORK_GROUP_SIZE,
sizeof(size_t), &maxWorkGroupSize, NULL);