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

ubuntu24.04安装CUDA和VLLM

前期说明

系统具体版本:Ubuntu24.04.2-LTS

在这里插入图片描述

🔧 Ubuntu 24.04 专用 CUDA 安装步骤

# 1. 添加官方 NVIDIA 仓库
distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
echo "deb https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda.list# 2. 添加签名密钥
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/3bf863cc.pub# 3. 更新并安装 CUDA Toolkit
sudo apt update
sudo apt install -y cuda-toolkit-12-5  # 24.04 推荐使用 12.5 版本# 4. 设置环境变量
echo 'export PATH=/usr/local/cuda-12.5/bin:$PATH' | sudo tee -a /etc/profile.d/cuda.sh
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.5/lib64:$LD_LIBRARY_PATH' | sudo tee -a /etc/profile.d/cuda.sh
source /etc/profile# 5. 验证安装
nvcc --version  # 应显示 CUDA 12.5

在这里插入图片描述

💡 如果仍遇到依赖问题,使用以下替代方案

# 1. 安装基础依赖
sudo apt install -y build-essential libtinfo6 libncurses5# 2. 创建符号链接解决兼容性问题
sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64-linux-gnu/libncurses.so.5# 3. 仅安装核心组件
sudo apt install -y --no-install-recommends \cuda-compiler-12-5 \cuda-cudart-dev-12-5 \cuda-libraries-dev-12-5 \cuda-nvml-dev-12-5

✅ 验证安装是否成功

# 测试 CUDA
python -c "import torch; print(torch.cuda.is_available()); print(torch.version.cuda)"# 测试 vLLM 基础功能
python -c "from vllm import LLM; print('vLLM loaded successfully')"

在这里插入图片描述
这样就安装成功了

⚠️ 针对 Ubuntu 24.04 的重要提示

  1. CUDA 版本选择

    • Ubuntu 24.04 官方支持 CUDA 12.5,不兼容CUDA12.4!
    • vLLM 完全兼容 CUDA 12.5
  2. Python 版本

    • Ubuntu 24.04 自带 Python 3.12
    • vLLM 目前建议使用 Python 3.10
    • 使用 Conda 创建独立 Python 3.10 环境
  3. 系统依赖

    # 安装必要系统库
    sudo apt install -y libcusparse-12-5 libcublas-12-5 libcusolver-12-5
    
  4. 如果仍遇到问题,考虑使用 Docker 方案:

    docker run --gpus all -it --rm nvcr.io/nvidia/pytorch:24.05-py3
    # 在容器内安装 vLLM
    pip install vllm
    
http://www.dtcms.com/a/289086.html

相关文章:

  • 企业级安全威胁检测与响应(EDR/XDR)架构设计
  • WireShark抓包分析TCP数据传输过程与内容详解
  • 多目标轨迹优化车道变换规划:自动驾驶轨迹规划新范式:基于Frenet坐标系的车道变换算法全解析
  • Node.js Express keep-alive 超时时间设置
  • spring boot2升级boot3
  • Linux简单了解历史
  • 大数据之路:阿里巴巴大数据实践——离线数据开发
  • RTC外设详解
  • Unity 新旧输入系统对比
  • XSS内容总结
  • 包装类型+泛型+List+ArrayList
  • [CVPR]DVFL-Net:用于时空动作识别的轻量级蒸馏视频调焦网络
  • 连接语言大模型(LLM)服务进行对话
  • vben-admin 导入并使用基础版的vxe-table
  • 【LeetCode 热题 100】236. 二叉树的最近公共祖先——DFS
  • oracle 11g drop user 失败,报错ORA-00600
  • jxORM--编程指南
  • EXPLAIN:你的SQL性能优化透视镜
  • 【Docker-Day 7】揭秘 Dockerfile 启动指令:CMD、ENTRYPOINT、ENV、ARG 与 EXPOSE 详解
  • 软件测试-Bug
  • 最简单的 Android TV 项目示例
  • 【RK3576】【Android14】显示屏MIPI开发调试
  • USB 2.0 vs USB 3.0:全面技术对比与选择指南
  • HuggingFace基础知识和环境安装
  • 如何在 QGIS 中定义/更改坐标系?
  • 吴恩达《AI for everyone》第二周课程笔记
  • Redis 概率型数据结构实战指南
  • 浅谈 Vue 的双向数据绑定
  • 10-day07文本分类
  • 借助AI学习开源代码git0.7之四update-cache