Ubuntu16.04 + CUDA8.0 + OpenCL + Nvidia 安装配置和问题总结

1. 安装Nvidia的Driver(推荐配置时在其它移动设备参考本文章,部分步骤会关闭图形处理器,进入纯命令行界面,如果没有在别的地方打开或是记住下面的步骤则无法进行下去)

The input tool was broken, so just use English.

I try to use runfile to install, but failed.  There are some X file problem I could not solve.  So I find other writing and use PPA.ubuntu16.04下NVIDIA GTX965M显卡驱动PPA安装 - CSDN博客

曾经尝试使用.run文件按照以下步骤安装。提示安装成功,nvidia-smi也有输出,但是没有正在运行中的线程,并且nvidia-settings语句提示错误。错误提示有关X文件的错误,尝试解决这个问题但是失败,导致整个图形界面无法进入。因此改用PPA的方式进行安装。


.run文件安装

到官网选择适合的版本,下载.run文件。网上提供了三种方法安装,参考链接提供在下文。由于CUDA驱动中包括了Nvidia的驱动,但是这种打包的下载有可能引发问题。因此在先安装单独Nvidia的驱动。

如果不知道自己GPU的信息可通过以下语句查询

$ lspci | grep -i nvidia
  • 禁用nouveau
    打开配置文件
    $ sudo gedit /etc/modprobe.d/blacklist.conf
    在最后一行添加
    blacklist vga16fb
    blacklist nouveau
    blacklist rivafb
    blacklist rivatv
    blacklist nvidiafb
    更新内核
    sudo update-initramfs -u

    关机后重启进入boot,在boot中将security设置为enable,开机之后输入
    $ lsmod | grep nouveau

    没有输出则关闭成功。
  • 安装驱动,这里开始会关闭图形界面。
    禁用X服务
    $ sudo service lightdm stop
    按Ctrl+Alt+F1进入命令行界面(按Ctrl+Alt+F7可退出)
    给run文件赋予执行权限
    $ sudo chmod a+x NVIDIA-Linux-x86_64-384.98.run
    安装,这里选择了不安装OpenGL,否则会发生冲突。
    $ sudo ./NVIDIA-Linux-x86_64-384.98.run –no-opengl-files
    重启,验证是否安装成功:
    $ nvidia-smi
    

    PPA安装:
    首先也是要禁用nouveau,步骤同上。
    添加Graphic Drivers PPA
    $ sudo add-apt-repository ppa:graphics-drivers/ppa
    $ sudo apt-get update
    查找合适的版本
    $ ubuntu-drivers devices
    其中一个driver后面加上了recommend字样,记住该版本,如下图,推荐版本是390。


    按ctrl+alt+F1进入终端模式,此时会关闭图形界面。
    $ sudo service lightdm stop
    安装driver,后面的数字修改为相应的版本号。
    $ sudo apt-get install nvidia-390
    重启。
    $ sudo reboot
    验证是否安装成功
    $ nvidia-smi

    出现以上则安装成功。

    查看setting的情况:
    $ nvidia-settings


2. 安装CUDA8.0

目前CUDA的最新版本是9.1,但是安装之后编译失败,有说法是Ubuntu16.04不能够支持到这么高的版本。因此卸载了之后安装了8.0

在官网中选择需要的版本的对应的系统等下载run文件:CDUA下载


运行run文件

$ sudo sh cuda_8.0.61_375.26_linux.run
安装的时候,会出现比较长的介绍,可以不停的按空格键到100%,或者直接按Ctrl+C跳过;
下面的选项中遇到提示是否安装nvidia ,选择no,否则前面安装的驱动会被覆盖。其他的可以全部同意。


安装完成后运行sample验证

进入sample所在路径,make,在这里会编译所有的样例,时间较长,也可以进入单独的样例去make。


../NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release

里面存放了运行文件,./filename运行即可。


这里运行的是deviceQuery,出现以上结果即可。

3. 配置OpenCL

利用gcc运行OpenCL代码。需要提前确认gcc可行。

$ gcc -v
在命令行输入以上语句可查看gcc版本,若没有安装则提示未安装。安装网上gcc的安装配置安装即可。


$ gcc test.cpp -o test -lOpenCL
输入上面的语句运行测试代码test.cpp,定义输出文件为test,调用OpenCL库。


看了很多网络的教程,有一些只简单说明OpenCL已经被包含在CUDA里面。但是在本台电脑上仅安装成功CUDA之后是无法直接运行OpenCL的,它的库文件没有被链接出现以下两种错误。

  • 找不到-lOpenCL
    OpenCL库(libOpenCL.so)并不存在于/ usr / lib,即系统库中,并且OpenCL的库所在地址没有被链接。因此我们需要查找libOpenCL.so文件所在位置,添加到系统查找库的配置文件中去。
    经查找,libOpenCL.so文件被下载到了/usr/local/cuda-8.0/lib64中。
    $ sudo echo '/usr/local/cuda-8.0/lib64/' >> /etc/ld.so.conf
    此处将库文件所在路径添加进去。此时普通用户可能会引发权限不够的问题,可以通过进入root获得权限。若是初次进入root需要先设定密码。
    $ sudo passwd root
    完成之后利用以下语句可登录进root,然后再写ld.so.conf文件。
    sudo -s -H
    
    然后执行以下语句更新路径,使修改生效。

    $ sudo ldconfig
    下一步是修改环境变量。

    $ echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64/' >> ~/.bashrc
    $ source ~/.bashrc
    第一句是写入配置文件,第二句是使之永久生效。
    若修改变量LD_LIBRARY_PATH不奏效,则用同样的方法修改LIBRARY_PATH。

    以上完成之后应该就不会再出现找不到-lOpenCL的问题了。

  • 找不到CL/cl.h
    错误提示:fatal error: CL/cl.h: 没有那个文件或目录
    将OpenCL的include文件拷贝到/usr/local/include文件夹下即可。
    因为语句是在CL文件夹下的cl.h,因此连带CL文件夹需要拷贝进去。
    //$ sudo cp -r /home/karin/CL/* /usr/local/include
    $ sudo cp -r /home/karin/CL /usr/local/include
    不配置到系统,利用动态链接的方法也可以链接。
    g++ -l /home/karin/opencl ....
至此OpenCL配置完毕。

参考链接:

Ubuntu 16.04安装NVIDIA驱动 - CSDN博客

【解决】Ubuntu安装NVIDIA驱动(咨询NVIDIA工程师的解决方案) - CSDN博客

Ubuntu 16.04 + Nvidia 显卡驱动 + Cuda 8.0 (问题总结 + 解决方案) - CSDN博客

ubuntu 16.04安装nVidia显卡驱动和cuda/cudnn踩坑过程 - 陈海峰的博客 - CSDN博客

ubuntu16.04 安装NVIDIA和CUDA8.0 - 奔跑_少年 - 博客园

Ubuntu14.04下Nvidia opencl例子的编译运行 - CSDN博客

在ubuntu上编译opencl需要什么? (和扩展,opencl期间) - IT屋-程序员软件开发技术分享社区

Cuda安装详细步骤 - CSDN博客

ubuntu14.04下配置cuda8.0以及测试OpenCL(测试通过) - hust_sheng的专栏 - CSDN博客

/usr/bin/ld: cannot find -lxxx 的解决办法 - zhming - 博客园

cuDNN Installation Guide :: Deep Learning SDK Documentation

ubuntu16.04下NVIDIA GTX965M显卡驱动PPA安装 - CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值