需要先在服务器上安装CUDA 11.3(独立安装,不覆盖现有11.5),之后再按之前的方法配置虚拟环境专属使用CUDA 11.3,以下是完整的CUDA 11.3安装+虚拟环境隔离配置流程:
第一步:安装CUDA 11.3(独立路径,保留11.5)
1. 检查依赖(Ubuntu系统为例)
bash
# 安装必备依赖
sudo apt update
sudo apt install -y gcc make libxi-dev libxmu-dev libglu1-mesa-dev freeglut3-dev
2. 下载并安装CUDA 11.3
bash
# 进入临时目录
cd /tmp
# 下载CUDA 11.3.1安装包(适配x86_64架构,Ubuntu 20.04,其他系统替换链接)
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run
# 添加执行权限
chmod +x cuda_11.3.1_465.19.01_linux.run
# 核心:安装到/usr/local/cuda-11.3,不装驱动(避免覆盖现有显卡驱动)
sudo sh cuda_11.3.1_465.19.01_linux.run \
--override \
--toolkit \
--toolkitpath=/home/cscai/cuda-11.3 \
--no-drm \
--no-man-page
若服务器是CentOS系统,替换依赖安装命令:
sudo yum install -y gcc make libXi-devel libXmu-devel mesa-libGLU-devel freeglut-devel
3. 验证CUDA 11.3安装成功
bash
# 临时加载CUDA 11.3环境
export CUDA_HOME=/home/cscai/cuda-11.3
export PATH=$CUDA_HOME/bin:$PATH
# 检查版本(输出应包含release 11.3)
nvcc -V
第二步:配置虚拟环境专属使用CUDA 11.3
(接你之前的需求,仅指定虚拟环境用11.3,全局仍用11.5)
1. 激活目标虚拟环境
bash
source /home/cscai/.virtualenvs/Point-MAE/bin/activate
2. 修改虚拟环境的activate脚本(自动加载11.3)
bash
vim /home/cscai/.virtualenvs/Point-MAE/bin/activate
# 仅在 virtualenv 激活后执行
# 保存 CUDA 环境
_OLD_CUDA_HOME="$CUDA_HOME"
_OLD_PATH="$PATH"
_OLD_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
# 保存原始 deactivate 函数
_old_deactivate="$(declare -f deactivate)"
# 设置 CUDA 11.3
export CUDA_HOME=/home/cscai/cuda-11.3
export PATH="$CUDA_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
# 重写 deactivate
deactivate () {
# 先恢复 CUDA
export CUDA_HOME="$_OLD_CUDA_HOME"
export PATH="$_OLD_PATH"
export LD_LIBRARY_PATH="$_OLD_LD_LIBRARY_PATH"
unset _OLD_CUDA_HOME _OLD_PATH _OLD_LD_LIBRARY_PATH
# 恢复原 deactivate 并执行
eval "$_old_deactivate"
deactivate
}
# 保存退出:Esc → :wq → 回车
3. 验证虚拟环境隔离效果
bash
# 激活环境(自动加载11.3)
source /home/cscai/.virtualenvs/Point-MAE-main/bin/activate
nvcc -V # 输出release 11.3
python -c "import torch; print(torch.version.cuda)" # 若装了torch1.11.0+cu113,输出11.3
# 退出环境(恢复11.5)
deactivate
nvcc -V # 输出release 11.5
关键注意事项
- 驱动兼容 :CUDA 11.3需要显卡驱动版本≥465.19.01,若服务器现有驱动版本低于此,需先升级驱动(但会影响全局,建议确认:
nvidia-smi查看驱动版本); - 无冲突:CUDA 11.3和11.5独立安装,全局默认仍为11.5,仅目标虚拟环境生效11.3。
总结
- 先通过指定路径安装CUDA 11.3,避免覆盖现有11.5;
- 修改目标虚拟环境的
activate脚本,实现"激活环境=用11.3,退出=恢复11.5"; - 验证核心:激活环境后
nvcc -V显示11.3,退出后显示11.5,即配置成功。