非root用户在服务器上安装CUDA和cudnn到指定目录(只修改自己的环境,对其它用户环境没有影响)
测试系统:ubuntu16.04
需求:系统安装的cuda10.0满足不了任务需求,需要安装cuda10.1
1.下载cuda10.1(下update2,其他版本无法自定义目录)寻找适合的版本
https://developer.nvidia.com/cuda-10.1-download-archive-update2
下载命令
wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
2.下载cudnn,要对应cuda的版本,手动下载下来上传至服务器
https://developer.nvidia.com/rdp/cudnn-download
选择 “cuDNN Library for Linux”,下载下来是一个tgz的压缩包。
3.创建两个目录(我的目录是/home/quaner)
cd ~
mkdir cuda-10.1
mkdir cuda-10.1/mylib
这里目录名不要命名为cuda,最好加上后面的后缀,或者其他名字,只要不是cuda就行,以免后面解压cudnn时直接覆盖
4.安装CUDA
sh cuda_10.1.243_418.87.00_linux.run #名字注意要和安装的包对应上
选择accept 后,更改安装选项(‘X’ 代表选中,只安装CUDA Toolkit)
选中Options:
先更改Toolkit Options (/usr这种非用户目录的都要去掉,我这里全去掉了,另外进入 Change Toolkit Install Path设置cuda安装到自己具有写入权限的路径(提前建好),我这里是“/home/yourname/cuda-10.1/”):
路径要改对了,图片来自其他博客
做完Done,回到Options菜单, 更改Library install path:
成功之后会有个提示“summary”
5.更改环境变量
vim ~/.profile
在尾部添加(将cuda的各种库目录添加到环境变量):
export PATH="/home/yourname/cuda-10.1/bin:$PATH"
export LD_LIBRARY_PATH="/home/yourname/cuda-10.1/lib64:/home/yourname/cuda-10.1/mylib/lib64:$LD_LIBRARY_PATH"
刷新环境变量:
source ~/.profile
测试CUDA:
nvcc -V
6.安装CUDNN
tar -zxvf cudnn.tgz #这里的文件名要对应上下载的cudnn文件名
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*
成功~