cuda10安装——在CentOS上安装的艰难过程

来来来,英语好,计算机底子好的直接官网教程走起:
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions

torch.cuda.is_available()返回false。一般也是由于cuda和driver不匹配或版本太落后导致的。

背景(dependence)

安装系统:Linux(Centos) ------但过程适用于各类Linux系统

$ uname -a # 查看内核/操作系统/CPU信息 
Linux mstation 3.10.0-123.el7.x86_64
$ lsb_release -a #列出所有版本信息
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.0.1406 (Core)
Release:        7.0.1406
Codename:       Core

gcc版本信息:

$ gcc -v #运行这个命令
gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)

查看当前英伟达驱动信息:

$ nvidia-smi

详细步骤

由于原有cuda版本为8,驱动也很老。本来想升级,发现更麻烦。干脆全部卸载,再重装。

第一步,卸载原有cuda及其驱动

如果原来系统很干净,没啥老版本的,直接看第二步。

$ sudo /usr/local/cuda-8.0/bin/uninstall_cuda_X.Y.pl  #找到自己的对应版本卸载
$ sudo /usr/bin/nvidia-uninstall  					#卸载驱动

第二步,禁用nouveau

在禁用之前,判断有无必要输入以下命令:

$ lsmod | grep nouveau

如果有输出,则需要先禁用nouveau;没有输出,则跳过这一步。
其实禁用就是在把nouveau加到黑名单上,这里需要管理员权限进行操作。

$ vi /etc/modprobe.d/blacklist.conf #这一步之前需要获取管理员权限,su
#如果上面这个地址上灭有blacklist.conf,可以找一找自己系统的黑名单在哪

然后再对应文件里加入如下两句:

blacklist nouveau
options nouveau modeset=0 

然后reboot,重启,再次用下述方法验证是否禁用成功,

$ lsmod | grep nouveau

第三步,禁用x server

也不知道为啥,重启之后,CentOS系统老是自动进入桌面界面,因此X server服务再开机的时候就自动开着了,导致了我新版本的cuda一直安装不上去。
解决办法:在正常开机之后,按Alt+Ctrl+F1进入命令行界面,然后登陆root账户进行后续操作。
在命令行界面输入,

# sudo init 3

这样x server算是关闭了。

第四步,安装cuda10.0

cuda10.0从官网上下载,已经包含了driver英伟达驱动了的。(PS:cuda安装下载满足需求就行,不然版本太高不一定适合,也不一定可以安装。)
先进入root用户权限。然后:

$ chmod +x cuda_10.0.130_410.48_linux.run   #进入相应文件夹,加权限
$ ./cuda_10.0.130_410.48_linux.run    #开始安装

然后,先阅读一波你必须同意的文字(很长,不想看的话按q键直接跳过),随后

accept
y  #-----询问你驱动安装与否
y
.
.
.
y   #上述我都是选y的,也是避免出错,大家可以根据自己需求选。我看有些教程的Opengl是选n,就是少安装一个东西,也不要紧。

然后,然后就成了。

第五步,加环境到普通用户./bashrc中

推出到普通用户后,在相应的账户下:

$ vi ~/.bashrc

在最后加上:

#cuda-10.0
export "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64"
export "PATH=$PATH:/usr/local/cuda-10.0/bin"
export "CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0"

保存退出。
然后:

source ~/.bashrc

好了,算是安装成功了。

总结

其实,cd安装过程贼不顺利。
刚开始,还抱有简单命令升级cuda以及驱动的想法,最终不得不放弃;
后来,禁用nouveau也花了不少时间。黑名单文件位置,各位根据实际情况找;
最后,由于cd是远程ssh进行操作的,因此,每次重启发现x server始终没有关闭,于是不得不到寒冷的机房去对着终端的显示器进行操作:先进纯命令行窗口–>运行init 3,然后再进行cuda的安装,安装完成之后恢复的话运行init 5即可。

安装不易,坑太多。cd也没有一一踩过去,仅前述大坑,望各位按需求看。

你可能感兴趣的:(cuda安装以及卸载,torch.cuda,英伟达驱动,nvidia,机器学习)