最近有幸拿到了一台配备双卡 NVIDIA GeForce RTX 5090 显卡的工作站PC,这无疑是许多追求极致性能的开发者梦想装备。不过,新硬件的到来往往伴随着一些挑战,尤其是在软件适配和性能表现方面。
通过销售渠道了解到,目前国内市场上暂时还没有涡轮散热版的 RTX 5090,我们拿到的是风扇版。这意味着在多卡配置时需要特别注意散热和空间。
在本文中,我们将分享在 Ubuntu 系统下配置这台双卡 5090 机器进行 AI 推理的实践过程,重点探讨大家可能关心的几个问题:用什么推理框架?性能如何?是否存在传闻中的性能限制? 这也是一次深度的体验和实测。
一、 测试平台概览
首先,简单介绍一下我们的测试平台配置:
- CPU: Intel Core i9-14900K
- 散热器: 雅浚 EA5SE360 水冷
- 主板: 华硕 PRO WS W680-ACE 工作站主板
- 内存: 海盗船 DDR5 5200 32GB * 2
- 固态硬盘: 金士顿 NV3 2TB PCIe 4.0 M.2
- 电源: 长城 2200W 金牌认证电源
- 机箱: 定制 10 槽位 金河田 9125B
- 显卡: NVIDIA GeForce RTX 5090 * 2 (风扇版)
系统环境:
- 操作系统: Ubuntu 22.04
- NVIDIA 驱动: 570.133.07
- CUDA 版本: 12.8
nvidia-smi 确认两张 RTX 5090 均被正确识别,CUDA 12.8 环境就绪。
二、 AI 推理框架的选择:Ollama、SGLang 还是 vLLM?
拿到新卡,自然要跑一下 AI 模型。但面对新硬件,推理框架的选择至关重要。哪个框架能无缝衔接,哪个又需要我们"动手"解决兼容性问题呢?
2.1 Ollama:开箱即用,配置简单
好消息是,Ollama 已经支持使用 RTX 5090 进行推理。配置过程非常简单,对于想快速上手体验的用户来说是首选。
2.2 SGLang:暂时不支持
根据我们的测试,SGLang 目前最高支持到 CUDA 12.4。因此,SGLang 暂时无法直接在 RTX 5090 上使用。希望后续版本能尽快适配。
2.3 vLLM:需要"动手能力"
vLLM 是一个非常流行的推理框架,但其最新发布版(如 0.8.2)并不直接支持 RTX 5090 的 sm_120 计算能力。
- pip安装vLLM,启动会有如下报错
vbnet
#CUDA版本低报错:
RuntimeError: CUDA error: no kernel image is available for execution on the device
#使用PyTorch2.6.0报错:
NVIDIA GeForce RTX 5090 with CUDA capability sm_120 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_50 sm_60 sm_70 sm_75 sm_80 sm_86 sm_90.
If you want to use the NVIDIA GeForce RTX 5090 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/
解决方案: 需要自行编译 vLLM。这需要满足特定条件:使用 PyTorch 的 Nightly 版本,并确保 CUDA 版本为 12.8。这对环境配置和编译经验有一定要求,我们在配置相对较低的机器上手动编译未能成功。
- 手动编译参考:github.com/vllm-projec...
小结: 对于 RTX 5090 用户,目前最便捷的推理框架是 Ollama。如果你是 vLLM 的深度用户且具备编译能力和耐心,可以尝试自行编译以获得最佳性能。
三、 Ollama 推理性能初探
既然 Ollama 支持良好,我们便使用它加载 deepseek-r1:32b 模型进行了初步的性能测试。
启动命令:
arduino
ollama run deepseek-r1:32b --verbose
-
显存占用: 大约 21.7 GB。(单卡运行)
-
性能指标:
- 处理速度 (Prompt Eval Rate): 45.78 tokens/s
- 生成速度 (Eval Rate): 60.49 tokens/s
从初步测试看,单张 RTX 5090 在 Ollama 下运行 32B 模型的性能表现令人满意。nvtop 监控显示单卡工作状态良好。
四、 重点验证:RTX 5090 是否存在类似 5090D 的性能限制?
这是本次深度体验的核心环节。此前,根据 Chiphell 论坛等渠道的消息,针对中国市场的 RTX 5090D 版本被曝存在一些限制,例如:
- 3 秒检测机制: 据称如果检测到 AI 推理或加密挖矿负载,性能(算力)会被锁定。
- 功耗限制: 功率调整可能受限,无法拉满。
- 影响多卡并行: 这些限制尤其影响需要高性能并行计算的多卡配置。
那么,我们手上这张标准版的 RTX 5090(非 D 版)在国内使用时,是否也存在这些令人担忧的问题呢?我们设计了以下压力测试来对其进行严格的实测验证:
4.1 验证方案
-
- 使用 Ollama 加载大型模型跨卡推理: 加载 deepseek-r1:70b 模型(显存需求约 45GB),让其同时在两张 RTX 5090 上运行,模拟真实的重度 AI 推理场景。
ini
# 确保 Ollama 可以使用两张卡 (GPU 0 和 1)
CUDA_VISIBLE_DEVICES=0,1 ollama run deepseek-r1:70b --verbose
-
- 结合压力测试工具: 在运行 Ollama 大模型的同时,使用 evalscope (模拟高并发推理请求) 和 gpu-burn (GPU 极限计算负载测试) 将两张 5090 的性能压榨到极限,观察是否存在性能骤降或锁定。
4.2 准备工作
- 安装 evalscope:
ruby
pip install 'evalscope[app,perf]' -U -i https://mirrors.aliyun.com/pypi/simple/
- 安装 gpu-burn:
bash
git clone https://github.com/wilicc/gpu-burn
cd gpu-burn
make
4.3 启动压测
- 启动 evalscope (模拟高并发推理负载):
perl
# 向 Ollama (运行 70b 模型) 发起并行推理请求
evalscope perf --parallel 8 --url http://127.0.0.1:11434/v1/chat/completions --model deepseek-r1:32b --log-every-n-query 10 --connect-timeout 600 --read-timeout 600 --api openai --prompt '写一个科幻小说,不少于2000字' -n 20
- 启动 gpu-burn (极限计算负载):
bash
# 在 CPU 核心 0 和 1 上运行 gpu-burn,持续 360 秒,压榨 GPU 计算单元
taskset -c 0-1 ./gpu_burn 360
- 监控: 使用 nvtop 实时观察 GPU 的频率、功耗、温度和利用率。
4.4 压测结果与结论
在长达 3 分钟的持续高强度压力测试下(结合 Ollama 70b 模型跨卡推理、evalscope 并发请求、gpu-burn 极限计算):
- GPU 频率: 两张 RTX 5090 的 GPU 核心频率持续稳定在 2.5GHz 以上 (GPU0 约 2.55GHz, GPU1 约 2.72GHz),未见异常跌落。
- GPU 功耗: 两张卡的功耗均稳定在 575W 左右。
- GPU 利用率: 利用率持续保持在 99% 左右,表明 GPU 资源被充分调动。
- 显存占用: 显存被大量占用(每卡约 31GB),符合运行 70B 大模型的预期。
- nvtop 监控截图清晰地展示了双卡在高负载下均能火力全开,频率和功耗都维持在极高水平,没有出现性能被限制的迹象。
总结
本次双 RTX 5090 的深度体验为我们带来了不少有价值的信息。对于计划在 Linux 环境下利用双 RTX 5090 进行 AI 工作的朋友们,目前来看:
- 硬件本身性能强大,双卡并行潜力巨大,但务必重视散热方案和电源配置,以确保稳定运行。
- 在推理框架选择上,Ollama 是当前最方便、开箱即用的选择,适合快速上手和实验。
- 需要特别注意的是,像 SGLang 和 vLLM 这类广泛用于高并发、低延迟生产环境的推理框架,目前对 RTX 5090 的官方支持存在明显滞后。SGLang 因 CUDA 版本限制暂不可用,而 vLLM 需要特定环境下的手动编译,且稳定性有待验证。这意味着,如果你的生产环境高度依赖 SGLang 或 vLLM,那么将 RTX 5090 直接投入生产环境可能还需要等待这些框架的正式更新和适配。
- 最关键的是,通过我们的压力实测,标准版 RTX 5090 并未表现出类似 5090D 的性能限制(如"3秒锁算力"或功耗锁死),可以稳定地在高负载、多卡并行场景下发挥其应有的强大性能。
- 当然,驱动程序和软件库总在不断更新,未来的情况可能会有所变化,尤其是针对 vLLM 和 SGLang 的支持。但至少在当前(Driver 570.133.07, CUDA 12.8, Ollama)环境下,RTX 5090 展现了其强大的硬件潜力,并且没有受到额外的性能束缚。
希望这次的双 RTX 5090 深度体验和实测,特别是关于框架选择和性能限制的验证,能为你的决策提供有价值的参考。