首先要指出的是,__只有root用户有安装显卡驱动的权限__。普通用户在安装CUDA时需要挑选适合显卡驱动的版本。
具体可以通过以下命令查看当前显卡驱动版本以及支持的最高版本CUDA
```bash
nvidia-smi
```
此外,通过如下命令可以确定当前CUDA版本
```bash
nvcc -V
```
此外,由于root用户已经安装了CUDA,所以对于新建的普通用户,如果需要使用CUDA,直接在自己的.bashrc中添加如下两行,即可调用root安装的CUDA。
```bash
export PATH=/usr/local/cuda-12.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH
```
具体添加方法,则是使用vim对文件进行编辑
```bash
vim ~/.bashrc
```
vim是一个命令行文本编辑器,相关教程丰富。__vim分为命令模式和编辑模式__
按i可以进入编辑模式,无法鼠标操作,键入文字后,需要按esc退出编辑模式(进入命令模式)。在命令模式下,键入:wq(包含冒号),就是保存并退出。
```bash
:wq
```
##### 如果root的CUDA版本无法满足自己要求,那就要自行安装CUDA
普通用户在安装自己版本的CUDA时,会遇到权限不足的情况。
此时应当在CUDA安装程序中选择Options,并分别将CUDA Toolkit安装路径以及Library的安装路径都修改到自己的用户目录下,例如
```bash
/share/home/health/cuda-12.1/
```
安装完成后,在.bashrc文件中按照安装结束的提示添加环境变量。
```bash
export PATH=/share/home/health/cuda-12.1/bin:$PATH
export LD_LIBRARY_PATH=/share/home/health/cuda-12.1/lib64:$LD_LIBRARY_PATH
```
普通用户在安装cuDNN时,注意不要下载rpm文件,而应该选择resources中的Tarball and Zip Archive。复制下载链接,使用wget下载文件
```bash
[health@gpu1 ws]$ wget <download_link>
```
然后对文件进行解压
```bash
tar -xvf <file_name>
```
例如我这里解压得到如下文件
```bash
[health@gpu1 ws]$ tree -L 1 cudnn-linux-x86_64-9.1.1.17_cuda12-archive
cudnn-linux-x86_64-9.1.1.17_cuda12-archive
├── include
├── lib
└── LICENSE
```
这里我们需要把include和lib文件夹的文件复制到cuda文件夹中相应位置,并赋予权限
```bash
[health@gpu1 ws]$ cp ./cudnn-linux-x86_64-9.1.1.17_cuda12-archive/include/cudnn* ../cuda-12.1/include/
[health@gpu1 ws]$ cp ./cudnn-linux-x86_64-9.1.1.17_cuda12-archive/lib/libcudnn* ../cuda-12.1/lib64/
[health@gpu1 ws]$ chmod a+r ~/cuda-12.1/include/c* ~/cuda-12.1/lib64/libcudnn*
```