Pulsar 发布:在 M5 Max 上以 148 tok/s 运行 Qwen3.8-27B 写代码
Show HN: Pulsar – Qwen3.8-27B at 148 tok/s writing code on M5 Max
Pulsar 发布面向 Apple Silicon 的推理引擎,支持 Qwen3.8-27B 与 Qwen3.6-35B-A3B,在 M5 Max 上写代码达 147.8 tok/s,编辑代码峰值 452 tok/s。
Apple Silicon 上 Qwen3.8-27B 和 Qwen3.6-35B-A3B 最快的推理引擎。
Qwen3.8-27B:编辑代码最高 452 tok/s · 1.36× lithos-metal(贪心,10 个提示词)· 比 Splash 1.3.0 快 1.11×
在 M5 Max 上测得 · 每个 token 仍由完整模型校验

lithos-metal 自己的发布视频提示词,同一台 Mac:Pulsar 1.1.3 在 20.4 秒内写出 3,000 个 token(147.8 tok/s),
lithos-metal 0.1.2 用时 27.0 秒(111.8 tok/s)。视频

编辑粘贴的 210 行文件:前 1,884 个 token,Pulsar 1.1.3 用时 8.1 秒,lithos-metal 0.1.2 用时 16.5 秒
(321 对 142 tok/s)。视频
M5 Max(128 GB,macOS 27.2)上的 Qwen3.8-27B,贪心,一次一个服务器(2026-10-09)。lithos-metal 运行 NVIDIA 的 NVFP4 检查点及其 DSpark 草稿头。实测 token 时序的实时回放。

相同提示词,相同 708 个 token 的回答:Pulsar 3.97 秒 · Splash 1.3.0 4.07 秒 · MLX-LM 23.1 秒。
视频

一次性构建粒子星系应用:Pulsar 在 20.9 秒内写出其 3,124 个 token,Splash 1.3.0
用 22.1 秒写出相同数量的 token,然后 Pulsar 写的星系运行起来。
视频

编辑粘贴的 210 行文件:Pulsar 8.2 秒 · Splash 1.3.0 11.7 秒 · MLX-LM 64.5 秒。
视频
M5 Max 上的 Qwen3.8-27B 4-bit,每个窗格一个引擎的服务器,贪心回答(2026-10-07)。实测 token 时序的实时回放。
Pulsar(原名 fastkernel)在你自己的 Mac 上运行 Qwen3.8-27B 和 Qwen3.6-35B-A3B AI 模型。在浏览器中与它们聊天,或 连接编码代理或任何其他应用。
Pulsar 1.1.4 基于 Splash 1.3.0,即最新的 Splash。在 M5 Max 上,它写出答案的速度比 Splash 1.3.0 快 1.11×, 重复的提示词从其提示词缓存中 0.1 秒内启动。它带来了 Splash 1.3.0 的所有新特性。一个小型草稿模型提前猜测,完整模型在保留每个 token 之前 对其进行校验。
M5 Max(128 GB)
你看到的速度(Qwen3.8-27B 4-bit,Pulsar 1.1.0,贪心,从流中测量,2026-10-07):
| 任务 | 峰值 | 平均 | 首 token |
|---|---|---|---|
| 编辑粘贴的 210 行文件 | 452 tok/s | 321 tok/s | 2.3 秒 |
| 编写 Python 待办事项应用 | 205 tok/s | 184 tok/s | 0.14 秒 |
| 编写粒子星系应用 | 198 tok/s | 149 tok/s | 0.21 秒 |
峰值是任意一秒内最多的 token 数;平均从第一个 token 到最后一个。每行是一次运行, 第一次(无缓存);首 token 包括读取提示词,此处是 1,825 个 token 的粘贴文件。
Pulsar 1.1.3 对 lithos-metal 0.1.2,Qwen3.8-27B(2026-10-09):
在我们运行 macOS 27.2 的 128 GB M5 Max 上,Pulsar 1.1.3 在这 10 个提示词上提供了 lithos-metal 0.1.2 客户端观测解码吞吐量的 1.36 倍 (几何平均;一次 ABBA 会话,贪心解码,关闭思考,输出 上限为 1,024 个 token)。两个引擎使用了不同的量化检查点和草稿器;未评估 任务质量对等性。
| 提示词 | lithos-metal 0.1.2 | Pulsar 1.1.3 |
|---|---|---|
| lithos-metal 的发布视频提示词(小费计算器) | 105.2 | 136.0 |
| 代码 | 144.3 | 180.8 |
| 数学 | 116.3 | 166.0 |
| 代码文件 | 84.8 | 101.8 |
| 聊天(5 个提示词) | 55.7–67.0 | 80.4–92.4 |
| 多语言 | 55.1 | 62.2 |
解码 tok/s,每个提示词取两次运行的平均值。同一台 Mac,一次只运行一个服务器,顺序为 Pulsar、lithos-metal、lithos-metal、Pulsar,每个都按其 README 中的命令启动,并加上端口和上下文大小,预热至少 120 秒后开始。lithos-metal 运行 NVIDIA 的 NVFP4 检查点及其 DSpark 草稿头;Pulsar 运行带 DFlash2 的 4 位 Splash 包。设置与限制:docs/BENCHMARKS.md。
Pulsar 1.1.0 与其他引擎对比(2026-10-07):
| 引擎 | 其速度 | Pulsar 1.1.0 的速度 | Pulsar 1.1.0 是 |
|---|---|---|---|
| Splash 1.3.0 | 89.0 | 99.2 | 快 1.11× |
| MTPLX | 65.7 | 118.2 | 快 1.80× |
| AX Engine | 38.3 | 119.6 | 快 3.12× |
| MLX-LM | 30.9 | 114.9 | 快 3.72× |
| llama.cpp | 26.7 | 110.7 | 快 4.14× |
速度单位为 tok/s(每秒 token 数)。一个 token 是一个词或词的一部分。每一对都在同一会话中运行,在相同的提示词上轮流进行:对 Splash 1.3.0 使用 12 个提示词(聊天、数学、代码、一个代码文件、一个 32K token 的智能体任务、一个多语言提示词和两个长上下文提示词),对其他引擎使用 6 个标准提示词(对 AX Engine 使用 5 个贪婪提示词)。在聊天中,Pulsar 1.1.0 写入 76.7 tok/s,是 Splash 1.3.0 的 68.5 的 1.12×。
再次发送时,一个 2,247 token 的提示词在 0.1 秒内开始:Pulsar 1.1.0 复用了其提示词缓存。
还有:Qwen3.6-35B-A3B(MoE)
MoE 意为“混合专家”。该模型有许多小的专家块,每个 token 只使用其中少数几个。这让它相对于其规模而言速度很快。在 Qwen3.6-35B-A3B 上,Pulsar 1.1.0 采样写入 268.1 tok/s,贪婪模式 299.6,而 Splash 1.3.0 在相同的 6 个提示词上分别为 260.9 和 276.1(2026-10-07)。
完整数字及我们的测量方法:docs/BENCHMARKS.md
要求
| Mac | Apple 芯片,M3 或更新 |
| macOS | 26.4 或更高 |
| 内存 | Qwen3.8-27B 需要 24 GB 或更多(24 GB 的 Mac 需要额外一项设置,见快速开始) |
| 磁盘 | Qwen3.8-27B 需要 17.4 GB,Qwen3.6-35B-A3B 需要 20.9 GB |
| Python | 3.12 至 3.14 |
| Xcode | 预构建下载不需要。从源码构建需要完整的 Xcode 应用。 |
快速开始
下面两种方式都会在 http://127.0.0.1:8000 启动一个服务器。它支持 OpenAI 和 Anthropic API,因此为其中任一构建的应用都可以使用它。要聊天,请在浏览器中打开该地址。首次运行会下载模型(17.4 GB)。
24 GB 的 Mac?首先,运行 sudo sysctl iogpu.wired_limit_mb=20480。它让 GPU 使用 20 GB,直到你重启 Mac。然后,在 serve 命令前加上 SPLASH_TEXT_ONLY=1。它会跳过模型中读取图像的部分。
对于 Qwen3.6-35B-A3B,使用 incoai/Qwen3.6-35B-A3B-Splash 而不是 incoai/Qwen3.8-27B-Splash。
预构建下载(无需 Xcode)
从 Releases 下载 pulsar-1.1.4-macos-arm64.tar.gz。然后解压并启动服务器:
tar -xzf pulsar-1.1.4-macos-arm64.tar.gz && cd pulsar SPLASH_DRAFT_HEAD_IDS=$PWD/data/head-ranked.u32 ./pulsar serve --model incoai/Qwen3.8-27B-Splash
通过浏览器或 AirDrop 获取的文件?那么 macOS 会阻止它,直到你在 pulsar 文件夹中运行一次 /usr/bin/xattr -dr com.apple.quarantine .。请在 serve 命令之前运行它。
首次运行还会设置其 Python 包,这需要 20 秒。
从源码构建
git clone https://github.com/loopai-hq/pulsar && cd pulsar make install MODEL=incoai/Qwen3.8-27B-Splash SPLASH_DRAFT_HEAD_IDS=$PWD/data/head-ranked.u32 ./pulsar serve --model incoai/Qwen3.8-27B-Splash
与编码智能体一起使用
编码智能体是一种读取和编辑你代码的 AI 工具,例如 OpenCode、Claude Code 或 Codex。让服务器保持运行。在 pulsar 文件夹中打开第二个终端并运行:
./pulsar opencode # or: ./pulsar claude / ./pulsar codex / ./pulsar hermes该智能体打开时已连接到 Pulsar。其他应用可以使用位于 http://127.0.0.1:8000/v1 的 OpenAI API 或位于 http://127.0.0.1:8000 的 Anthropic API,模型为 incoai/Qwen3.8-27B-Splash。
面向编码智能体的技能
技能是编码智能体读取的指令文件。.claude/skills/pulsar 教智能体安装、启动、连接和停止 Pulsar。当你在该文件夹中打开 Claude Code 和 OpenCode 时,它们会找到它。要从任意文件夹使用它:
cp -R .claude/skills/pulsar ~/.claude/skills/ # Claude Code and OpenCode cp -R .claude/skills/pulsar ~/.agents/skills/ # Codex
与 Splash 有何不同
- 基于 Splash 1.3.0 构建。 Pulsar 1.1.4 将其加速能力带到了最新的 Splash 上,包括提示词读取和提示词缓存:重复的提示词可在 0.1 秒内启动。
- 同一模型,同样的校验。 一个小型草稿模型猜测接下来的几个 token。完整模型会校验每一个猜测,只保留它认可的。
- 从你的提示词中猜测。 有些答案会重复你的输入,比如对你粘贴的文件做编辑。在这种情况下,引擎直接从你的提示词中取猜测。完整模型随后可以一步保留多个 token。
- 更快的 GPU 代码。 为 Apple 芯片手工调优的新 GPU 代码,用更少时间完成模型的计算。
- 纯文本模式。
SPLASH_TEXT_ONLY=1会跳过图像权重,从而在较小的 Mac 上为上下文留出更多内存。 - 新引擎代码。 在 Splash 1.3.0 之上新增了 6,191 行 C++ 和 Metal(Apple 的 GPU 语言)代码。其中包括 38 个新 GPU 内核,即运行在 GPU 上的小程序。每个部分的作用及其收益:docs/WHATS-INSIDE.md。每一项改动都有一个开关:docs/SWITCHES.md。
致谢与许可
Pulsar 采用 Apache License 2.0 许可(LICENSE、NOTICE)。如果你基于它进行构建,请保留 NOTICE 文件并注明 Pulsar。
感谢 Inco AI 提供 Splash,即 Pulsar 所基于的 Apache-2.0 引擎。Pulsar 1.1.4 基于 Splash 1.3.0 构建。Splash 自己的 README:docs/SPLASH-README.md。Splash 附带的第三方代码保留其自己的许可:THIRD_PARTY_NOTICES。我们从 Splash 修改过的文件会标注“Modified by meowkernels.”;完整列表(包括无法包含注释的数据文件)见 docs/CHANGED-FILES.md。
来源:Hacker News · github.com