CPU 和 GPU 上的 act OpenCl/C++ 脚本不正确

Incorrect act OpenCl/C++ script on CPU and GPU

我已经 运行sfered OpenCl/C++ 脚本到新机器 (Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz, NVIDIA TESLA C2070) .

我 运行 它在 GPU 上成功并且我得到了正确的结果(这里当我在 CPU 上尝试 运行 它给了我错误的结果 0),然后我想 运行 它在 CPU 所以我安装了 Intel 驱动程序 (http://wiki.tiker.net/OpenCLHowTo)。

我编译的时候遇到了这个问题:

Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != ((void *)0)' failed!

我通过将 -lglut -lGLU -lGL -lm -lpthread 作为 g++ 的参数来解决这个问题。

现在的问题是,当我输入 CL_DEVICE_TYPE_CPU 时它给出了正确的结果,而当我输入 CL_DEVICE_TYPE_GPU.

时它给出了错误的结果(0 看起来不起作用)

预期输出:

315360000   0.345   0.349   0.345   9

错误输出:

315360000   0   0   0   9

有什么想法!!

已解决:) 我根据这个linkhttps://devtalk.nvidia.com/default/topic/498968/printing-all-opencl-devices-not-detecting-all-opencl-devices-under-windows/

中的代码做了一些修改
    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