独立任务横向融合:一期实现与实验设计
一期要回答的是:同一 NPU 执行范围内,显式编排独立且资源互补的任务,能产生多少真实引擎重叠;相对后端已有并发路径,增加了什么收益? 先选择固定矩阵+向量任务对,输入与 buffer 已准备好,确认机制后再加入独立 DMA。以下是研究方案,不代表已完成的 Hexagon 实验。
1. 可解释的最小执行器
最初保留两项独立计算的主体实现,先确定资源、缓冲区和同步边界。矩阵任务 使用已经准备好布局的输入,向量任务 操作另一份数据,各自拥有独立输出和 scratch。两项任务都就绪后开始计时。
加入搬运任务后,可以用以下抽象语义组织执行。这里的操作是伪代码,不是目标 SDK 的 API:
检查 M、V、D 的输入已就绪,读写区间与临时状态互不冲突
为三项工作预留同时有效的缓冲区
异步发起矩阵任务 M,得到完成事件 eM
异步发起独立搬运任务 D,得到完成事件 eD
执行向量任务 V
发布 V 的完成状态,并释放已经不再使用的资源
等待 eM,发布 M 的完成状态
等待 eD,发布 D 的完成状态
复合入口返回
机制验证需要证明:异步发起后其他工作确实可以推进,等待不会提前阻止无关引擎,完成发布保证数据可见性。矩阵队列和 HVX worker 的具体行为见平台约束。
入口向主机统一返回,可以与设备内部保留独立任务状态并存。若还要主机提前看到短任务完成,则需额外完成事件接口;仅记录设备内完成时刻并不能消除主机端等待。
第一版采用固定任务顺序与固定配额。动态配对、JIT、完整图调度、服务 QoS 和运算迁移均可在机制验证后逐项引入。
2. 性能目标:让相同工作量从相加走向重叠
设独立任务的设备执行时间为 。串行执行近似为:
当主要资源可独立推进、共享资源竞争较小时,理想重叠完成时间接近:
这只是说明重叠收益来源的理想模型。实际融合时间同时受任务自身变慢、控制与同步成本、排空拖尾及共享存储影响,应以测量值为准。资源服务时间的上界分析与其他收益机制见五类收益。
例如,100、80、60 微秒的三个独立任务串行合计约 240 微秒,理想重叠约 100 微秒。这是人为示例,不是目标 NPU 的测量。即使外部 launch 开销为零,内部重叠仍有独立的收益空间。
3. 四组必需对照
HFuse[1] 和 GoPTX[2] 都采用已有并发执行作为基线;VDCores[3] 的同 runtime 任务发射屏障消融,则帮助区分入口合并与内部依赖调度。
| 组别 | 执行方式 | 回答的问题 |
|---|---|---|
| A:现有串行 | 保留后端原有图执行或批次优化,按顺序完成任务 | 实际串行路径成本是什么? |
| B:现有最佳并发 | 使用目标后端支持的图内重排、并发队列或适用的资源分配 | 已有机制能够实现多少重叠? |
| C:单入口内部串行 | 共用融合入口和 buffer 方案,但任务间保留完整等待 | 合并提交/调用边界的收益是什么? |
| D:单入口内部并发 | 尽量与 C 共用计算实现,通过屏障开关允许各引擎推进 | 缩小等待边界与内部重叠增加了什么? |
C → D 主要隔离内部重叠;B → D 判断融合与更细调度相对已有并发增加的能力。两组比较都需要时间线解释,而非只报告总加速比。
为了保持比较成立,固定输入、精度、布局、数学工作量、频率策略和测量边界。各组都使用合理调优的 kernel;C/D 尽量共用主体实现和内存方案。如果为了并发增加了 buffer 或改变 tile,应作为额外变量单独报告。packing、布局准备和预分配若移出计时区间,所有组都采用相同处理,并另测包含准备成本的结果。
若 B 在后端没有实现路径,应记录具体限制。仅比较 A/C/D 可以证明该路径内部重叠的价值,但尚不能证明相对已有最佳并发的增量。
4. 从合成负载到真实独立工作
| 负载 | 实验目的 | 需要防止的混淆 |
|---|---|---|
| 布局已准备 GEMM + 独立激活/归约 | 首先验证 HMX/HVX 重叠 | GEMM packing 或向量任务访存成为共同瓶颈 |
| GEMM + 独立 DDR↔VTCM 搬运 | 验证矩阵与真实 DMA 共执行 | 传输目的区与矩阵输入/输出发生冲突 |
| GEMM + 向量 + 独立 DMA | 检验三类资源与共享带宽限制 | 双缓冲、描述符与 scratch 生命周期不完整 |
| 同图独立分支 / 不同 micro-batch | 证明应用中确实存在 ready task | 内存复用引入顺序,或准备阶段遗漏在计时外 |
| 不同请求中的互补任务 | 检验任务来源与完成语义 | 等待配对和短任务拖尾抵消收益 |
POD-Attention[4] 展示了真实请求中偏计算 prefill 与偏带宽 decode 的配对。它提供寻找负载的思路;应根据目标应用资源画像选择任务,不预设 attention 就是端侧原型的最佳负载。
5. 测量与消融
| 测量 | 作用 |
|---|---|
| 整体设备完成时间与有效吞吐 | 在相同工作量下判断净收益 |
| HMX/HVX/DMA 时间线与实际重叠区间 | 确认多个引擎在推进有用工作 |
| 设备执行与主机提交/等待时间 | 区分内部资源重叠和外部边界开销 |
| 每项任务完成时刻与 slowdown | 检查竞争、短任务时延和拖尾 |
| VTCM 峰值占用、DDR 流量和带宽 | 判断并发所需 buffer 或 spill/fill 是否抵消收益 |
| 调度、事件与等待成本 | 检查细粒度管理成本 |
| 包含准备阶段的端到端结果 | 检查布局准备、配对和额外分配的实际代价 |
采用 warmup、多次重复和结果正确性核验;同时记录设备、SDK/后端版本、线程配置、shape、精度与计时定义。服务实验再加入 p95/p99、deadline miss rate 和能耗。一期机制实验先确保设备完成时间和引擎时间线可靠。
建议逐项扫描:
- 任务时长比例:先测长度接近的 ,再让任一方显著更短,观察自然拖尾。
- 资源份额与 tile:改变 HVX worker、矩阵 tile、队列深度与并发窗口,比较固定份额和搜索所得配置。
- 共享带宽压力:对比高计算强度、偏片上访问及偏 DDR 的任务,加入争用对照。
- 内存与等待策略:固定相同 buffer 方案比较任务级屏障与独立完成,再单独评估额外 buffer 和提前释放。
目标是缩短完成时间、提高有效吞吐;不要求每个引擎在所有时刻都显示忙碌。
6. 如何解释结果与界定贡献
| 结果 | 可以支持的结论 | 下一步 |
|---|---|---|
| D 优于 C,时间线显示重叠 | 内部多引擎编排有净收益 | 定位工作比例、带宽和缓冲区边界 |
| D 优于 A,与 B 接近 | 资源互补有效,已有并发也能覆盖主要机会 | 找出放置、配额或同步粒度还能改进的部分 |
| D 优于 B 与 C | 融合内部调度提供了额外控制或开销优势 | 用消融区分配额、同步域与资源规划贡献 |
| C 优于 A,D 与 C 接近 | 当前收益主要来自入口合并,或可重叠机会有限 | 分析等待位置、任务画像与共享瓶颈 |
| 引擎重叠但 D 变慢 | 并发竞争或管理成本超过收益 | 缩小窗口、调整 tile,或选择回退 |
HyperParallel-MoE[5] 已提供 NPU 内静态异构任务调度先例。因此,一期课题应落到具体执行模型、资源份额、同步边界与片上缓冲区的联合控制,明确相对现有并发路径的收益和适用范围。后续可以逐步加入动态 ready task、版本选择和依赖图;每项新增能力都要有独立证据。
参考文献
[1] LI A, ZHENG B, PEKHIMENKO G, et al. Automatic horizontal fusion for GPU kernels[C]//Proceedings of the 2022 IEEE/ACM International Symposium on Code Generation and Optimization (CGO). 2022: 14–27. https://doi.org/10.1109/CGO53902.2022.9741270
[2] WU K, LIN Z, XI M, et al. GoPTX: fine-grained GPU kernel fusion by PTX-level instruction flow weaving[C]//Proceedings of the 62nd Annual ACM/IEEE Design Automation Conference (DAC). 2025: 1–7. https://doi.org/10.1109/DAC63849.2025.11132627
[3] HE Z, SAMPSON A, ZHANG Y, et al. VDCores: resource decoupled programming and execution for asynchronous GPU[J/OL]. arXiv preprint arXiv:2605.03190, 2026. https://arxiv.org/abs/2605.03190
[4] KAMATH A K, PRABHU R, MOHAN J, et al. POD-Attention: unlocking full prefill-decode overlap for faster LLM inference[C]//Proceedings of the 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 2025. https://arxiv.org/abs/2410.18038
[5] JIN Z, AI C, ZHANG G, et al. HyperParallel-MoE: multi-core interleaved scheduling for fast MoE training on Ascend NPUs[J/OL]. arXiv preprint arXiv:2605.23764, 2026. https://arxiv.org/abs/2605.23764v2
© 2026 Yang Huan · yanghuan9812@qq.com