0

我是 C++ 和 OpenCL 菜鸟。在OpenCL 规范的第 38 页上有一个参数列表,您可以提供给 clGetDeviceInfo 以获取各种信息。C++ 包装器似乎提供的信息要少得多。请参阅 C++ 包装器的第 5 页。也许我只是没有阅读足够的内容来了解​​如何正确使用这些功能。

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

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;
}
4

1 回答 1

1

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

于 2013-06-17T18:22:34.833 回答