C++ 以编程方式找出openCL设备支持的最大工作组大小
我得到了openCL错误C++ 以编程方式找出openCL设备支持的最大工作组大小,c++,opencl,gpgpu,C++,Opencl,Gpgpu,我得到了openCL错误CL\u无效\u工作\u组\u大小,本地工作大小为512。该程序以较低的2次方运行,因此我假设错误原因超过了CL\u设备\u最大工作\u组\u大小 有没有办法查询openCL的确切值?您可以这样查询设备的最大工作组大小: size_t maxWorkGroupSize; clGetDeviceInfo(device, CL_DEVICE_MAX_WORK_GROUP_SIZE, sizeof(size_t), &maxWorkGro
CL\u无效\u工作\u组\u大小
,本地工作大小为512。该程序以较低的2次方运行,因此我假设错误原因超过了CL\u设备\u最大工作\u组\u大小
有没有办法查询openCL的确切值?您可以这样查询设备的最大工作组大小:
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);
请注意,特定内核可能具有不同的(较低的)最大值,您可以这样查询:
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);
已经找到了,谢谢!在那篇文章中没有提到如何获取属性。没有,但它描述了听起来像是你正在经历的相同的潜在问题,并提出了原因和修复方法。是的,你是对的。我给了它一个彻底的阅读,并设法让它与手册页的帮助下工作。Thx!以下是相关手册页: