我知道这已被多次发布,但我正在重新发布相同的问题,因为互联网上没有任何建议适合我。我已经被困在这里好几个星期试图让一个简单的OpenCL程序运行。
这就是我的所作所为:
我使用CUDA获得了一个新的视频卡并安装了Ubuntu 14.04的新副本:
# lspci | grep VGA
02:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 610] (rev a1)
然后在其中安装CUDA:
sudo apt-get install nvidia-cuda-toolkit
就我所见,这为OpenCL编译安装了所有必需的文件。我现在在我的电脑上有以下文件:
/usr/lib/x86_64-linux-gnu/libOpenCL.so
/etc/OpenCL/vendors/nvidia.icd
然后我尝试了以下程序:
#include <stdio.h>
#include <CL/cl.h>
int main(void)
{
cl_int err;
cl_uint numPlatforms = 0;
err = clGetPlatformIDs(0, NULL, &numPlatforms);
if (CL_SUCCESS == err)
printf("\nDetected OpenCL platforms: %d", numPlatforms);
else
printf("\nError calling clGetPlatformIDs. Error code: %d", err);
getchar();
return 0;
}
按如下方式成功编译:
gcc -o test2 test.c -lOpenCL
当我运行它时,我收到以下消息:
Error calling clGetPlatformIDs. Error code: -1001
我在互联网上尝试过多次建议,但是没有用。我很感激您提供的任何帮助。