本篇博客主要记录在Ubuntu系统下配置CUDA环境的步骤,当然这些步骤在本机上测试都是通过的,但在你的电脑上不一定可以,所以仅供参考,遇到问题还是多百度或谷歌。首先列一下我的机器配置以供参考:
- CPU:Intel Core I5-8300H
- GPU: Nvidia GeForce GTX 1050 Ti
- 内存:8G
- 系统:Ubuntu 16.04 64位
如果你的配置和我差不多,那么这篇博客的内容有很大可能也适合你。在网上看到有很多博客说用runfile的方式去安装,但无奈在我的电脑上各种错误,最后也没有安装成功。最后使用DEB文件的方式安装成功了。如果你按照本博客的内容安装失败,可以试试runfile,相关内容网上一搜一大把。
1.下载DEB文件
首先进入CUDA的官方下载页面,根据提示依次选择适合自己的安装包,如下所示。 最后选择deb(local)文件下载。文件一个多G,但是下载速度还是挺快的。
2.进入终端安装
其实在下载页面就已经给出了安装命令,如下所示。 依次在终端中输入如下内容:
dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.148-1_amd64.deb
apt-key add /var/cuda-repo-<version>/7fa2af80.pub
apt-get update
apt-get install cuda
整个安装过程大约20分钟左右。采用这种安装方式不需要像runfile方式那样要禁用显卡驱动什么的,整个过程比较简单。
3.添加路径
安装完成后可以重启下电脑,不出意外,这时系统就已经更换成Nvidia的显卡了,之前默认采用的都是核显。
打开/usr/local/cuda/bin
路径,不出意外在目录下有个nvcc的可执行程序,如下图。
我们需要把这个路径添加到系统中。在终端中输入gedit ~/.bashrc
,然后在打开的文件的末尾添加如下内容:
export PATH=$PATH:/usr/local/cuda/bin
保存文件并在终端中输入source ~/.bashrc
使更改立刻生效。
4.检测是否安装成功
有许多方式可以检测CUDA环境到底是否安装成功,下面从简单到复杂依次介绍。
(1)查看NVCC信息
在终端中输入nvcc -V
,如果能正确显示版本号,说明安装成功了。
如果提示没有找到命令,请先确定是否按照上一步骤添加了路径。如果已经添加了路径,但是没有找到nvcc这个可执行程序,那么说明安装失败了,需要重新安装。
(2)查看显卡驱动信息
在终端中输入如下内容:
cat /proc/driver/nvidia/version
如果能正常输出相关信息,说明显卡驱动安装成功,否则需要重新安装。
需要提醒的是,如果上一步Nvidia显卡驱动没有装好,即使装好了CUDA,后续也无法使用。本机可以编译CUDA程序,但是无法运行。所以不管怎么说,要想运行CUDA,Nvidia显卡驱动都是要装好的。
(3)编译CUDA示例程序
以上两种方法都是比较简单的,这种方法可以直接检测CUDA到底能不能用。CUDA Samples在官网上没有提供下载链接,必须在安装CUDA时选择安装Samples才会有。所以这里直接把Samples打包成压缩包放到云盘里了,链接:https://pan.baidu.com/s/1CIoYy0dMAI5AeReU2bAlgA 密码:28v3。可以直接下载这个压缩包,然后在目录中打开终端,并输入make
进行编译(当然你可以指定多个线程一起跑)。如果你的CUDA正常工作的话编译成功后终端会显示“Finished…”,如下所示。
同时在当前目录下会生成一个bin
文件夹,如下所示。
这里面便是编译好了的CUDA程序。如果你能顺利编译,说明你的CUDA环境正常了“一半”。因为只有能运行CUDA程序,才能真正说明CUDA安装成功了。其实在没有Nvidia显卡的机器上也是能安装CUDA以及顺利编译程序的,只是无法运行。
(4)运行CUDA示例程序
打开我们刚刚生成的bin
文件夹,里面有很多程序可以测试。我们可以使用deviceQuery
进行测试。在当前目录下打开终端,输入./deviceQuery
,运行。如果顺利,会有如下输出。
会显示显卡相关的很多信息,最后是PASS。如果你的输出是FAIL或者其它,则说明你配置的CUDA环境还是有问题。无法运行CUDA程序。
4.其它
最后简单介绍一下其它相关的内容。
(1)查看CPU使用情况
查看CPU使用情况可以使用top
或htop
(需要通过apt来安装)。两个命令退出都是按q
。相比于top
,htop
显示的信息会更丰富一些,如下所示。
(2)查看GPU使用情况
查看GPU使用情况可以使用Nvidia的命令nvidia-smi
,输出如下所示。
显示的信息也非常详细。但是有问题就是它并不是实时更新的,而是输入一次输出一次信息。
所以这里介绍一下Ubuntu的自动刷新命令watch
,该命令可以自动实现自动刷新功能,十分方便。用法是watch command
,默认是每隔2秒刷新一次。
因此可以使用这个命令自动更新:watch -n 1 nvidia-smi
。这里的1表示时间间隔,退出是按Ctrl+C。
(3)谨慎切换显卡
在安装完CUDA和显卡驱动后,系统里会多出来一个叫”NVIDIA X Server Settings”的程序,打开后如下所示。 在左边有个”PRIME Profiles”的选项,点进去就是让你选择GPU,如下所示。 但在我的电脑上不知道为什么,如果这里一旦选择了Intel的显卡,就再也切换不回来Nvidia的显卡了,配置的CUDA环境也都不能用了。目前还没有找到解决办法,只能重做系统。所以建议是一定不要乱点这个选项,否则可能后果很严重。
本文作者原创,未经许可不得转载,谢谢配合