关于RTX50系列显卡(5080/5090/5090D)CUDA12.8版本部署vllm服务相关步骤整理

之前本地部署LLM一直用的都是伯克利开源的VLLM,具体优点就是推理速度快,并发支持极高,不在这里具体阐述了,能看见这篇文章的肯定都是一直用这个服务的。

之前一直在ubuntu22.0系统,4090卡上部署,上上周花了3个W多买到了一张5090D,但是发现这玩意儿没法用之前的镜像开机都开不开,然后安装纯净ubuntu24之后重新部署发现CUDA版本竟然高达12.8,而且多次降级到12.4都不好使。

(这特喵的不会卡买回来用不上吧!于是开始逛issues,各种查发现也有一些反馈但是没有看到具体有用的信息。)
清明假期前提了个issue,然后邮箱里收到了回复关于50系cuda12.8的步骤,于是兴致满满的点开链接开始搭环境。话不多说,言归正传!

1.将你的50系的卡驱动正常安装,cuda版本正常安装到12.8。
运行代码nvidia-smi后能看见如下界面表示兄弟你可以的!
nvidia-smi结果
2.安装anaconda3
这个就不多说了吧,从官网下载Anaconda3-2024.10-1-Linux-x86_64.sh然后直接执行sudo bash Anaconda3-2024.10-1-Linux-x86_64.sh就OK了,细节不多说了,这个教材极多,翻车几率极低…

3.重点开始了啊,创建虚拟环境!
在你的数据存储路径下,执行命令sudo touch environment_linux.yml先创建一个环境的配置文件。
然后执行sudo nano environment_linux.yml编辑这个文件(有工具的话也可以直接点开),输入以下内容:

channels:
  - conda-forge
  - pytorch
  - nvidia
  - defaults
dependencies:
  - python=3.12
  - anaconda
  - pip

然后正常保存,紧接着就可以执行创建环境的命令了conda env create -f environment_linux.yml

4.切换到环境并安装pytorch!
执行命令conda activate vllm成功切换到vllm的环境内,此时命令行最前端有(vllm)表示切换成功。这里需要注意,在这一步耽误我好长时间,cuda12.8版本的pytorch发行版里最高只到12.6,我当时也是没注意装了个12.6就各种出问题。执行命令pip install --pre torch==2.7.0.dev20250312+cu128 --index-url https://download.pytorch.org/whl/nightly/cu128安装torch。

5.测试环境有没有问题
执行python后进入到python编辑窗口,依次输入以下命令并查看输出结果是否一致:

In [1]: import torch

In [2]: torch.__version__
Out[2]: '2.7.0.dev20250312+cu128'

In [3]: print(torch.cuda.is_available())
True

In [4]: device = "cuda"

In [5]: x = torch.ones(5, 5).to(device)

In [6]: y = torch.randn(5, 5).to(device)

In [7]: z = x + y

In [8]: print(z)
tensor([[ 2.7746,  0.7957,  2.3443,  0.8475,  0.4464],
        [ 0.3883, -0.2033,  3.1749,  1.0566,  1.6964],
        [ 0.6829,  0.0952,  1.3061,  1.4194,  1.6353],
        [ 1.4389,  0.7820, -0.0463,  2.0666,  1.4440],
        [ 2.5913,  0.6384,  2.3288,  1.3102,  2.2450]], device='cuda:0')

如果一致可以看到下一步了!
6.克隆项目到本地
执行命令

git clone https://github.com/vllm-project/vllm.git
cd vllm
git checkout v0.8.3
python use_existing_torch.py
pip install -r requirements/build.txt
pip install setuptools_scm

7.修改参与构建项目的线程数
这里翻了两回车,构建就死机构建就死机,开始没留意后来发现死机前32G的内存直接拉满最后一秒开始失联…我是14代i9-14900KF的处理器,我放了8个构建还是挺快的。
export MAX_JOBS=8
python setup.py install
然后就可以等着console一直build了…
一会儿构建完了可以试试whereis vllm看看有没有找到

8.运行本地路径下的模型

python -m vllm.entrypoints.openai.api_server --model /home/tellyes/ai_tools/models/Qwen2.5-32B-Instruct-AWQ --served-model-name qwen --max-model-len=4096 --gpu-memory-utilization=0.8 --max-num-seqs=4 --port 8003

9.常规情况下,此时你已经能成功在50系列的新卡上运行模型了
但是…总有不按套路出牌的环节,我这一套操作下来直接报错了,而且还看不懂…ModuleNotFoundError: No module named 'vllm._C'
然后更换另一种启动方式后又换成另一个错:ValueError: Model architectures ['Qwen2ForCausalLM'] failed to be inspected. Please check the logs for more details.
在issues里查了好半天他们给的什么反馈都是过了还是没用,然后最终升级transformers版本到最最新的版本,执行pip install transformers==4.51.0,再次运行模型,推理成功!

本次操作流程和你在github上看见的步骤有出入,但是我按github上的那套是成功不了,这一套是能成功的,其中两个地方,vllm版本选了最新的0.8.3而不是0.8.2,第二个是直接通过源码构建而不是直接install vllm,需要注意这两个地方。

下一个还得赶紧去部GPTSoVits到5090上,希望不要再踩什么坑了。

<think>好的,我现在要解决用户在RTX 5090D显卡上安装CUDA 12.8失败的问题。首先,我需要根据用户提供的引用信息来分析可能的原因和解决方案。 根据引用[1],用户提到高版本的系统驱动可能向下兼容低版本CUDA工具包,但CUDA 12.0和11.8之间存在大版本差异,可能导致不兼容。现在用户的问题是CUDA 12.8安装失败,可能同样存在驱动版本不兼容的问题。RTX 5090D是比较新的显卡,可能需要最新的驱动程序支持。因此,我应该建议用户检查NVIDIA驱动版本是否符合CUDA 12.8的要求,并更新到最新驱动。 引用[2]提到包依赖冲突可能导致安装失败。CUDA安装过程中依赖的软件包版本如果不匹配,可能会出现问题。用户需要确保系统中的所有依赖项都满足CUDA 12.8的要求,或者使用conda环境来管理依赖,避免冲突。另外,参考NVIDIA的官方安装指南和驱动下载也很重要。 引用[3]中的解决方案是直接下载对应版本.whl文件进行安装,但用户可能希望更彻底的解决方法。如果依赖问题严重,可能需要使用虚拟环境隔离,或者通过conda安装特定版本CUDA工具包,确保与其他库的兼容性。 引用[4]中的例子是修改代码中的参数来解决兼容性问题,但CUDA安装问题可能需要不同的方法。不过,这说明用户可能在开发环境中调整配置,可能需要特定的环境设置。 综合以上信息,可能的解决方案步骤包括: 1. 确认NVIDIA驱动版本是否支持CUDA 12.8,并更新到最新驱动。 2. 检查CUDA 12.8的系统要求,确保操作系统和其他依赖项符合条件。 3. 使用conda创建独立环境安装CUDA 12.8,避免全局依赖冲突。 4. 清理之前的安装残留,使用官方安装程序重新安装。 5. 如果问题依旧,查看日志文件确定具体错误,针对性地解决。 另外,用户可能需要参考官方文档或社区支持来获取更详细的指导,例如检查安装日志中的错误代码,对应解决依赖或配置问题。</think>针对RTX 5090D显卡CUDA 12.8安装失败的问题,以下是分步解决方案: --- ### **1. 检查NVIDIA驱动兼容性** - **问题根源**:CUDA 12.8需要特定版本的NVIDIA驱动支持。若驱动版本过低或与显卡型号不兼容,安装会失败[^1][^2]。 - **操作步骤**: 1. 访问[NVIDIA驱动下载页面](https://www.nvidia.com/Download/index.aspx),输入RTX 5090D显卡型号,查询并下载**最新版驱动**。 2. 卸载旧驱动(Windows使用DDU工具,Linux使用`nvidia-uninstall`命令)。 3. 安装新驱动后重启系统。 --- ### **2. 验证系统环境兼容性** - **关键点**:CUDA 12.8对操作系统和开发工具有特定要求。例如: - Windows需Windows 10/11 21H2或更高版本。 - Linux需GCC 9.x及以上、内核版本5.x及以上。 - **操作步骤**: - Windows:通过`winver`命令检查系统版本。 - Linux:运行`gcc --version`和`uname -r`查看GCC和内核版本。 --- ### **3. 使用Conda隔离环境(推荐)** - **优势**:通过Anaconda/Miniconda创建独立环境,避免全局依赖冲突[^3]。 - **操作步骤**: ```bash # 创建新环境 conda create -n cuda12.8 python=3.10 conda activate cuda12.8 # 安装CUDA工具包 conda install -c nvidia cuda-toolkit=12.8 ``` --- ### **4. 清理残留文件后重装** - **场景**:若之前安装失败导致残留文件干扰新安装。 - **操作步骤**: 1. 运行官方CUDA安装包时选择`Custom`模式,勾选`Clean Install`。 2. 手动删除残留文件(如`/usr/local/cuda*`或`C:\Program Files\NVIDIA GPU Computing Toolkit`)。 --- ### **5. 分析日志定位具体错误** - **方法**:CUDA安装日志通常位于: - Windows:`C:\Program Files\NVIDIA Corporation\CUDA Samples\install_log.txt` - Linux:`/var/log/cuda-installer.log` - **常见错误处理**: - **依赖缺失**:根据日志提示安装缺失的库(如Linux下`libssl-dev`)。 - **权限问题**:使用管理员权限运行安装程序。 --- ### **6. 其他替代方案** - **直接安装预编译包**:从[NVIDIA CUDA Toolkit Archive](https://developer.nvidia.com/cuda-toolkit-archive)下载对应系统的CUDA 12.8安装包。 - **容器化部署**:使用Docker镜像`nvidia/cuda:12.8.0-base`直接运行支持CUDA的环境。 --- ### **相关问题** 1. 如何验证CUDA 12.8是否安装成功? 2. RTX 5090D显卡是否支持混合精度计算? 3. CUDA 12.8与PyTorch/TensorFlow的兼容性如何? --- 通过以上步骤,可系统性解决CUDA 12.8安装问题。若仍失败,建议在NVIDIA开发者论坛或GitHub提交日志以获取针对性支持。
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值