user1873073
user1873073

Reputation: 3670

How to get max compute units with the C++ wrapper?

I am a C++ and OpenCL noob. On page 38 of the OpenCL spec there is a list of arguments you can supply to clGetDeviceInfo to get all sorts of information. The C++ wrapper seems to offer far less information. See page 5 of the C++ wrapper. Maybe I have just not read enough to know how to use these functions properly.

This is working fine for me but I would like to be able to get all of the data listed in the first link.

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

Upvotes: 0

Views: 228

Answers (1)

user1940376
user1940376

Reputation:

It looks to me like the purpose of the table you mention is for showing those items where the C++ return value differs from the C API. Items not listed work the same in both APIs, apparently: "Table 4.3 of the OpenCL Specification Version 1.2 specifies the information that can be queried. The table below lists cl_device_info values that differ in return type between the OpenCL C API and the OpenCL C++ API."

Upvotes: 1

Related Questions