Devotd Github
新发现推理与服务

red-weasel/machx-inference-engine v0.2.35 — Flash-Next 链

基于 C++/SYCL 的 Intel Arc 推理引擎 machx-inference-engine 在 v0.2.35 中加入了把 Flash-Next 拆分到多张卡上运行的 N 阶段链,并修复了社区 GGUF 的读取错误。

仓库信息red-weasel/machx-inference-engine ↗

基于 C++/SYCL 的 Intel Arc 推理引擎 machx-inference-engine 在 v0.2.35 中加入了把 Flash-Next 拆分到多张卡上运行的 N 阶段链,并修复了社区 GGUF 的读取错误。

GitHub 项目说明: C++/SYCL local LLM inference for Intel Arc: Qwen3.8, DeepSeek-V4.1, MiMo-V2.6, GLM-5.3 and LTX-2.5 text-to-video on Arc Pro B70 cards. XMX kernels, quantized models, multi-GPU.

星标
★ 6
复刻
1
语言
C++
许可证
Apache-2.0
最新版本
v0.2.23
查看原始来源 ↗在 GitHub 查看 ↗

基于 C++/SYCL、在 Intel Arc 显卡上运行本地 LLM 推理的 machx-inference-engine 于 2026 年 11 月 2 日的一个 GitHub 提交中发布了 v0.2.35。核心变化在于,Flash-Next 的层分割从固定的两张卡一对,变成了 --gpus N 的 N 阶段链。同一提交中还一并修复了社区 GGUF 的读取错误。

此前 --gpus 被限制为 2。现在阶段 s 负责卡片 s 的层区间 [s·48/N, (s+1)·48/N),并且前向传播、流水线预填充、MTP 草稿头(用于推测解码)的验证轮次、提示词查找、提示词缓存、重启点、请求通道和图像暂存全部都经过同一条链上的同一阶段。一位打算搭建 4 卡 Arc Pro B70 服务器的用户曾报告说,中间阶段只连接了部分路径,导致 48 层中只有 24 层被执行;本次修改把结构修正为无法跳过任何一个阶段。

验证没有使用真实的 4 张卡,而是通过 IE_Q4E_LOGICAL_CARDS 测试开关把一张卡拆成多个阶段,从而在 2 张卡上跑出 4 个阶段。此时贪心响应与 2 阶段服务器逐字节相同,而 ie-qwen4exp-run2 门控工具把 N 阶段链的 logits 与单卡基准做了位级比较,4 阶段和 3 阶段均通过。IE_Q4E_RUN2_SKIP_STAGE 自身检查在漏掉一个阶段时无法通过。另外,引擎控制器把 per_layer_token_embd.weight 写成 IQ4_NL(每行 90 字节),但 Unsloth Q8_0、UD-Q6_K_XL 等社区文件则按 Q8_0(每行 170 字节)存放。由于 gatherer 只读取一种格式,文件虽然能加载却输出垃圾答案;现在会按 dtype 分别读取,并以名称拒绝其他格式。P2P 共享上下文也会保留所有卡,并为每对卡启用双向 peer access。

不过,4 张真实显卡并未到手。4 卡数据目前只留下用户的首次测量结果,验证依赖于两张卡的逻辑划分。卡片直传的 IE_P2P=1 之所以保留为 2 阶段功能,是因为在 B70 上的测量显示经由主机反而更快。用于 expert 上传的 pinned 内存路径一旦开启,解码会慢 14~23%,首 token 会延迟 47%,因此默认关闭。社区文件中用于路由的 expert 在加载时仍会把一份 F16 副本(文件大小的 1.88 倍)载入主机内存。如果计划把 Flash-Next 分摊到多张 Arc 卡上运行,v0.2.35 值得一试,但真实 4 卡数据与 expert 流式支持要留到下一个版本。