同一张显卡上,游戏和AI模型现在排队轮着用
Berth 是一个用 Go 编写的轻量级 GPU 资源管理器。它控制哪些应用程序可以访问你的 GPU、何时访问,以及访问权如何交接。
它不让每个应用程序都争抢显存,而是通过租约、优先级和请求队列来管理访问。当其他程序需要 GPU 时,它会等待当前任务完成、释放内存,然后将控制权交给下一个应用程序。
它有什么功能?
GPU 共享: 让 AI 模型、图像生成、语音引擎、游戏和其他 GPU 应用程序共享同一硬件,而不会争抢显存。
自动调度: 按优先级管理请求,对竞争应用程序进行排队,并防止引擎之间不必要的切换。
更快的模型切换: 可以将支持的引擎驻留在系统内存中,或使用 NVIDIA CUDA 检查点,以避免重复从磁盘加载大型模型。
游戏管理: 自动为游戏释放 GPU 资源,并在你完成后恢复 AI 工作负载。
GPU 监控: 跟踪显存使用量、温度、功耗、利用率、运行进程,以及未持有 Berth 租约却使用内存的应用程序。
模型管理: 在 GGUF、Hugging Face、LM Studio、Ollama 和其他模型目录中发现本地模型。支持下载、验证和组织模型。
统一网关: 提供兼容 OpenAI 的 API,用于启动和切换引擎,同时支持 ComfyUI 工作流。
Web 仪表盘: 提供 GPU 使用情况、活动租约、等待请求、引擎活动、遥测和历史数据的实时视图。
多 GPU 支持: 独立管理多张显卡,具有单独的队列、租约和网关端点。
代理集成: 包含适用于 Claude Code、Codex、OpenCode、Hermes Agent 和其他工具的可安装技能,以便它们通过 Berth 管理 GPU 工作负载。
虚拟机直通: 包含 VFIO 工具,用于将 GPU 交给虚拟机,并在之后回收。
Berth 作为单个 Go 二进制文件运行,无需云账户或额外的监控服务。支持 Linux NVIDIA,并提供实验性的 AMD Linux 和 Windows 支持。
该项目目前处于 alpha 阶段(v0.4.1)。
注意: 我添加了一个 Claude Code 会话,展示交接请求。你也可以在相同硬件上使用本地模型进行相同操作,只是时间会更长,具体取决于你的设备。
―― 高票评论(帖子共 2 条讨论)――
[+1] u/q_tech_x51:太棒了!
关键事实
- Berth控制哪些应用可以访问GPU、何时访问以及如何交接访问权。
- Berth通过租约、优先级和请求队列来管理GPU访问,而不是让所有应用竞争VRAM。
- Berth支持GPU共享,让AI模型、图像生成、语音引擎、游戏等应用共享同一硬件而不争夺VRAM。
- Berth提供自动调度,按优先级管理请求,排队竞争应用,并防止不必要的引擎切换。
- Berth可以更快地切换模型,通过将支持的引擎驻留在系统RAM或使用NVIDIA CUDA检查点来避免重复从磁盘加载大型模型。
- Berth自动为游戏释放GPU资源,并在游戏结束后恢复AI工作负载。
- Berth监控VRAM使用、温度、功率、利用率、运行进程以及未使用Berth租约的应用。
- Berth发现本地模型,支持GGUF、Hugging Face、LM Studio、Ollama等目录,并支持下载、验证和组织模型。