V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  KaiWuBOSS  ›  全部回复第 4 页 / 共 5 页
回复总数  95
1  2  3  4  5  
@ravecn2014 claude 发现个方法 我马上试试:
v0.1.9 — 多卡 tensor split 优化多卡 tensor split 从纯按显存比例改为按 显存×带宽 加权。异构多卡(如 3090+4090+5060 )分配更合理——弱卡少分层,不拖慢整体多卡显示改为逐卡列出(型号、显存、带宽、分配比例)
--fit on 现在对 full_gpu 和 moe_offload 两种模式都无条件启用(之前 fallback 路径的 moe_offload 漏了)加速特性显示新增 tensor split 比例(多卡无 NVLink 时)

老师麻烦等我 0.1.9 编译好发布再测试一遍 应该能好 如果不行告诉我我跟进
@ravecn2014 仍然是多显卡问题 这方面还得再优化 我想想有没有更好方法
@ImINH 嗯 很好的建议 之前就希望有专家能给建议 我周一来整 我还不知道什么 tg 我还只会 qq.vx
@CFM880 url: http://127.0.0.1:11435/responses

这是 OpenAI 新版 API 的端点
Responses API ( 2025 年新增)
用于流式响应的新格式

Kaiwu 的 proxy 只实现了:
/v1/chat/completions ✅
/v1/models ✅

没有实现:
/responses ❌

用户用的客户端(可能是新版 Cursor 或 Claude Code )
在调用新的 /responses 端点
Kaiwu proxy 不认识这个路径,返回 404 我马上来优化 麻烦看到 0.1.7 发布后再试试 谢谢了
@shen09darkareas 谢谢提醒 我马上把 dll 加进去 就不折腾用户了
@kubecoder 哥 你重新更新下 0.1.6 看看问题还在不 记得再次使用记得要 reset
@ImINH 嗯 ai 自己写的 没用别人的架构 一直在修 有兴趣参与管理吗
@diudiuu 请问是用过 kaiwu 对比过的吗
0.1.5 已经更新 修复 n 卡 sm 版本适应性问题 另外读取带宽 对小旧老显卡进行了优化
@gcod 感谢反馈 之前在一个个修 n 卡的 sm 版本问题 马上上 0.1.5 版本 把所有 sm 版本一次解决 就能跑了 还能再试试 4b
@beginor 支持的 但他和 moeoffload 机制不完全一致 欢迎尝试对比 我测试环境太少
@kevan 打开 powershell 然后输入这段命令 irm https://raw.githubusercontent.com/val1813/kaiwu/main/install.ps1 | iex
然后等提示好了(约 700m 左右)然后你就 kaiwu run xx/xx.gguf(你的模型地址,必须是 gguf 格式)
最后会给你一段 127.0.0.1:***的链接 就成功了 你可以填到你自己的软件去 或者 kaiwu injet codex 或者 claude code 直接用这些软件
@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 还没吧,官方还没编译把 已经出来了吗
1  2  3  4  5  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   937 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 21:34 · PVG 05:34 · LAX 14:34 · JFK 17:34
♥ Do have faith in what you're doing.