参考文献:

http://blog.csdn.net/autocyz/article/details/52299889

http://blog.csdn.net/lixintong1992/article/details/51156368

http://blog.csdn.net/baiyu9821179/article/details/57412131

http://blog.sina.com.cn/s/blog_9db078090102vdvx.html

最近开始学习     CUDA  在安装中遇到的一些问题,最终成功安装,也得益于网络上的前辈写的文章,现在将全部安装步骤以及遇到的一些问题总结如下:
 
本文的前提条件是你已经安装好  NVIDIA 显卡, 此部分操作参见本博客上一篇内容。
 
 
 
 
安装其它必要软件
  • 下面都是一些可能需要用到的库,否则在安装CUDA时,可能会提示缺少需要的库文件。
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
  • 值得注意的是,我在我的Ubuntu系统/usr/lib/x86_64-linux-gnu/目录下找到了名为libGLU.so.1.3.1,所以在尝试建立链接到/usr/lib/目录下后,安装Samples时就正常了。
sudo ln -s /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1 /usr/lib/libGLU.so
 
 
 
 
 
安装CUDA
 
cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda。
从这里下载cuda的安装文件
 
https://developer.nvidia.com/cuda-downloads
 
 
注意这里下载的是cuda8.0的runfile(local)文件。
这里是nvidia给出的官方安装指南(遇到问题时可以查阅):
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt
 
下载完cuda8.0后,执行如下语句,运行runfile文件:
 
 
sudo sh cuda_8.0.61_375.26_linux.run

执行后会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia375驱动时,一定要选择否,因为前面我们已经安装了更加新的nvidia381,所以这里不要选择安装。其余的都直接默认或者选择是即可。

安装成功后会出现如下界面

===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /home/textminer
Please make sure that
– PATH includes /usr/local/cuda-8.0/bin
– LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run -silent -driver
Logfile is /opt/temp//cuda_install_6583.log 安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH 重启电脑
 
  • 验证

查看NVCC版本

nvcc -V,输出结果如下:



编译并运行例子

  • 进入到Samples安装目录,然后在该目录下make,等待十来分钟。

  • 编译完成后,可以在Samples里面找到bin/x86_64/linux/release/目录,并切换到该目录

  • 运行deviceQuery程序,查看输出结果如下(重点关注最后一行,Pass表示通过测试):

 

建议要做的事

之后我们可以安装一些官方的CUDA例子,来检验我们是否安装成功了。

进入CUDA目录/usr/local/cuda-8.0/bin,会发现在这个目录下,有一个名为cuda-install-samples-8.0.sh的文件,在控制台使用命令:

 
sudo  sh  cuda-install-samples-8.0.sh  "例子被创建的目录"

我使用的是/home目录。在我的/home目录下,有一个NVIDIA_CUDA-8.0_Samples 文件夹,里面就是官方的例子,进入这个目录,输入make进行编译。

sudo make


需要相当长一段时间才能编译完成。我在编译第三个sample的时候,遇到了一个错误

/usr/bin/ld: cannot find -lnvcuvid

刚开始以为是安装出错了,因为之前安装失败过一次,又手动把CUDA给卸载了。结果发现,是英伟达显卡驱动版本不同导致的.在  NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL/findgllib.mk  文件中,
 
 
UBUNTU_PKG_NAME = "nvidia-375"

而我的英伟达驱动是381,于是只要把这行代码改成
 
UBUNTU_PKG_NAME = "nvidia-381"
 
 
就可以了,然后所有的例子都顺利的编译通过了。在编译完所有例子以后,会提示:
Finished building CUDA samples
 
 
 
之后运行一些例子,编译好的二进制文件,保存在~/NVIDIA_CUDA-8.0_Samples/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release 中,进入这个目录,输入ls,看到很多编译好的二进制文件。先运行deviceQuery。输入
 
sudo  ./deviceQuery

可以看到如下运行结果:
在运行bandwidthTest
sudo  ./bandwidthTest


到此,CUDA算是已经安装完毕了。

 
 
 
 
 
 
 
 

Ubuntu 16.04 LTS安装 cuda8.0的更多相关文章

  1. Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel

    Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel 1.MySQL安装[安装 MariaDB]MariaDB是MySQL的一个分支首 ...

  2. Ubuntu 16.04 LTS安装 TeamViewer

    Ubuntu 16.04 LTS安装 TeamViewer     64位Ubuntu 16.04系统需要添加32位架构支持,命令如下. sudo dpkg --add-architecture i3 ...

  3. Ubuntu 16.04 LTS 安装 miniconda

    Ubuntu 16.04 LTS 安装 miniconda 下载 miniocnda 的 bash 文件下载链接 https://conda.io/miniconda.html ,我选择的是 64-b ...

  4. Ubuntu 16.04 LTS安装好需要设置的15件事(喜欢新版本)

    看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用 ...

  5. Ubuntu 16.04 LTS安装好之后需要做的15件事

    看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用 ...

  6. Ubuntu 16.04 LTS安装Docker并使用加速器

    参考优酷:http://v.youku.com/v_show/id_XMTkxOTYwODcxNg==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2 首 ...

  7. Ubuntu 16.04 LTS 安装libvips出现”Package vips was not found in the pkg-config search path”

    使用libvips来操作图像,libvips的部署参考一个Node.js工程:https://github.com/lovell/sharp 在MAC下安装很顺利,到Linux环境下(Ubuntu 1 ...

  8. ubuntu 16.04 LTS安装jenkins服务器

    官方网站:https://jenkins.io/ 这里我们的系统是Ubuntu 16.04,所以选择Ubuntu的版本,另外,为什么选择2.60.3,而不是新的2.77?因为2.60.3是LTS版本, ...

  9. Ubuntu 16.04 LTS安装sogou输入法详解

    http://blog.csdn.net/qq_21792169/article/details/53152700 最近开始学习linux 在安装输入法中遇到的一些问题,最终成功安装,也得益于网络上的 ...

随机推荐

  1. nohup 与 &

    &的意思是在后台运行, 什么意思呢?  意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C,  那么a.out照样运行(因为对SIGINT信号免疫). 但是要注 ...

  2. Thunder团队--Alpha发布用户报告

    用户数量:12人 以下为用户评论:(注:为了保护用户的姓名权,以下用户名以昵称形式给出.) 用户名(昵称) 用户使用频次 用户评论(以图片展示) 小王 3次 米线 2次 孔小姐 5次 乌乌鸟 2次 永 ...

  3. es5,es6,typescript,nodejs

    es5新特性 讲到js必讲的几个概念,作用域,闭包,IIFE自执行函数 es5主要是对Object,Array,Function做了扩展,还有josn工具 es6新特性 增加了新的数据类型 WeakM ...

  4. 笔试题-sql语句

    今天遇到了不熟练(不会)的查询题目 回来自己又做了一下,如下 建表语句 -- Table structure for score -- ---------------------------- DRO ...

  5. jsp forward跟redirect区别

    forward 相当于php的 require/include 属于服务器包含/跳转 request.getRequestDispatcher("result.jsp").forw ...

  6. vs2010打包安装

    [WinForm] VS2010发布.打包安装程序(超全超详细) 2017年02月17日 21:47:09 y13156556538 阅读数:16487更多 个人分类: C#winform   1. ...

  7. English trip M1 - PC12 I'd Like a Room Please Teacher:Taalan

    In this lesson you will learn to say what you need. 在本课中,您将学习如何说出您的需求. Words list elevator  电梯      ...

  8. LeetCode--028--实现strSTR()

    问题描述: 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返回  -1. 示例 ...

  9. 二分求LIS并打印结果

    1275: God's ladder [DP] 时间限制: 1 Sec 内存限制: 128 MB  Special Judge 题目描述 天明来到神之宫殿,在他眼前出现了若干个石柱,每个石柱上有1枚金 ...

  10. Linux中的yum是什么?如何配置?如何使用?

    yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow do ...