CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。
CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
从官方安装指南可以看出,只要把cuDNN文件复制到CUDA的对应文件夹里就可以,即是所谓插入式设计,把cuDNN数据库添加CUDA里,cuDNN是CUDA的扩展计算库,不会对CUDA造成其他影响。(我们待会可以从安装过程中发现,cuDNN的安装过程实际上是把cuDNN的头文件复制到CUDA的头文件目录里面去;把cuDNN的库复制到CUDA的库目录里面去。)
以上内容来自:https://www.jianshu.com/p/622f47f94784
cuda下载地址:https://developer.nvidia.com/cuda-downloads?
我是这里直接下载文件(点击图中右下角的Download):
https://developer.nvidia.com/cuda-80-ga2-download-archive
下好后是这样样子:(我下的是8.0版本)
我用anaconda创了一个名为tfshizhan的环境,然后用xftp把文件传到相应的文件夹中:
/home/ljsnu/anaconda3/envs/tfshizhan
给文件运行权限:(这里根据自己的情况修改文件名)
chmod +x cuda_8.0.61_375.26_linux.run
然后:
./cuda_8.0.61_375.26_linux.run
然后会出现一大段文字内容,需要不断按回车,一直按到结束(内容还挺长的)。
然后就根据你的情况选择:
(第二个问题我选了n,因为服务器上已经安装过驱动了。第四个问题是选择安装的目录,我填了/home/ljsnu/anaconda3/envs/tfshizhan,实际上应该填/home/ljsnu/anaconda3/envs/tfshizhan/cuda-8.0。第五个是因为我没有管理员权限,所以无法写入。)
按回车。
安装好之后提示你修改环境变量。
vim ~/.bashrc
export PATH=/home/ljsnu/anaconda3/envs/tfshizhan/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/ljsnu/anaconda3/envs/tfshizhan/cuda-8.0/lib64
这里需要根据自己安装的目录修改一下路径
修改完之后先按ESC,再输入:wq保存
vim命令:https://www.runoob.com/linux/linux-vim.html
修改完之后使环境变量生效:
source ~/.bashrc
查看cuda-toolkit安装是否成功:
nvcc -V
在这里下载:https://developer.nvidia.com/rdp/cudnn-download
下载之前还要注册,要花一点时间。
选好版本下好之后如果是这个样子的:
就重命名为.tgz。
用xftp传到相应文件夹,解压:
tar -xzvf cudnn-8.0-linux-x64-v5.1.tgz
(根据自己安装的目录适当改动)
# 复制cudnn头文件
sudo cp cuda/include/* /usr/local/cuda-8.0/include/
# 复制cudnn的库
sudo cp cuda/lib64/* /usr/local/cuda-8.0/lib64/
# 添加可执行权限
sudo chmod +x /usr/local/cuda-8.0/include/cudnn.h
sudo chmod +x /usr/local/cuda-8.0/lib64/libcudnn*
把cuda/include的这个cudnn.h文件放到cuda-8.0/include的文件夹中。(可以用cp命令,也可以直接用xftp。我这里直接用xftp了)
然后再把cuda/lib64的下列文件(也是全部文件):
复制到cuda-8.0/lib64里面(我这里是已经复制完成了)
检测是否安装成功:
cat /home/ljsnu/anaconda3/envs/tfshizhan/include/cudnn.h | grep CUDNN_MAJOR -A5
(根据自己的路径适当改动)
出现下列信息即代表安装成功:
一点感触:pytorch比tensorflow好的一点是,现在安装pytorch不用再单独安装CUDA了。
参考链接:https://blog.csdn.net/weixin_41278720/article/details/81255265