Reputation: 49
I was running my OpenCL/C++ code on Ubuntu 14.04.2 LTS (NVIDIA Corporation GM204 [GeForce GTX 980]).
It's working correctly on CPU but clGetDeviceIDs
method returned -1 when I changed CL_DEVICE_TYPE_CPU
to CL_DEVICE_TYPE_GPU
.
The code in question:
ret = clGetDeviceIDs(platform_id, CL_DEVICE_TYPE_GPU, 1, &device_id, &ret_num_devices);
cout << ret;
checkError(ret, "clGetDeviceIDs");
Outputs -1.
But the following:
ret = clGetDeviceIDs(platform_id, CL_DEVICE_TYPE_CPU, 1, &device_id, &ret_num_devices);
cout << ret;
checkError(ret, "clGetDeviceIDs");
Outputs 0.
Why?
Upvotes: 0
Views: 3454
Reputation: 49
I made some modifications depending on the code in this link:
cl_int ret = clGetPlatformIDs(2, platforms, &ret_num_platforms);
cout << ret;
//ret = clGetDeviceIDs( platforms[0], CL_DEVICE_TYPE_CPU, 1, &device_id, &ret_num_devices); // Execute me on CPU
ret = clGetDeviceIDs(platforms[1], CL_DEVICE_TYPE_GPU, 1, &device_id, &ret_num_devices); // Execute me on GPU
Upvotes: 1