非root用户在服务器上安装CUDA和cudnn到指定目录
(适用于服务器上管理员已安装好显卡驱动或已安装的CUDA版本无法满足自己要求)
首先下载CUDA10.1 (无需登录,一定要下update2,其他版本无法自定义目录)
https://developer.nvidia.com/cuda-10.1-download-archive-update2
打开网页后选择对应自己服务器的处理器和系统版本,格式选runfile(local),这里以Ubuntu 16.04为例
wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
sudo sh cuda_10.1.243_418.87.00_linux.run
下载cudnn,选择CUDA10.1对应的版本 (需登录nvidia账号,无法用wget,我只能采取本地下载上传到服务器)
https://developer.nvidia.com/rdp/cudnn-download
选择 “cuDNN Library for Linux”,下载下来是一个tgz的压缩包。
安装CUDA:
sh cuda_10.1.243_418.87.00_linux.run
选择accept 后,更改安装选项('X' 代表选中,这里我只安装CUDA Toolkit,一般不搞CUDA编程单跑深度学习就够了):
┌──────────────────────────────────────────────────────────────────────────────┐
| CUDA Installer │
│ - [ ] Driver │
│ [ ] 418.87.00 │
│ + [X] CUDA Toolkit 10.1 │
│ [ ] CUDA Samples 10.1 │
│ [ ] CUDA Demo Suite 10.1 │
│ [ ] CUDA Documentation 10.1 │
│ Options │
│ Install │
选中Options:
┌──────────────────────────────────────────────────────────────────────────────┐
│ Options │
│ Driver Options │
│ Toolkit Options │
│ Samples Options │
│ Library install path (Blank for system default) │
│ Done │
│ │
先更改Toolkit Options (/usr这种非用户目录的都要去掉,另外自定义Toolkit Install Path):
┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Toolkit │
│ Change Toolkit Install Path │
│ [ ] Create symbolic link from /usr/local/cuda │
│ - [ ] Create desktop menu shortcuts │
│ [ ] Yes │
│ [ ] No │
│ [ ] Install manpage documents to /usr/share/man │
│ Done │
│ │
┌──────────────────────────────────────────────────────────────────────────────┐
│ Change Toolkit Install Path │
│ /home/yourname/cuda-10.1/ │
│ │
做完Done,回到Options菜单, 更改Library install path (不改不行,它会偷偷写入/var/lib)
┌──────────────────────────────────────────────────────────────────────────────┐
│ Library install path (Blank for system default) │
│ /home/yourname/cuda-10.1/mylib/ │
上述两个自定义的目录最好提前自己手动建好。安装成功后,会出个summary。
更改环境变量:
vim ~/.profile
在尾部添加:
# CUDA
export PATH="/mnt/sharedisk/liminghao/cuda-10.1/bin:$PATH"
export LD_LIBRARY_PATH="/mnt/sharedisk/liminghao/cuda-10.1/lib64:$LD_LIBRARY_PATH"
刷新环境变量:
source ~/.profile
测试CUDA:
nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243
安装cudnn
具体目录需要根据情况修改,我这里CUDA安装到了 ~/cuda-10.1 内
tar -zxvf cudnn.tgz
cd cuda # 此处进入cudnn解压的目录
cp ./include/cudnn.h ~/cuda-10.1/include
cp ./lib64/libcudnn* ~/cuda-10.1/lib64
chmod a+r ~/cuda-10.1/include/cudnn.h ~/cuda-10.1/lib64/libcudnn*
查看cudnn版本:
cat ~/cuda-10.1/include/cudnn.h | grep CUDNN_MAJOR -A 2
结果:
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)