作者:HAN,部分参考网络,环境ubuntu16,1080Ti
感谢G学姐的服务器~ 让我从瞎安到熟练…
nvcc -V
或者如下命令
cuda 版本
cat /usr/local/cuda/version.txt
cudnn 版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
nvidia与cuda需要满足关系:
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
cuda与cudnn需要满足关系:
https://developer.nvidia.com/rdp/cudnn-archive
cuda历史版本下载连接:
https://developer.nvidia.com/cuda-toolkit-archive
首先去官网上查看适合你的GPU的驱动
官网:https://www.nvidia.com/Download/index.aspx?lang=en-us。
例如,本人的GPU适合的驱动如图:
参考链接安装:
https://www.cnblogs.com/luofeel/p/8654964.html (期间Crtl+Alt+F1或者lightdm stop,会黑屏,新手不要慌,这只是进入里命令行模式。失败了也没必要重装系统,多试几次或者多试几个版本。有的版本会有gcc限制。gcc切换方式在需要4)
不推荐使用如下方式:
系统设置附加驱动里的安装方式,因为可能导致循环登录等情况。不推荐!:(UBUNTU右上角》系统设置》软件与更新》附加驱动选择》重启)
另外不推荐的是如在命令行里使用如下安装sudo apt-get install nvidia-390
显卡和CUDA需要对应:
输入: nvidia-smi
如果出现了你的GPU列表,则说明驱动安装成功了。
另外也可以通过:nvidia-settings
查看自己机器上详细的GPU信息,本人机器的信息如下:
gcc -v # 检查gcc版本
sudo apt-get remove gcc # 卸载(如有需要)
# 安装
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.7 # 加需要的版本号即可
sudo apt-get install g++-4.7
# 不太推荐的安装方式:https://www.jianshu.com/p/4168966e0b88
请先看2再看4
cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda。
从这里下载cuda9.0的安装文件 cuda下载地址
注意这里下载的是cuda9.0的runfile(local)文件。
那个9.0.176后面应该对应的是显卡驱动号,我下了比他高的版本390
下载完cuda9.0后,执行如下语句,运行runfile文件:
sudo sh cuda_9.0.176_384.81_linux.run
# 即:sudo sh 对应你的run文件
下面是输入命令后的显示界面与选择,简言就是第一个写n,其余全部yes默认。
因为驱动之前已经安装,这里就不要选择安装驱动。其余的都直接默认或者选择是即可。
#先执行下面的命令安装相关依赖,
#如果出现`Missing recommended library`错误,使用下面命令
# sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
sudo sh cuda_8.0.61_375.26_linux.run #开始安装
#..一堆协议说明...
#直接按q退出协议说明.
zerozone@zerozone: accept/decline/quit: accept #接受协议
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
y)es/(n)o/(q)uit: n #是否显卡驱动包,由于已经安装显卡驱动,选择n
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安装工具包,选择y
Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]: #工具包安装地址,默认回车即可
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
# 把/usr/local/cuda-8.0链接到/usr/local/cuda
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y #安装样例,我默认到了home下
Enter CUDA Samples Location
[ default is /root ]: #样例安装地址默认即可
# ***安装信息***
Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Missing recommended library: libXi.so
Missing recommended library: libXmu.so
#注意,这里出现了Missing recommended library错误,
#是因为博主在第一次安装时,没有添加最开始的那条安装相关依赖的指令,
#之后我添加了依赖后,再次安装,就没有Missing错误了
Installing the CUDA Samples in /root ...
Copying samples to /root/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /root, but missing recommended libraries
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 /tmp/cuda_install_6388.log
# ***安装完成***
使用:相当于配置环境变量,输入sudo gedit ~/.bashrc
,打开.bashrc文件,添加如下内容
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
#注意这里不要写cuda几点几,因为上面安装cuda的时候你选择了把cuda-版本号的文件链接到了/usr/local/cuda/,所以根本没有必要在此文件里写版本号。写了以后换cuda很可能会更换不成功,因为可能之前的cuda-版本号优先于你新的cuda
使配置生效:
source ~/.bashrc
# 卸载只需要把/usr/local/cuda-版本号文件直接删除即可。但没必要卸载,安装新的cuda只需要覆盖/usr/local/cuda文件即可,因为环境变量设置的是/usr/local/cuda # 下面是更换已有cuda 的方法 sudo rm -rf /usr/local/cuda sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda #把9.0数字概率,8.0和9.0来回改就可以,ln -s的意思是软连接,相当于windows里的快捷方式,不是实际的文件
nvcc --version
(nvidia-smi终端里显示的似乎不是绝对准确的)
安装完cuda还必须安装cudnn
首先说明下cudnn的安装方式其实就是把下载下来的文件放到刚才安的cuda里,cudnn和cuda的结构都是一致的,把cudnn里的东西放到对应地方即可。值得注意的是要放在/usr/local/cuda-版本号里,不要放在/usr/local/cuda里。
首先去官网下载你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。
https://developer.nvidia.com/rdp/cudnn-archive
有deb和Tar包,安装哪个都可以,我没选择deb
是个压缩文件(.tgz)
大概思路是把cudnn解压缩得到的cuda(这个cuda只是一个文件名而已),把cudnn包里include和lib64里的.h文件全部复制到/usr/local/cuda-版本号对应的的include和lib64文件里。
如果你直接把这些文件拖拉进去或者ctrl c+ctrl v,那么下面的命令你就不需要使用了,下面命令的效果就是ctrl c+ctrl v
下载完cudnn之后进行解压,cd进入cudnn解压之后的cuda
文件目录,在命令行进行如下操作:
打开为特定cuda下载的cudnn
#复制头文件
sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*
因为我们已经复制进/usr/local/cuda-版本了,刚才下载的东西就没有了把刚才cudnn解压得到的cuda删了,
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
perfect~
不懂请留言~