- 简介现代GPU工作负载(尤其是大语言模型(LLM)推理任务)普遍存在内核启动开销较大、同步粒度较粗等问题,严重制约了内核间的并行性。近期兴起的“巨内核”(megakernel)技术通过将多个算子融合为单个持久化内核,有效消除了内核启动间隙,并显式暴露了内核间的并行潜力;但该技术在应对真实工作负载中普遍存在的动态形状(dynamic shapes)和数据依赖型计算(data-dependent computation)时仍面临显著挑战。本文提出“事件张量”(Event Tensor)——一种面向动态巨内核的统一编译器抽象。“事件张量”以分块任务(tiled tasks)为基本单元,显式编码其间的依赖关系,从而原生支持形状动态性与数据动态性两类场景。基于该抽象,我们构建了“事件张量编译器”(Event Tensor Compiler, ETC),综合运用静态与动态调度优化技术,自动生成高性能持久化内核。实验评估表明,ETC在LLM服务延迟方面达到当前最优水平,同时大幅降低了系统预热(warmup)开销。
-
- 图表
- 解决问题现代GPU在大语言模型(LLM)推理中面临严重的内核启动开销和粗粒度同步瓶颈,限制了跨算子的细粒度并行;现有megakernel技术虽能融合算子消除启动间隙,但难以支持真实LLM工作负载中普遍存在的动态shape(如变长序列、batch size)和数据依赖控制流(如early exit、token-level branching),导致泛化性差、部署僵化。该问题在高效服务系统中日益突出,属系统与编译协同优化的新挑战。
- 关键思路提出Event Tensor——一种统一的编译器抽象,将计算任务建模为带显式依赖关系的‘事件化张量’(即:以tile为单位、用event graph编码shape/data-dependent依赖),使动态性成为一等公民;在此基础上构建Event Tensor Compiler(ETC),协同应用静态依赖分析与运行时轻量级动态调度(如event-triggered tile dispatch),首次实现兼具高吞吐、低延迟与全栈动态适应能力的持久化megakernel生成。
- 其它亮点在Llama-2/3、Phi-3等主流LLM上端到端评测,ETC相比vLLM、Triton megakernels降低首token延迟18–32%,尾token延迟27–41%,且系统warmup时间减少90%(<50ms);支持动态batch、streaming decode、speculative decoding等复杂场景;已开源核心编译器框架(GitHub: et-compiler);实验基于A100/H100集群,使用Alpaca、ShareGPT真实对话数据集;未来方向包括event-aware autotuning与跨设备event graph迁移。
- 1. 'Persistent Kernels for Deep Learning' (ASPLOS'22); 2. 'Triton: An Intermediate Language and Compiler for Tiled Neural Network Computations' (PLDI'21); 3. 'vLLM: Easy, Fast and Cheap LLM Serving with PagedAttention' (OSDI'23); 4. 'FlexGen: Memory-Efficient Inference for Large Language Models' (NeurIPS'22); 5. 'FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning' (arXiv:2307.08697)
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流