Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 以编程方式找出openCL设备支持的最大工作组大小_C++_Opencl_Gpgpu - Fatal编程技术网

C++ 以编程方式找出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

我得到了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), &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!以下是相关手册页: