ubuntu14.04下配置cuda8.0以及测试OpenCL(测试通过)

2 篇文章 0 订阅
2 篇文章 0 订阅

标签:linux cuda OpenCL


环境:
系统:ubuntu14.04(linux)
显卡:NVIDIA
cuda版本:cuda8.0

转载标注:http://blog.csdn.net/hust_sheng/article/details/53445014


安装cuda8.0(使用deb安装)并测试

官方下载安装包:https://developer.nvidia.com/cuda-downloads
这里我使用的是基于ubuntu14.04的deb的local版本

下载完成之后参考 CUDA Quick Start Guide.pdf 进行安装测试(注意要找到对应系统的安装命令,不然会失败),具体如下:

【注意】
一定要将系统BIOS的快速启动和安全启动关闭,不然重启的时候会停留在登录界面无法进入linux系统(尝试网上的方式,没有成功),切记!


测试OpenCL

对NVIDIA的显卡来说,cuda安装完毕后OpenCL的环境自然就安装好了。

  • 测试NVIDIA官方OpenCL示例程序
    官方下载:https://developer.nvidia.com/cuda-toolkit-40

    下载之后运行即可:sudo sh gpucomputingsdk_4.0.17_linux.run
    上述步骤完成之后在 ~/ 下会生成 NVIDIA_GPU_Computing_SDK 文件夹,后续步骤:

    • 进入目录:/home/popsheng/NVIDIA_GPU_Computing_SDK/OpenCL ,执行 make 命令
    • 进入目录:/home/popsheng/NVIDIA_GPU_Computing_SDK/OpenCL/bin/linux/release ,运行对应可执行程序即可:./oclVectorAdd,等待结果。
  • 测试OpenCL下的“helloword”程序
    测试程序如下:

      #include <stdio.h>
      #include <stdlib.h> 
      
      
      #ifdef __APPLE__ 
      
      #include <OpenCL/cl.h> 
      
      #elif defined(__linux__) 
      
      #include <CL/cl.h> 
      #include <CL/opencl.h> 
      
      #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的时候只是临时设置环境变量: export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} ,我们可以进一步将其设置为永久的环境变量,加入 /etc.profile 注销再登录即可。

      • 编译运行
        注意后面加上-lOpenCL: nvcc opencl-t0.c -lOpenCL
        ./a.out 之后可以看到status=0的正确结果。
    • 使用gcc或g++(毕竟nvcc是cuda程序的编辑器)
      将下面两个环境变量加入 /etc.profile ,注销再登录即可。
      export C_INCLUDE_PATH=/usr/local/cuda/include${C_INCLUDE_PATH:+:${C_INCLUDE_PATH}}
      export CPLUS_INCLUDE_PATH=/usr/local/cuda/include${CPLUS_INCLUDE_PATH:+:${CPLUS_INCLUDE_PATH}}

      • 编译运行
        命令后面同意需要加上-lOpenCL: gcc opencl-t0.c -lOpenCL
    • -lOpenCL的解释
      gcc或g++下的编译选项,-llibrary:-l后面跟着动态库的名字,表示链接的时候需要将名为library的库链接进去。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值