前言
在配环境过程中,我们时常会遇到CUDA版本不匹配的情况,此时我们就需要一个多版本CUDA安装与切换到方案。我在此提供一种非Root用户的配置方案,配置完成后,只需执行如下命令即可切换到指定版本(以11.8为例):
$ . ./switch_cuda.sh 11.8
配置多版本CUDA
你可以在这里找到 CUDA Toolkit 11.7 的安装包(选择.run文件)。
想安装老版本的CUDA Toolkit?
我们使用wget将run文件下载到本地以后,先通过 chmod +x ./<xxxxx>.run
修改权限,然后直接运行 ./<xxxxx>.run
即可。
我们先输入 accept 同意用户许可,然后按需选择是否要安装驱动。
在 Options
中,我们可以指定安装路径。在此处,我们将其安装到 ~/cuda/cuda-11.7
下。其他版本也将其安装到~/cuda/cuda-<version>
下。
完成配置后,选择 Install
即可完成安装。
环境变量以及脚本
环境变量
我们先通过 vim ~/.bashrc
打开bash配置文件。
在其中添加以下几行:
# >>> CUDA version >>>export CUDA_VERSION=11.7export PATH=$HOME/cuda/cuda-${CUDA_VERSION}/bin:$PATHexport LD_LIBRARY_PATH=$HOME/cuda/cuda-${CUDA_VERSION}/lib64:$LD_LIBRARY_PATHexport CUDA_HOME=/data/chenzirui/cuda/cuda-${CUDA_VERSION}/# <<< CUDA version <<<
然后执行 source ~/.bashrc
即可。
切换脚本
Warning
只有将各版本CUDA按格式安装到 ~/cuda/cuda-<version>
下才能使用此脚本。
将以下代码保存到 ~/switch_cuda.sh
下即可:
#!/bin/bash# 用法: ./switch_cuda.sh 11.2 或 ./switch_cuda.sh 10.2
CUDA_VERSION=$1
if [ -z "$CUDA_VERSION" ]; then echo "Please specify CUDA version, e.g. ./switch_cuda.sh 11.2" exit 1fi
export PATH=$HOME/cuda/cuda-${CUDA_VERSION}/bin:$PATHexport LD_LIBRARY_PATH=$HOME/cuda/cuda-${CUDA_VERSION}/lib64:$LD_LIBRARY_PATHexport CUDA_HOME=$HOME/cuda/cuda-${CUDA_VERSION}echo "Switched to CUDA ${CUDA_VERSION}"
这样即可使用 . ~/switch_cuda.sh 11.7
进行切换。
至此,你已经完成了所有配置。