在一个刚安装好的、全新的ubuntu18.04上,按下Ctrl+Al+T打开终端,依次输入以下三条指令,安装好gcc和cmake(gcc是GNU compiler collection,用来编译c和c++程序的,cmake也是)
sudo apt update
sudo apt-get install build-essential
sudo apt-get install cmake
在安装环境的全过程中,必须时刻对flag保持高度关注。所谓flag就是这一步操作的结果。比如刚刚用install指令安装好了两个东西,而linux不像windows或者pip那样会在安装好后提醒你successfully install XXX,所以我们必须手动观察flag,确认这一步操作有没有成功
执行
$ gcc --version
输出
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ cmake --version
输出
cmake version 3.10.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
表示这两个软件已经正常安装了
所谓驱动,就是沟通显示屏、CPU、GPU的桥梁,有了显卡驱动才可以让电脑上正常显示内容。
网上搜索的话会有好几种安装方式,但是建议不要用命令行来安装,实测会出现非常多意外的错误,初学、省事的装驱动做法是打开桌面左下角的启动器(就是那9个点),找到“软件和更新”(softwares and updates)打开,
点开附加驱动可见在这里就可以方便的安装显卡驱动。如果刚装好系统,应该会使用底下那个nouveau,nouveau不是英伟达提供的,是民间大佬写的适配英伟达显卡的驱动,只是浏览屏幕的话够用,单位是我们要深度学习,就需要使用英伟达的驱动了。我这里是有几个英伟大驱动的选项的,如果没有,可以执行
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
ubuntu-drivers devices
第三行是显示ubuntu推荐的驱动,其实就是软件和更新里显示的那几个选项。
再重新打开 软件和更新,或者重启,就会出现了。
这里点击一下460那个,注意不是server服务器版本的,然后点应用更改,等十几分钟,重启,就完成了安装了。
在终端中输入nvidia-smi,弹出以下信息表示显卡驱动安装成功
一般来说,一个新的系统完全按照上面的指令敲下来,一定可以成功,如果报错请验证是否每一行都一样。
20211231更新: 不推荐使用deb安装cuda,会一口气把显卡驱动也给你装上, 容易导致后续的问题. 请使用runfile进行安装.参考https://blog.csdn.net/h3c4lenovo/article/details/119003405
如果要卸载已装的cuda,
cd /usr/local/cuda/bin
./cuda-uninstaller
-------------------------以下是用deb安装的过程
我选CUDA版本的原则是,要能够跑gpu版本pytorch 1.7.0,因为大多数github项目都基于torch1.7,此外CUDA还要能够安装绝大多数的深度学习框架,比如tf,paddle等。再者,我的显卡是3080ti,算力是8.6,必须安装11.0及以上的CUDA才可以,此前的CUDA不支持8算力显卡的加速。最终我选择了11.0作为CUDA版本。
首先执行sudo apt-get install linux-headers-$(uname -r)
验证系统是否安装了kernel header和 package development。然后进入https://developer.nvidia.com/cuda-11.0-update1-download-archive,
根据下方框里的命令一行一行执行即可,中途不要有任何别的操作。
在执行完这几条指令后,在终端输入sudo gedit ~/.bashrc
在文本最后输入
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.0/lib64
export PATH=$PATH:/usr/local/cuda-11.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.0
11.0要改成你装的cuda版本。
最后执行source ~/.bashrc
,就成功把CUDA加入环境变量了,测试一下CUDA是否安装成功
执行nvcc -V
,出现这个就说明安装成功了
但此时执行nvidia-smi会报错Failed to initialize NVML: Driver/library version mismatch
,这是因为我们使用了deb一站式安装CUDA11.0,把450版本的显卡驱动也装上了,460的显卡驱动会被自动卸载。通过下面这个指令监控一下当前显卡驱动安装的所有的软件包:
sudo dpkg --list | grep nvidia
可以看到既有460也有450的,而且460那几个包的状态都变成了rc
,这意味着这个包刚被remove卸载了,但是还残留着配置文件configurations,其他450的包状态都是ii
,意味着这个包刚被install安装,而且已经installed装好了。可见目前的驱动软件其实已经变成了450,但是为什么nvidia-smi还是会报错呢?这是因为,软件变450了,但是系统的配置文件还保持着460,执行
cat /proc/driver/nvidia/version
,可以看到
英伟大显卡驱动竟然还是460!
所以,下面要做的事就是卸载所有显卡驱动软件包,再重装显卡驱动
执行下面的指令卸载所有显卡驱动软件包
sudo apt-get --purge remove nvidia-*
sudo apt-get purge nvidia*
sudo apt-get purge libnvidia*
验证一下有没有卸载干净:sudo dpkg --list | grep nvidia
输出为空,表示全部卸载了。
重启一下,再打开“软件与更新”,会发现显卡驱动又回到了而nouveau,再次执行
cat /proc/driver/nvidia/version
,会发现文件目录不存在,说明真的卸载干净了。
只要在“软件与更新”里勾选460,应用更改,重启,nvidia-smi就可以成功了!
最后,验证一下cuda可否运转:
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./1_Utilities/deviceQuery
1、先deb装cuda,不额外装显卡驱动
2、先deb装cuda,卸载450,再装460
3、先装460,再run装cuda
https://www.cnblogs.com/xiaowk/p/15205506.html
参考目录:(可以学到很多)
https://www.jianshu.com/p/158ae8fcdb4a
https://blog.csdn.net/zhiman_zhong/article/details/91491780
https://blog.csdn.net/qq_42518956/article/details/108358254
https://blog.csdn.net/zywvvd/article/details/115500412