测试OpenCL下的“helloword”程序
测试程序如下: #include
#include
#ifdef __APPLE__
#include
#elif defined(__linux__)
#include
#include
#endif
int main()
{
cl_int status=0;
size_t deviceListSize;
cl_uint numPlatforms;
cl_platform_id platfomr=NULL;
status=clGetPlatformIDs(0,NULL,&numPlatforms);
printf("status=%d\n",status);
return 0;
}
编译之前需要添加动态库环境变量,具体如下: export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
使用nvcc
将opencl下的nvcc编辑器设置为环境变量
安装cuda的时候只是临时设置环境变量: @H_502_19@export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} ,我们可以进一步将其设置为永久的环境变量,加入 @H_502_19@/etc.profile 注销再登录即可。
编译运行
注意后面加上-lOpenCL: @H_502_19@nvcc opencl-t0.c -lOpenCL
@H_502_19@./a.out 之后可以看到status=0的正确结果。
使用gcc或g++(毕竟nvcc是cuda程序的编辑器)
将下面两个环境变量加入 @H_502_19@/etc.profile ,注销再登录即可。
@H_502_19@export C_INCLUDE_PATH=/usr/local/cuda/include${C_INCLUDE_PATH:+:${C_INCLUDE_PATH}}
@H_502_19@export CPLUS_INCLUDE_PATH=/usr/local/cuda/include${CPLUS_INCLUDE_PATH:+:${CPLUS_INCLUDE_PATH}}
编译运行
命令后面同意需要加上-lOpenCL: @H_502_19@gcc opencl-t0.c -lOpenCL
@H_502_19@-lOpenCL的解释 gcc或g++下的编译选项,-llibrary:-l后面跟着动态库的名字,表示链接的时候需要将名为library的库链接进去。