#1538·colibri

DeepSeek V4: GB10 上的 GPU 输出(sm_121,统一内存)来自路由专家 VRAM 镜像缓存

作者: NerdBase-by-Stark创建于 2026年9月15日更新于 2026年9月15日

□ 总结

在一款DGX Spark上(GB10,计算能力 12.1被报告为sm 121,130 GB统一内存),DeepSeek V4引擎的GPU级在路由-专家VRAM镜像缓存活动时返回不一致的文本. 同一构件在CPU上产生正确的文本,并在镜像缓存被禁用或允许生长后在GPU上产生正确的文本. 一般的CUDA内核本身看起来是正确的;缺点在于镜像缓存是如何决定它能否在统一的模具上生长.

□ 环境

  • GPU: NVIDIA GB10, sm 121, 130.7 GB 统一内存(VRAM和系统RAM是同一个集合)
  • CPU: Grace, arch64, 20个核心
  • CUDA 13.0(nvcc V13.0.88),司机580.142,Linux 6.17
  • f028d26b422144ed4a69ad9aeaee 2553ce0f9572
  • 构建:`make -f Makefile. DeepSeek-v4 - C DeepSeek-v4 CUDA=1 CUDA ARCH=native'(基因内核;深地GEMM只为sm 120a而未建)
  • 型号:DeepSeek V4 REAP-150B(`Puwaer/DeepSeek-V4-Flash-0731-reap-150b',型号:-型深层-v4,43层,132位路由专家)

□ 症状

旗子上方没有错误,

[DSV4 CUDA]设备 0: NVIDIA GB10 130.7 GB sm 121
v4 gpu 级= dense- matvec 设备= 0

输出被加装,同样的输入每次都给予相同的加装输出.

提示(70个令牌):"你是一个系统工程师. 在四到五句中,通过从NVME SSD中流出其专家权重来解释运行大型Mixture-of-Experts语言模型的实际取舍,而不是在记忆中将整个模型牵出. 覆盖内存脚印,解码后缀,以及快的SSD对它没有帮助的地方".

□再现.

失败( 模拟缓存活动, 默认保留) :

COLI CUDA ATTN BATCH=1 COLI CUDA MOE BATCH=1\
DSV4 CUDA EXPERT MIRORS=2048 DSV4 CUDA VRAM RESERVE MB =12000 \ \ \
./c/deepseek v4 <model > -- prompt-file 即时.txt --max-tokens 64 --memory-gb 24
# - > "作为系统工程师 详细介绍经销商, Mixture-of-Expert模型,或AS最佳
已知的系统 其他在各种系统, 问题平分 需要:

CPU 引用( 正确 ) :

DSV4 CUDA=0. /c/deepseek v4 <model>-即时-文件快取.txt-max-tokens 16-memory-gb 24
# -- >"作为一名系统工程师,核心取舍正在从内存束缚转移到..."

获得正确的 GPU 输出的两个方法 :

# 1) 将专家保留在CPU上( 任何值 1. 7 关闭镜像缓存)
... DSV4 CUDA EXPERT MIRORS=1...
# -- >"作为一个系统工程师,核心取舍是互换记忆..."

# 2) 降低储备, 使镜像缓存可以增长而不是被冻结
... DSV4 CUDA EXPERT MIRORS=2048 DSV4 CUDA VRAM RESERVE MB=256...
# -- >"作为系统工程师,核心取舍是将内存容量交换为一/O".

□ 分析

腐败跟踪了镜像缓存的成长决定,将'DSV4 CUDA VRAM RESERVE MB'与'cudaMemGetInfo'的自由内存相提并论. 在这个设备上`cudaMemGetInfo'自由等同'/proc' MemFree,因为GPU共享系统内存池. 虽然模型 . . . . . . .

内容来源: JustVugg/colibri