多cuda版本并存


多cuda版本并存

详见链接链接以及Linux环境变量配置方法与加载顺序

修改cuda软链接切换版本

在Linux中,/usr/local/目录通常用于存放手动安装的软件。对于CUDA来说,它可能包括cuda这个软链接(快捷方式)来指向具体的CUDA安装目录。如果你想修改这个软链接指向的文件,你可以使用ln命令来重新创建这个软链接。

首先,你需要知道新的CUDA安装目录的路径。假设新的CUDA安装目录是/usr/local/cuda-11.2(这只是一个例子,实际的路径可能会不同)。

然后,你可以使用以下命令来删除旧的软链接并创建一个新的软链接:

sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-11.2 /usr/local/cuda

这里,rm命令用于删除旧的软链接,ln -s命令用于创建一个新的软链接。-s选项告诉ln命令创建一个符号链接(也就是软链接)。

请注意,使用sudo是因为/usr/local/目录通常需要管理员权限才能修改。

另外,修改CUDA软链接后,你可能还需要更新你的环境变量,以确保系统可以找到正确的CUDA路径。这通常涉及到编辑~/.bashrc~/.bash_profile/etc/profile文件,并在其中添加或更新以下行:

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

然后,你需要运行source ~/.bashrc(或你编辑的相应文件)来使更改生效。

Linux环境变量配置方法一:export PATH

使用export命令直接修改PATH的值。

例如,配置MySQL进入环境变量的方法:

export PATH=/home/uusama/mysql/bin:$PATH

# 或者把PATH放在前面
export PATH=$PATH:/home/uusama/mysql/bin

注意事项:

  • 生效时间:立即生效
  • 生效期限:当前终端有效,窗口关闭后无效
  • 生效范围:仅对当前用户有效
  • 配置的环境变量中不要忘了加上原来的配置,即$PATH部分,避免覆盖原来配置【具体表现为,把原来的PATH看作一个目录,与新增加的环境变量用冒号 : 隔开;原来的PATH看作一个目录($PATH),与新增加的环境变量用冒号 : 隔开;原来的PATH看作一个目录,与新增加的环境变量用冒号:隔开;原来的PATH可以放在前面,也可以放在后面】

Linux环境变量配置方法二:vim ~/.bashrc

通过修改用户目录下的~/.bashrc文件进行配置:

vim ~/.bashrc

# 在最后一行加上
export PATH=$PATH:/home/uusama/mysql/bin

注意事项:

  • 生效时间:使用相同的用户打开新的终端时生效,或者手动source ~/.bashrc生效
  • 生效期限:永久有效
  • 生效范围:仅对当前用户有效
  • 如果有后续的环境变量加载文件覆盖了PATH定义,则可能不生效

安装cudnn

windows

CUDA需要配合cudnn才能正常工作,将cudnn的四个文件(夹),复制到CUDA的安装路径即可,即CUDA文件夹。
往系统环境变量中的 path 添加如下路径(根据自己的路径进行修改

C:\Program Files\NVIDIA\CUDA\bin
C:\Program Files\NVIDIA\CUDA\include
C:\Program Files\NVIDIA\CUDA\lib
C:\Program Files\NVIDIA\CUDA\libnvvp

检验:

配置完成后,我们可以验证是否配置成功,主要使用CUDA内置的deviceQuery.exe 和 bandwidthTest.exe
首先win+R启动cmd,cd到安装目录下的 …\extras\demo_suite,然后分别执行.\bandwidthTest.exe.\deviceQuery.exe,应该得到下图.

cd C:\Program Files\NVIDIA\CUDA\extras\demo_suite 
.\bandwidthTest.exe 
.\deviceQuery.exe

linux

官方教程CSDN参考
安装linus解压工具

sudo apt-get install zlib1g

打开下载链接,选择相应的版本并下载。选择方法可参考链接,,建议直接选择cuDNN Library for Linux (x86_64)
进入cudnn压缩包所在的文件夹,解压文件

tar -xvf [$文件名]

将文件拷贝到相应cuda目录下

sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

查看cudnn版本

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

出现如下的信息,则为配置成功

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 4
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#endif /* CUDNN_VERSION_H */

cuda卸载

linux

详见链接链接
如果需要换不同的版本,建议多版本并存,这里先不涉及,如果要彻底卸载,根据以下操作
权限不够前面加sudo,我这里用root进行安装

方案一

  1. 准备删除cuda
    apt-get remove cuda
  2. 自动卸载
    apt autoremove
  3. 删除其它的cuda
    `apt autoremove cuda*
  4. 删除下载安装包(也可以不删除)
    rm /usr/local/my_cuda/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
  5. 查找包相关
    dpkg -l |grep cuda
  6. 手动删除相关的包。否则再安装别的版本会失败
    dpkg -P cuda-repo-ubuntu2204-12-1-local cuda-toolkit-12-1-config-common cuda-toolkit-12-config-common cuda-toolkit-config-common cuda-visual-tools-12-1
    名字使用第5步中的

方案二

进入下面这个目录:

cd /usr/local/cuda-10.0/bin

在这个目录中,可以找到卸载程序,名为:uninstall_cuda_10.0.pl

这里需要注意,如果版本大于10.0,则卸载程序的名字为:cuda-uninstaller

执行卸载命令:

# version <= 10.0
sudo ./uninstall_cuda_10.0.pl  # 10.0可替换为自己的版本号
# version > 10.0
sudo ./cuda-uninstaller

如果完成卸载后,当前目录(/usr/local/cuda-10.0)没有被删除,则证明还存在当时安装cuDNN时留下的文件

删除cuDNN(若没有安装Cudnn,可忽略此步骤):

sudo rm -rf /usr/local/cuda-10.0  # 10.0可替换为自己的版本号

综上,就彻底删掉了Cuda相关的文件

windows

  • 进入控制面板,将如下所示打勾的NVIDIA GeForce Experience,NVIDIA PhysX 系统软件,NVIDIA 图形驱动程序的保留,其他的NVIDIA标识全部双击卸载。
  • 然后打开杀毒软件进行垃圾清理,将注册表删除即可;或者WIN+R 输入regedit,点击确定进入注册表编辑器,然后打开HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall文件夹删掉NVIDIA的注册表。

文章作者: Austin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Austin !
  目录