如何使用C ++包装器获得最大计算单位?

时间:2013-06-17 17:29:40

标签: opencl

我是C ++和OpenCL noob。在OpenCL spec的第38页上,有一个参数列表,您可以提供给clGetDeviceInfo以获取各种信息。 C ++包装器似乎提供的信息要少得多。 See page 5 of the C++ wrapper。也许我还读得不够,不知道如何正确使用这些功能。

这对我来说很好,但我希望能够获得第一个链接中列出的所有数据。

for(int i = 0; i < devices.size(); i++) {
    string deviceName, builtInKernels;
    cl::vector<size_t> maxWO;
    devices[i].getInfo(CL_DEVICE_NAME, &deviceName);
    devices[i].getInfo(CL_DEVICE_BUILT_IN_KERNELS, &builtInKernels);
    cout << "DEVICE_NAME - " << deviceName << endl;
    cout << "DEVICE_BUILT_IN_KERNELS - " << builtInKernels << endl;
    cout << "DEVICE_MAX_WORK_ITEMS - " << maxWO[0] << endl;
}

1 个答案:

答案 0 :(得分:1)

在我看来,您提到的表的目的是为了显示C ++返回值与C API不同的项目。未列出的项目在两个API中的工作方式相同,显然是:“OpenCL规范版本1.2的表4.3指定了可以查询的信息。下表列出了OpenCL C API和OpenCL C ++ API之间返回类型不同的cl_device_info值。“