V2EX KaiWuBOSS
 KaiWuBOSS 最近的时间轴更新
KaiWuBOSS

KaiWuBOSS

V2EX 第 794716 号会员,加入于 2026-03-18 09:14:31 +08:00
今日活跃度排名 1993
KaiWuBOSS 最近回复了
@coefu 刚找 opus 拿到解决方案搜一下。结论很清楚,有三种方案,按稳定性排序。

---

## 最稳的方案:nvidia-smi XML 输出

NVIDIA 官方的 Go collector 就是用 `nvidia-smi -q -x` 的 XML 输出解析多卡信息,这种方式在所有驱动版本和 GPU 型号上输出格式一致。

```go
// 执行:nvidia-smi -q -x
// 输出是结构化 XML ,直接解析
type NvidiaSMI struct {
GPUs []GPU `xml:"gpu"`
}
type GPU struct {
Name string `xml:"product_name"`
Memory struct {
Total string `xml:"total"`
Free string `xml:"free"`
} `xml:"fb_memory_usage"`
ComputeCap string `xml:"compute_cap"`
}
```

优点:
- 不受 `\r\n` 影响
- 不受分隔符格式影响
- Tesla/Quadro/GeForce 全部统一格式
- 不需要 CGO ,纯 Go

---

## 最精确的方案:go-nvml

NVIDIA 官方维护的 Go NVML 绑定,直接调用 `libnvidia-ml.so`,不需要解析任何文本输出,API 向后兼容所有驱动版本。

```go
import "github.com/NVIDIA/go-nvml/pkg/nvml"

nvml.Init()
count, _ := nvml.DeviceGetCount()
for i := 0; i < count; i++ {
device, _ := nvml.DeviceGetHandleByIndex(i)
name, _ := device.GetName()
mem, _ := device.GetMemoryInfo()
// mem.Total, mem.Free, mem.Used 精确到字节
}
```

缺点:
- 目前只支持 Linux ,Windows 不支持。
- 需要 CGO ,编译复杂度增加
- 跨平台打包麻烦

---

## 结论

```
对 Kaiwu 的最优方案:

主路径:nvidia-smi -q -x ( XML 解析)
- Linux + Windows 都支持
- 不需要 CGO
- 一次改好,多卡识别永久稳定
- Kaiwu 的目标用户主要是 Windows

备用路径:go-nvml (仅 Linux )
- 将来如果要精确读带宽、温度等
- 作为 Linux 上的增强路径

兜底:环境变量手动指定
KAIWU_GPUS="12288,12288,12288"
```

让 Opus 把 `probe_windows.go` 和 `probe_linux.go` 里的 csv 解析全部改成 XML 解析,这是一劳永逸的方案,之后所有多卡识别问题都解决了。
@hongdengdao 已经定位问题了 正在 抢修 感谢反馈
@mingtdlb ollama 用的是 llama 架构 你可以试试 lm 也是这个架构体验更好 但要自己调参
@osilinka 还没吧,官方还没编译把 已经出来了吗
产品最大担忧 我让 tok/s 最优值设定在 20 左右 就是让 kaiwu 在这个速度下 寻找上下文和显存最优解 如果用户显存有效 又期盼高速度 这个就不合适了 。之所以 20 是因为网上说 20 就是甜区了,但我觉得有点慢了。
@hongdengdao 不好意思 我对双显卡判定之前太简单现在优化了 已经发布 0.1.2 了 你看看还有没有问题 下载后先 kaiwu run xx.gguf --reset 然后再跑 应该没问题了
@hongdengdao 哥 跑一下 nvidia-smi 看输出是一个显卡还是 2 个 我这个读驱动的有代码支持的
@hongdengdao 奇怪 我特意在我双 4090 电脑测试能识别的 我去看看代码
第一次发仓库项目 没经验
0.1.1 版 ios3 脚本没上传上 正在编译 0.1.2 估计三个小时后发布
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     872 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 26ms UTC 20:47 PVG 04:47 LAX 13:47 JFK 16:47
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86