标签: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的库链接进去。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐