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

前端之家收集整理的这篇文章主要介绍了ubuntu14.04下配置cuda8.0以及测试OpenCL(测试通过)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

标签:linux cuda OpenCL


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

转载标注:http://www.jb51.cc/article/p-uvstkrdj-bps.html


安装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的库链接进去。

猜你在找的Ubuntu相关文章