NPU 上的 Kernel Fusion:独立任务的资源互补与多引擎调度

我们的优化目标是在同一 NPU 的执行范围内,将输入已经就绪、彼此无数据依赖、主要使用不同执行资源的任务横向融合,显式调度矩阵、向量和数据搬运引擎,使它们重叠执行,缩短相同工作量的完成时间。 常见 megakernel 工作把更大的算子链或任务图放入统一设备入口,结合中间数据复用、跨算子流水、启动开销摊销和设备侧调度;我们的切入点是其中的独立任务资源互补。Megakernel 可以承载这种执行方式,但是否长期驻留、是否覆盖整模型,与能否实现资源重叠是不同问题;第一阶段静态组织两个或三个独立任务,就可以研究配额、同步域和片上缓冲区如何影响收益。

1. 问题边界与优化目标

研究对象首先是 HMX 主导的矩阵任务 + HVX 主导的独立向量任务,确认并发后再加入 DMA。任务可以来自同一图的独立分支、不同 micro-batch 或不同请求。一个 GEMM 与读取其输出的归一化存在依赖;要重叠它们,需要另行设计 tile 流水。

任务 初始实验对象 希望主要使用的资源 必须检查的实际行为
矩阵任务 MM 输入布局已准备好的 GEMM HMX 是否仍需大量 HVX packing、反量化或数据搬运
向量任务 VV 另一份数据的激活、归约或 normalization HVX 是否与 MM 争用 VTCM 访问或 DDR 带宽
搬运任务 DD 独立缓冲区的 DDR ↔ VTCM 传输 DMA 是否确实由 DMA 推进;copy 的名称不能证明执行路径

“独立”要求输入已就绪,读写区间不存在 RAW、WAR、WAW 冲突,临时缓冲区也不发生别名冲突。图上的独立性还需经过内存规划核对:QNN 文档指出,VTCM 地址复用会给原本可重排的算子增加执行顺序约束qnn-scheduling。

核心假设是:后端的提交、等待或资源保留粒度,大于任务实际使用的资源粒度,使其他 ready task 无法充分利用空闲引擎。 应从时间线定位限制发生在提交队列、算子返回边界、worker pool、片上内存生命周期,还是引擎配额。具体平台的现有能力见执行资源与平台约束。

优化目标分为三项,分别测量:

  1. 提高有效重叠:矩阵、向量、搬运在依赖允许时独立推进,降低整体完成时间。
  2. 控制并发代价:联合选择 tile、worker 份额和缓冲区,限制共享带宽竞争、等待和拖尾。
  3. 保留独立进度:任务完成后可释放自己的状态与缓冲区,为后续领取工作保留条件。

执行入口合并还能减少提交与调用开销;这项收益应与引擎重叠分开报告。

2. 与其他融合和执行概念的关系

HFuse 将 horizontal fusion 用于独立 kernel 的线程级并行和资源互补[1];MPK 则将任务图放入 persistent megakernel,由设备侧 runtime 管理依赖和执行[2]。二者的联系是扩大可调度范围,并暴露更细的执行机会。

概念 主要处理的问题 与本课题的关系
Horizontal fusion 独立任务如何在共同执行范围内交错或并发 当前的直接研究对象
Vertical fusion 生产者—消费者怎样复用中间结果、减少往返 作为后续组合优化;第一阶段独立任务没有直接的中间结果复用
Co-scheduling 多个任务如何同时运行并控制竞争 直接相关;可保留多个 kernel,是必须比较的基线
Persistent kernel 执行实例是否长期驻留、持续领取工作 runtime 的实现选择;静态融合任务对不要求长期驻留
Megakernel 如何在更大的设备执行范围内组织多个任务或算子 可以同时容纳横向融合、纵向流水、依赖管理与开销摊销
Resource-decoupled execution 计算、搬运等资源能否按各自依赖独立推进 为多引擎执行器提供抽象;不要求每种资源都对应一个物理核

把三个阻塞函数顺序放进一个入口,只改变执行边界。要产生资源互补收益,还需要异步发起、独立推进以及合适的等待位置。

3. 相关工作的观察与优化思路

下表按与一期问题的联系整理。GPU 方法提供设计依据;其性能结果仍需在目标 NPU 上验证。CCF 等级采用 2026 年 3 月 31 日发布的第七版目录,标注的是会议或期刊的现行等级,论文年份仍保留发表年份;预印本暂无适用等级ccf-directory。

工作 CCF 等级 关键观察 优化思路 对我们的直接启发
Tacker,HPCA 2022[3] A 整体显示忙碌时,Tensor Core 与 CUDA Core 仍可能交替闲置 静态融合互补任务,调整工作份额,预测融合时长并按 QoS 选择 检查各引擎同时做了多少工作;研究矩阵与向量配额
Aker,IEEE TC 2025[4] A 互补性还包括计算与访存;输入和资源竞争会改变最佳配置 扩展任务分类,生成融合版本,自适应选择及回退 用资源画像选择任务对,保留不融合的路径
HFuse,CGO 2022[1] B 独立指令流可增加可执行线程,隐藏不同指令的等待 在同一 CTA 内划分线程区间,隔离 barrier,搜索线程比例 显式配额、局部同步;与双 stream 并发比较
POD-Attention,ASPLOS 2025[5] A 不同请求的 prefill 与 decode 互补,普通并发无法保证同一 SM 共驻留 SM-aware CTA 调度,控制配比、tile 和独立同步 从真实请求中寻找任务;调度粒度和放置影响收益
GoPTX,DAC 2025[6] A 共同执行后,任务内部的指令依赖仍会造成气泡 合并控制流,按依赖与延迟交织 PTX 指令 引擎级重叠成立后,再考虑更细的编译调度
VDCores,2026 预印本[7] —(预印本) 任务级等待会阻止已经就绪的后续微操作发射 将计算与搬运分解为微操作,以依赖和资源可用性推进虚拟执行单元 缩小等待范围;参考同 runtime 的发射屏障消融
HyperParallel-MoE,2026 预印本[8] —(预印本) 所测 Ascend 路径中,AIC/AIV 随完整算子边界交替闲置 tile 任务、Cube/Vector 队列、静态事件调度和统一 launch NPU 上直接的异构执行先例;优先做低开销静态编排
Rammer,OSDI 2020[9] A 把算子视为黑盒会分割算子间和算子内调度空间 用 rTask 统一表达细粒度工作,生成静态时空调度 从完整算子进一步拆成可独立执行的任务
PipeThreader,OSDI 2025[10] A 专用计算和搬运单元要求显式的软件流水 sTask 图、分层硬件抽象和流水搜索 为矩阵、向量、搬运定义资源类型明确的编译表示
MPK,OSDI 2026[2] A 逐算子入口限制跨算子任务流水与通信重叠 SM 级任务图 + persistent megakernel + 分散调度 后续扩展到更大的依赖图和持续执行
Orion,EuroSys 2024[11] A 并发收益受干扰和执行粒度影响 干扰感知的细粒度 GPU 共享调度 建立保留独立 kernel 的调度对照

最直接的前序是 Tacker/Aker 与 HFuse;VDCores 与 HyperParallel-MoE 最适合帮助设计多引擎执行抽象;POD-Attention 与 GoPTX 分别补充真实负载和指令调度经验。不能只凭“在 NPU 上融合矩阵和向量工作”界定新贡献,应说明新的执行控制、存储约束处理方式,以及相对现有最佳并发路径增加了哪些能力。

4. 主题目录与研究推进

页面 主要回答的问题
GPU 横向融合前序 Tacker/Aker、HFuse、POD-Attention、GoPTX 观察到什么,分别怎样融合?
资源解耦与任务执行 VDCores、HyperParallel-MoE、Rammer、PipeThreader、MPK 怎样暴露更细的工作与资源?
执行资源与平台约束 Hexagon 已有哪些异步机制?QNN、Ascend、AMD XDNA 的执行边界有何不同?
一期实现与实验设计 如何做独立矩阵+向量原型,并分离入口合并、内部重叠与竞争成本?
五类收益与配套优化 原有 A–E 分类:资源互补、工作迁移、工作削减、中间数据复用、开销摊销

一期先完成静态独立矩阵+向量任务对,再扩展到独立 DMA。采用“现有串行、现有最佳并发、单入口内部串行、单入口内部并发”四组对照;内部串行与并发尽量共用实现,通过屏障开关隔离重叠收益。下一阶段再加入更多任务、动态 ready task 集合和依赖图。

ccf-directory. 中国计算机学会,第七版《中国计算机学会推荐国际学术会议和期刊目录》,2026-03-31 发布。版本说明:https://www.ccf.org.cn/Academic_Evaluation/By_category/ ;TC、HPCA、ASPLOS、DAC、CGO、EuroSys 的分级:https://www.ccf.org.cn/Academic_Evaluation/ARCH_DCP_SS/ ;OSDI 的分级:https://www.ccf.org.cn/Academic_Evaluation/TCSE_SS_PDL/ (访问日期:2026-10-11)。 ↩
qnn-scheduling. Qualcomm QNN HTP 文档,Scheduling and Allocation:部分后台算子可拆成 launch/wait,最终调度增加并行;VTCM 地址复用可能限制重排。https://docs.qualcomm.com/doc/80-63442-10/topic/scheduling_and_allocation.html (访问日期:2026-10-11)。 ↩

参考文献

[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] CHENG X, ZHANG Z, ZHOU Y, et al. MPK: a compiler and runtime for mega-kernelizing tensor programs[C]//20th USENIX Symposium on Operating Systems Design and Implementation (OSDI 26). 2026: 1909–1926. https://www.usenix.org/conference/osdi26/presentation/cheng

[3] ZHAO H, CUI W, CHEN Q, et al. Tacker: tensor-CUDA core kernel fusion for improving the GPU utilization while ensuring QoS[C]//Proceedings of the 2022 IEEE International Symposium on High-Performance Computer Architecture (HPCA). 2022: 800–813. https://doi.org/10.1109/HPCA53966.2022.00064

[4] ZHAO H, DENG J, CUI W, et al. Adaptive kernel fusion for improving the GPU utilization while ensuring QoS[J]. IEEE Transactions on Computers, 2025, 74(2): 386–400. https://doi.org/10.1109/TC.2024.3477995

[5] 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

[6] 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

[7] 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

[8] 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.23764

[9] MA L, XIE Z, YANG Z, et al. Rammer: enabling holistic deep learning compiler optimizations with rTasks[C]//14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20). 2020: 881–897. https://www.usenix.org/conference/osdi20/presentation/ma

[10] CHENG Y, WANG L, SHI Y, et al. PipeThreader: software-defined pipelining for efficient DNN execution[C]//19th USENIX Symposium on Operating Systems Design and Implementation (OSDI 25). 2025: 767–783. https://www.usenix.org/conference/osdi25/presentation/cheng

[11] STRATI F, MA X, KLIMOVIC A. Orion: interference-aware, fine-grained GPU sharing for ML applications[C]//Proceedings of the Nineteenth European Conference on Computer Systems (EuroSys). 2024: 1075–1092. https://doi.org/10.1145/3627703.3629578


© 2026 Yang Huan · yanghuan9812@qq.com

results matching ""

    No results matching ""