当前位置: 首页 > news >正文

给某个conda环境安装CUDA 12.4版本 全局CUDA不变

文章目录

    • 🎯 正确的安装命令
    • 📋 为什么这个命令安全?
    • ⚠️ 重要说明
    • 🔧 安装后环境配置
      • 方法一:在虚拟环境中设置
      • 方法二:使用conda环境变量
    • 🧪 验证安装
    • 📊 版本共存确认
    • 💡 额外安全措施
      • 一、检验CUDA 12.4安装是否成功
      • 二、在conda环境`time_moe_cls`中使用CUDA 12.4
        • 1. 激活目标环境
        • 2. 配置环境变量(仅在当前环境生效)
        • 3. 重新激活环境使配置生效
        • 4. 验证环境变量是否生效
      • 三、测试FlashAttention安装(最终验证)
      • 关键说明

官网地址 https://developer.nvidia.cn/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=runfile_local

下载runfile

非常好!从帮助信息可以看到,这个CUDA安装器使用的是双横线 -- 选项,但不支持 --no-driver--no-samples 这样的否定选项。

🎯 正确的安装命令

# 创建目标目录(确保路径存在)
sudo mkdir -p /mnt/data/test1/cuda_1204# 只安装Toolkit到指定路径(不安装驱动和内核对象)
sudo sh cuda_12.4.1_550.54.15_linux.run --toolkit --toolkitpath=/mnt/data/test1/cuda_1204 --silent

📋 为什么这个命令安全?

选项作用为什么安全
--toolkit只安装CUDA Toolkit不会安装驱动,不影响现有驱动
--toolkitpath指定自定义安装路径不会覆盖 /usr/local/cuda
--silent静默安装,自动接受协议无需交互,避免误操作

⚠️ 重要说明

这个安装器没有提供 --no-driver 选项,但是:

  • 如果你不指定 --driver,它默认不会安装驱动
  • 如果你不指定 --kernelobjects,它默认不会安装内核对象

🔧 安装后环境配置

安装完成后,在你的特定环境中设置环境变量:

方法一:在虚拟环境中设置

# 在你的虚拟环境激活脚本中添加
export CUDA_HOME=/mnt/data/test1/cuda_1204
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

方法二:使用conda环境变量

# 创建环境变量设置脚本
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'export CUDA_HOME=/mnt/data/test1/cuda_1204' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export PATH=$CUDA_HOME/bin:$PATH' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH' >> $CONDA_PREFIX/etc.conda/activate.d/env_vars.sh

🧪 验证安装

# 验证自定义CUDA版本
/mnt/data/test1/cuda_1204/bin/nvcc --version# 验证全局CUDA版本(应该仍然是11.8)
/usr/local/cuda/bin/nvcc --version# 检查安装内容
ls -la /mnt/data/test1/cuda_1204/

📊 版本共存确认

项目全局版本你的自定义版本
路径/usr/local/cuda/mnt/data/test1/cuda_1204
版本11.812.4
影响范围所有用户仅你的环境使用
修改风险无风险无风险

💡 额外安全措施

如果你想要绝对确保不会影响系统,可以:

# 1. 先备份当前的CUDA配置
sudo cp /usr/local/cuda /usr/local/cuda.backup# 2. 安装前检查磁盘空间
df -h /mnt/data/# 3. 安装后立即验证全局版本是否正常
/usr/local/cuda/bin/nvcc --version

这个命令完全能够满足你的需求:为特定环境安装CUDA 12.4,完全不影响全局的11.8版本。安装器会只安装Toolkit到你指定的自定义路径,不会触碰系统的CUDA安装。

一、检验CUDA 12.4安装是否成功

执行以下命令验证安装结果:

# 1. 检查安装目录是否存在
ls -ld /mnt/data/test1/cuda_1204# 2. 查看nvcc版本(需指定完整路径,因为尚未配置环境变量)
/mnt/data/test1/cuda_1204/bin/nvcc --version

若输出类似以下内容,说明安装成功:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on ...
Cuda compilation tools, release 12.4, V12.4.152
...

二、在conda环境time_moe_cls中使用CUDA 12.4

按以下步骤配置,确保仅该环境使用CUDA 12.4:

1. 激活目标环境
conda activate time_moe_cls
2. 配置环境变量(仅在当前环境生效)
# 创建conda环境的激活配置目录
mkdir -p $CONDA_PREFIX/etc/conda/activate.d# 写入CUDA 12.4的路径配置(仅激活该环境时生效)
cat << EOF >> $CONDA_PREFIX/etc/conda/activate.d/cuda_env.sh
export PATH=/mnt/data/test1/cuda_1204/bin:\$PATH
export LD_LIBRARY_PATH=/mnt/data/test1/cuda_1204/lib64:\$LD_LIBRARY_PATH
EOF
3. 重新激活环境使配置生效
conda deactivate && conda activate time_moe_cls
4. 验证环境变量是否生效
# 检查nvcc版本(此时无需指定完整路径)
nvcc --version  # 应显示12.4版本# 检查路径是否正确
echo $PATH | grep cuda_1204  # 应包含/mnt/data/test1/cuda_1204/bin
echo $LD_LIBRARY_PATH | grep cuda_1204  # 应包含/mnt/data/test1/cuda_1204/lib64

三、测试FlashAttention安装(最终验证)

time_moe_cls环境中重新安装FlashAttention,确认其使用CUDA 12.4编译:

# 卸载可能存在的旧版本
pip uninstall -y flash-attn# 重新安装(会自动使用当前环境的CUDA 12.4)
MAX_JOBS=16 pip install flash-attn==2.6.3 --no-build-isolation

若安装成功且无CUDA版本错误,说明整个配置完成。

关键说明

  • 只有激活time_moe_cls环境时,才会使用CUDA 12.4;退出环境后,系统仍默认使用CUDA 11.8,不影响其他用户。
  • 若后续其他conda环境也需要使用CUDA 12.4,重复步骤2中的配置即可。
http://www.xdnf.cn/news/1400293.html

相关文章:

  • C++的迭代器和指针的区别
  • 【小白笔记】基本的Linux命令来查看服务器的CPU、内存、磁盘和系统信息
  • Java SpringAI应用开发面试全流程解析:RAG、流式推理与企业落地
  • 物联网(IoT)中常用的通信协议
  • GD32VW553-IOT 基于 vscode 的 bootloader 移植(基于Cmake)
  • 微论-突触的作用赋能思考(可能是下一代人工智能架构的启发式理论)
  • 响应式编程框架Reactor【5】
  • Spring代理的特点
  • AI-调查研究-65-机器人 机械臂控制技术的前世今生:从PLC到MPC
  • 【MCP系列教程】 Python 实现 FastMCP StreamableHTTP MCP:在通义灵码 IDE 开发并部署至阿里云百炼
  • JsMind 常用配置项
  • 【计算机网络】HTTP是什么?
  • 基于Docker部署的Teable应用
  • Linux驱动开发重要操作汇总
  • “人工智能+”政策驱动下的技术重构、商业变革与实践路径研究 ——基于国务院《关于深入实施“人工智能+”行动的意见》的深度解读
  • wpf之依赖属性
  • 桌面GIS软件FlatGeobuf转Shapefile代码分享
  • 学习游戏制作记录(视觉上的优化)
  • 第三弹、AI、LLM大模型是什么?
  • Visual Studio(vs)免费版下载安装C/C++运行环境配置
  • openEuler2403安装部署Redis8
  • FPGA学习笔记——SPI读写FLASH
  • 【运维篇第三弹】《万字带图详解分库分表》从概念到Mycat中间件使用再到Mycat分片规则,详解分库分表,有使用案例
  • 小迪Web自用笔记7
  • 【Linux】如何使用 Xshell 登录 Linux 操作系统
  • SC税务 登录滑块 分析
  • 拦截器Intercepter
  • hello算法笔记 01
  • Isaac Lab Newton 人形机器人强化学习 Sim2Real 训练与部署
  • 下一代 AI 交互革命:自然语言对话之外,“意念控制” 离商用还有多远?