CMP 170HX 解锁边界:三代勘误全案(熔丝分类器 + hbmmon + 电压毛刺)

日期:2026-11-12 | 平台:双 CMP 170HX 8GB SKU(GA100,均已 cmpunlocker 软解 64GB 运行中) 工具链:arca.live 只读熔丝分类器(~/bin/check_cmp170hx_readonly.py)、matstatman/hbmmon(I1500 活体拓扑) 路线定案:不折腾硬件——本轮全部为只读/受控诊断,生产 vLLM 全程无感。

一图流终版账本

维度出厂态软解态(cmpunlocker,现役)熔丝位图理论顶电压毛刺实改顶
显存8 GB64 GB(已到软件顶)64 GB 软件顶不破80 GB(复活 E 堆;96 无实锤)
SM7474卡0=122 / 卡1=110(FF 位图推算)120–128(实测,抽体质)
PCIeGen1Gen2—Gen4
NVLink/MIG/NVDEC无无—可开

三代结论与两次勘误(本次核心教训)

第一代(11-11 夜,只读熔丝分类器)

  • 读 PMC_BOOT_0 确认 GA100(0x170000A1),双遍一致;两卡 8GB SKU(10de:20c2)。
  • 报"当前 42TPC=84SM、卡0 上限 132SM/80GiB、卡1 上限 114SM"。
  • 两处口径错误,次日被用户以硬件边界打回(见下)。

第二代(11-12 凌晨,hbmmon 活体拓扑 + 勘误一:SM)

  • hbmmon 经自制内核模块(写面白名单仅 I1500 INSTR/MODE)逐 FBPA 读 HBM DEVICE_ID:
    • 在用 4 堆 = 4×SK Hynix 16Gb 8-High = 64GB;卡0 堆日期码 2021-W04,卡1 2020-W53(非同批料)。
    • SM 实数 74/128(4736 CUDA,与 nvidia-smi 交叉一致);GA100 布局 = 8 GPC × 8 TPC × 2 SM = 128 满配。
    • 勘误一:第一代按"9 TPC/GPC"(完整 die 规格)换算,凭空多 8 个 TPC → 84SM/132SM 全错。正确口径下:当前 37TPC=74SM;按缺陷位剔除后理论顶 卡0=122 / 卡1=110 SM(恒等式 128−Σ缺陷TPC×2 与逐组盘点双闭合;卡1 GPC3 连父缺陷标记=整组真死)。
    • 生产满载(60GB/卡)下可直接扫:只碰调试桥,实测哨兵 CLEAN、Xid 零新增、:8000 全程 200。

第三代(勘误二:显存"空堆"论作废)

  • 我当时把 hbmmon 的 harvested(floorswept=熔丝掩埋、被摘出 CFG1 总线)误读为"没焊颗粒",进而"证伪 80GiB、宣布需植堆才有 96GB"——错。熔掉的堆与空堆在 DEVICE_ID 读数里同为"无应答",两态不可区分,“读不到≠没有”。
  • 社区一手证据定案:
    • kate.land《Voltage Fault Injection on A100》(GA100VFI):电压毛刺吹熔丝,8GB 卡实改为事实 A100-80G(64–80GB 看体质),SM 开到 120–128,NVLink/Gen4/MIG/NVDEC 全可解锁;明示 170HX 出厂带 ~80GB(8G SKU)/~40GB(10G SKU) 物理 HBM。
    • Consensus-Protocol/cmp170hx(逆向文档,hbmmon 同源圈子):“8GB part had four more FBPs swept off"=熔丝掩埋非缺料;96GB 列 open problem(开盖六堆位、有两枚疑为 dummy,需 X 光定 bonding),软件路线 96 需 24 活FBPA,两 SKU 皆无 → 96GB 至今零实锤。
  • 讽刺点:第一代"80GiB"数字其实蒙对了(2 无缺陷被熔 FBP × 2 FBPA × 4GiB = +16GiB,与 VFI 实测顶吻合),被第二代错误"证伪”。
  • 软解机制补档:cmpunlocker 只写两个寄存器——CFG1 0x009a0204(tier 0x77=每 FBPA 4GiB)+ LMR(MMU 总容量),8G SKU 顶格=16 活FBPA×4GiB=64GiB,与活体 FBPA 数算术闭合;它不碰 FF 熔丝,故 E 堆(FBP1/4)永远沉默。

方法论教训(跨线通用)

  1. 工具的标签 ≠ 物理事实,引用前先查标签的定义域(harvested=floorswept 熔丝掩埋,不是"BOM 砍料")。
  2. 结论先过硬件边界闸门:任何"N>满配规格"的读数(132>128)第一时间就该枪毙,而不是等用户提醒。
  3. 单一观测不构成结论:DEVICE_ID 无应答有两种成因,须找能区分两态的第三证据(X 光/VFI 实绩)再定案。

行动定案

  • 现役 64GB 已在软件路终点;80GB/120+SM 的唯一门票是电压毛刺物理改卡(变砖风险+抽体质),与"不折腾硬件"路线冲突 → 搁置,钥匙留人。
  • 诊断资产留存:~/bin/check_cmp170hx_readonly.py(纯只读,可随时复跑)、hbmmon 配方见技能卡 hbmmon-cmp170hx-ops(/tmp 编译产物重启即失)。

参考

  • arca.live/b/aihomelab/186266420(只读熔丝分类器原帖)
  • github.com/matstatman/hbmmon(I1500 活体拓扑)
  • github.com/Consensus-Protocol/cmp170hx(docs/hardware/memory-subsystem.md、docs/unlock/memory-geometry.md)
  • blog.kate.land《Using voltage glitching to unlock the A100》(GA100VFI)