使用lsb_release -a查看系统的版本
然后去https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=runfilelocal
找到适合自己系统版本的cuda
然后wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
下载到服务器然后
sudo sh cuda_10.2.89_440.33.01_linux.run
运行。

如果没有管理员权限
我们能不能做到不借助 root 权限给 Linux 系统安装 CUDA?

答案是有可能的,但是“丑话说在前面”,显卡驱动需要比较新才行。

那么我们为什么会有这种奇怪的需求呢?一种可能的情况是,服务器因为不同的人使用的版本不一样的原因,无法轻易改动 CUDA 的版本。但是我们作为普通用户,又想使用新版的 CUDA(而更新驱动一般不会对其他用户产生影响,除非他们正在占用显卡)。那么该怎么做呢?
如果是旧版本(比如 9.x)的 CUDA,阅读 EULA 的界面会特别长。这里的一个小技巧是,不要按住回车键,而是按住空格键来进行跳过。

这里我们不要安装驱动(Driver),因为驱动一定需要 root 才能够安装。一旦选择,必定会安装失败。我们可以移动光标到这些不需要的项目,然后按下Enter取消勾选:

除了 Toolkit 以外,下面的几个其实也不需要。可以根据情况选择安装(比如可以安装 Samples,后续测试 CUDA 以及 cuDNN 是否安装成功)。这里我选择的是仅安装 Toolkit。

接下来我们的任务,就是修改安装路径到自己的 home 下。默认情况下,

CUDA 会被安装在:/usr/local/cuda-10.2/

Library 会被安装在:/usr/local/cuda-10.2/lib64/

所以我们要对这两个进行修改。打开 Options。如果不安装 Driver 和 Samples,那么这两个不用管。否则也需要修改他们的安装位置。打开 Toolkit Options,然后 Change Toolkit Install Path,修改为/home//cuda-10.2/:

然后 Done,返回上一级,再选择 Library install path:

并将安装目录修改为:/home//cuda-10.2/lib64/。如果是 9.x 版本的 CUDA,一旦在前面安装了 CUDA 本体的安装位置,那么 library 的位置会自动变成本体安装目录下的 lib64。

然后就可以开始安装了。

安装完毕之后,需要配置一下 .bashrc,在其下方添加:

export PATH=/home//cuda-10.2/bin:$PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home//cuda-10.2/lib64/

保存后运行一下 source .bashrc,就可以用 nvcc -V 试试有没有安装成功了。

安装 cuDNN

下载完 .tar.gz 之后,可以用 tar -zxvf 解压缩,然后将里面的文件拷贝到 CUDA 安装目录下的指定位置即可。具体为:

cp /cuda/include/cudnn.h /include/

cp /cuda/lib64/libcudnn* /lib64

chmod a+r /include/cudnn.h /lib64/libcudnn*

到此,CUDA 10.2 与 cuDNN 安装完毕。

但是,有比较大的可能会因为你安装的 CUDA 版本太新,而服务器上的显卡驱动又太旧了(比如是 CUDA 9.0 安装包自带的驱动),那么仍旧是没有办法正常使用的(比如使用 GPU 版的 PyTorch)。想要真正能用,还是要说服管理员将服务器的驱动进行更新。但是可以放心的是,更新了驱动之后,旧版本的 CUDA 依旧是可以用的。

来源:ID:CheneyWang

物联沃分享整理
物联沃-IOTWORD物联网 » linux下安装cuda

发表评论