一、同一张报价单上,两张卡只差 8GB 显存
海外有一个专门盯高显存二手硬件的观察社区,会周期性发布扫描简报,把当期看到的显卡、加速卡报价排成清单。最近一份简报里,两张卡被放在相邻两行:一张 32GB 的 Tesla V100S PCIe,一张 24GB 的 Zotac RTX 3090。
看显存,差别只有一个数字——8GB。
简报作者在开头就立了个规矩:比较整卡设计,不要只比显存。底下的跟帖立刻分成两派。一派说得极干脆:两张我都用过,3090 明显更快,Ampere 这一代就是更好。另一派只抛出一串技术名词——FP32、FP16、BF16、FP64、INT4,问的是同一件事:这张卡有没有你那条工作流需要的那一种原生浮点格式。
后面这句话才是整件事的钥匙。显存是你唯一能一眼看到的数字,也恰恰是最容易让人做错决定的那一个。
有人按「32 比 24,多 8GB」的逻辑下了单,然后在第一次拉服务时收到了这行报错:
ValueError: Bfloat16 is only supported on GPUs with compute capability of at least 8.0.Your Tesla V100-SXM2-32GB GPU has compute capability 7.0.You can use float16 instead by explicitly setting the `dtype` flag ... --dtype=half一张 32GB 显存的卡,装不进一个默认以 BF16 发布的模型。这不是显存不够,是芯片里压根没有那套运算单元。
二、把两张卡的出厂说明书摊开先看那张最容易被读错的参数表
项目
Tesla V100S PCIe
GeForce RTX 3090
架构
Volta
Ampere
计算能力
7.0
8.6
显存
32GB HBM2
24GB GDDR6X
显存位宽
4096 位
384 位
显存带宽
1134 GB/s
936.2 GB/s
TDP
250W
350W
总线
PCIe 3.0 x16
PCIe 4.0 x16
散热与输出
被动散热、无显示输出
主动三槽、HDMI + 3×DP
最后一个 CUDA 工具链
12.x
持续支持
HBM2 对 GDDR6X,位宽 4096 位对 384 位——V100S 在纯带宽上确实多出约 21%。这一栏是它唯一稳稳赢下来的地方,也是很多人只看到的那一栏。
真正决定能不能用的是这张精度表
精度
V100S
RTX 3090
FP64 双精度
8.2 TFLOPS
0.556 TFLOPS
FP32 单精度
16.35 TFLOPS
35.58 TFLOPS
FP16 半精度
32.8 TFLOPS
35.58 TFLOPS
BF16
无硬件单元
71.2 TFLOPS
INT8
65 TOPS
284.7 TOPS
INT4
568 TOPS
这里要提醒一句:厂商规格表里的 TFLOPS 各有各的口径。V100S 官方标的是 FP16 张量 130 TFLOPS,3090 在同样的 FP16 累加口径下能到 142.3,而在 FP32 累加口径下只有 71.2。两个不同口径的数字直接相除,是规格表里最常见的坑。
但 FP64 这一行不受口径影响。两张卡的 FP64 都是非张量的向量峰值,标法一致,可以直接比。
跑一遍脚本,差距就露出来了
把两张卡的官方标称丢进一段十几行的脚本里算比值:
v100s = dict(mem=32, bw=1134.0, fp64=8.2, fp32=16.35, int8=65.0, bf16=None)rtx = dict(mem=24, bw=936.2, fp64=0.556, fp32=35.58, int8=284.7, bf16=71.2)print(f"显存 {v100s['mem']} GB vs {rtx['mem']} GB -> V100S 多 {(32/24-1)*100:.1f}%")print(f"FP64 {v100s['fp64']} vs {rtx['fp64']} TFLOPS -> {8.2/0.556:.2f} 倍")for name, g in (("V100S PCIe 32GB", v100s), ("RTX 3090 24GB", rtx)):print(f"{name:<18} FP64/FP32 = 1 : {g['fp32']/g['fp64']:>6.2f}")实跑输出:
显存 32 GB vs 24 GB -> V100S 多 33.3%FP64 8.2 vs 0.556 TFLOPS -> 14.75 倍V100S PCIe 32GB FP64/FP32 = 1 : 1.99RTX 3090 24GB FP64/FP32 = 1 : 63.99最后那两行才是重点。V100S 的 FP64 是 FP32 的二分之一,这是按 HPC 计算卡标准配的;3090 的 FP64 只有 FP32 的六十四分之一,这是消费级芯片的典型阉割比例。
所以「V100S 的 FP64 是 3090 的 14.75 倍」,准确说法不是 V100S 快,而是 3090 的那部分算术单元在硬件层就被拿掉了。
再放一张 64GB 的进来对照
Instinct MI210
V100S PCIe
RTX 3090
显存
64GB HBM2e
32GB HBM2
24GB GDDR6X
带宽
1.6 TB/s
1134 GB/s
936.2 GB/s
FP64
22.6 TFLOPS
8.2 TFLOPS
0.556 TFLOPS
BF16
181 TFLOPS
71.2 TFLOPS
总线
PCIe 4.0 x16
PCIe 3.0 x16
PCIe 4.0 x16
散热
被动、双槽
被动、双槽
主动、三槽
单张卡就是 64GB,是 3090 的 2.67 倍、V100S 的 2 倍,BF16 和 FP64 两个方向同时压住另外两张。代价也很清楚:它走的是 ROCm 那套软件栈,动手之前要先确认自己用的推理框架有没有对应的后端支持,不是插上就能跑。
那台「128GB 服务器」是怎么凑出来的
同一份扫描里还有一台超微 1029GQ-TVRT,1U 机箱里塞了四张 V100 SXM2,四卡之间走 NVLink,双向带宽最高 300GB/s,配 2000W 冗余钛金电源和七把四厘米反转风扇。
卖家把它写成了 128GB。这个数字没错——但它不是一张 128GB 的卡,是四张 32GB 的卡。能不能吃到这 128GB,取决于你的工作负载支持不支持多卡拆分,跟显存总数没关系。
顺便说一句,那份简报表里的售价数字,本刊一律不引用。理由很简单:二手报价是当天快照,不是长期事实,跟着它做决定容易踩空。
三、显存数字之外,还有三道门槛门槛一 精度不是可选项,是地基
现在开源大模型发布时,权重的默认精度基本都是 BF16。而 BF16 需要计算能力 8.0 及以上,V100S 卡在 7.0。
缺了硬件单元会发生什么?运行时会把每个张量临时上采样成 FP32 或 FP16 再算,这一层转换走的是显存总线。结果就是生成速度掉到这张卡理论算力的一小部分——不是慢一点,是持续拖着走。同理,FP8 的检查点在 V100 上也别想原生跑。
反过来说,这也解释了一件事:为什么那位跟帖者反复问「原生格式」,而不是问「快多少」。精度对不上的时候,速度这个指标根本还没轮上出场。
门槛二 软件寿命已经开到倒计时
2025 年 8 月发布的 CUDA 13.0 做了一件很干脆的事:不再为计算能力低于 7.5 的架构做离线编译,覆盖 Maxwell、Pascal 和 Volta 三代。
英伟达开发者博客给的口径是:想继续给这些卡出新编译产物,请停在 CUDA 12.9;驱动则要停在 R580 分支,这是最后一个支持它们的驱动分支,属于长期支持版,支持期三年,到 2028 年中。
也就是说,Volta 从今天算起还有大约一年半到两年的窗口。窗口关了以后不是黑屏不能用,而是新工具链不再产出它的二进制。
上层框架的动作更早。vLLM 从 0.20 版本之后就明确弃用了 sm_70:
ValueError: vLLM requires Compute Capability 7.5 or higher. SM70 (Volta) is deprecated.TensorRT-LLM、TGI、Triton 也都已经把 sm_70 从当前容器版本里移了出去。真正还把 Volta 当一等公民的只剩 llama.cpp——但编译时必须显式指定架构,否则拿到的就是另一行报错:
# 关键参数:-DCMAKE_CUDA_ARCHITECTURES=70cmake -B build -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=70cmake --build build --config Release -j $(nproc)不指定这一项,跑起来会撞上 no kernel image is available for execution on the device。这个报错很难查,因为它不会直接告诉你「是架构没编进去」。
门槛三 整机条件比卡本身更劝退
V100S 是服务器卡:被动散热、没有显示输出,靠机箱风道把 250W 的热量带走。塞进普通台式机箱,它没有风扇可转。
超微那台整机则更极端。有实测记录显示,四张 V100 加两颗至强再加涡轮风扇,整机持续功耗落在 800W 到 1200W 区间,噪音 60 到 75 分贝——这个音量不适合任何一间卧室和桌子底下。PCIe 3.0 的 x16 插槽每槽约 16GB/s,加载一个 30 到 50GB 的模型文件要一到三分钟。
同一位实测者的数据也值得一看:四张 16GB 的 V100 跑一个 27B 的 4 比特量化模型,生成速度大约每秒 31 到 34 个 token,上下文拉到 32K 时降到 28 左右;换 P100 是 18 到 22,换 MI25 只有 14 到 17。它还能用,但那是「机架里能用」,不是「桌面上能用」。
反过来,V100S 也有它不可替代的地方
把上面这些讲完,容易得出「老卡一无是处」的结论,这不对。
如果你的负载吃 FP64——流体仿真、结构力学、计算化学、部分金融风险模型——那 14.75 倍的差距是实打实的,而且替代方案是 A100 及以上的 HPC 卡,那才是真正的成本台阶。V100S 在它被设计出来的那个赛道里,至今仍然是最便宜的一档入场券。
真正错的是把 HPC 卡当成推理卡买。同一块芯片,放在对的负载上是宝藏,放在错的工作流上是耗电的砖。
四、三种人,三张决策表
你的情况
该看的那一栏
建议方向
桌面台式机跑 7B 到 32B 量化模型
BF16 支持、主动散热、PCIe 4.0
优先看 3090 这类消费卡,别碰被动散热卡
已有服务器机架,跑仿真或训练
FP64、单卡容量、NVLink
V100S 值得按你的软件栈逐条对一遍
显存需求超过 24GB 且单卡装不下
单卡最大容量
单张 64GB 比四张 32GB 更省事,但要先确认软件栈支持
三条通用动作,任何一张二手卡都适用:
第一,把「跑什么模型、用什么引擎、默认精度是什么」写成一行字,再去对计算能力,别反过来。
第二,要求卖家给出用你那套引擎跑出来的实测记录。一张跑分截图、一次现场演示,都不等于质保。
第三,把机箱、电源、风道和电费一起算进总账。被动散热卡省下的钱,经常在机箱改造上花回去。
五、一句话收口
那份简报表的结论其实写得比谁都明白:拿着「每 GB 显存多少钱」这一个指标去买卡,是这类采购里最容易犯错的一步。
有人问,那到底该先看哪一栏。答案可能有点反直觉——先看你要跑的那个软件,支持到哪一代计算能力;显存排第二。
你手上那台机器,现在最缺的是显存,还是那一种精度?
热门跟贴