V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  KaiWuBOSS  ›  全部回复第 4 页 / 共 4 页
回复总数  78
1  2  3  4  
@rune15:升级到 v0.1.4 就好,irm https://raw.githubusercontent.com/val1813/kaiwu/main/install.ps1 | iex 然后 kaiwu run Qwen3-30B-A3B --reset 然后 kaiwu run 你的模型就行了
目前对多卡的 尤其是不同多卡的支持还有些不足 我看看怎么优化
@rune15 哥 不好意思 0.1.1 当时发布时候脚本上传把 iso3turbo 的 fork 没编译进去 后来的版本都有了 你能不能再试试最新的 还不行你打我
@kevan 我自己是 5060 显卡 测试时候 jti 缓存过了 你是新环境 所以超时了。不好意思 已经在新版本延长了时间。另外 50 系列显卡 你去找 nvpf 的模型 这类对 50 特别加速的 感谢体验🙏🏻
@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 估计三个小时后发布
@sentinelK 我也参考了他的 fiton 但他没有涡轮量化 另外我还做了上下文优化 相比而言 我这个不用调参 而且是硬件最大上下文 最优显存
-fit on 是随机削层,Kaiwu 是精准分层。

--fit on:显存不够就把后面几层丢给 CPU ,
不管是什么层,速度损失大。

Kaiwu:专门识别 MoE 的专家层,
只把专家层放 CPU ,注意力层全在 GPU ,
速度损失极小——这就是为什么
同样 8GB 显存,Kaiwu 能跑出 21 tok/s ,
LM Studio 只有 3 tok/s 。
@ntdll 是的 得等新的 cude 现在只支持 n 卡 llama-server-cuda.exe:
用 CUDA 编译的,只能跑在 N 卡
Release 包里只有这一个版本
@zrlhk 我的错 我的上传脚本有问题 晚点推 0.1.2 你要方便可以试试 qwen3 应该没问题
@damontian 换 Qwen3-30B-A3B
这个模型专为低显存优化
3080 10GB 跑起来没问题
@damontian 直接上 30b 模型你选你喜欢的 50 系列看 nvfp 的
@zrlhk 我正在对你这个进行修复 1 你是正常 0.1.1 吗 我看代码 怎么显示你没编译涡轮量化 2 我回退策略太大了 我调整一版 我无论如何让你跑起来 顺畅跑起来
1  2  3  4  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4556 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 04:06 · PVG 12:06 · LAX 21:06 · JFK 00:06
♥ Do have faith in what you're doing.