巨型内核

搜索文档
舍弃CUDA编程!CMU等用几十行代码将LLM编译成巨型内核,推理延迟可降6.7倍
机器之心· 2025-06-21 09:33
核心观点 - 英伟达CUDA是当前大语言模型(LLM)训练和推理的核心计算引擎,但存在手动优化成本高、端到端延迟高等不足 [1][2] - CMU团队开发的MPK编译器可将LLM转化为优化的巨型内核,显著降低推理延迟1.2-6.7倍,逼近硬件理论极限 [3][4] - MPK通过自动化编译实现高性能推理,仅需几十行Python代码即可完成部署,大幅降低使用门槛 [5][41] 技术突破 性能优化 - 在A100-40GB GPU上,MPK将Qwen3-8B模型每个token的延迟从14.5毫秒降至12.5毫秒,接近10毫秒的理论下限 [4] - 通过消除内核启动开销、实现跨层软件流水线和重叠计算与通信三大机制,实现端到端延迟优化 [14][16] - 多GPU环境下性能提升更显著,计算与通信融合的巨型内核设计使扩展性随GPU数量增加而增强 [18] 架构创新 - 编译器将LLM计算图转化为细粒度任务图,在子内核级别显式捕获依赖关系,突破传统"单算子单内核"执行模型的限制 [20][26] - 运行时系统采用静态分区设计,将GPU流式多处理器划分为工作单元和调度单元,避免动态上下文切换开销 [30][32] - 事件驱动执行模型实现1-2微秒级的任务切换延迟,支持多层多GPU工作负载的高效调度 [35][36] 行业影响 技术替代性 - 直接解决PyTorch/Triton/TVM等现有框架无法生成端到端巨型内核的痛点 [11] - 突破NCCL/NVSHMEM/FlashAttention等专用内核库造成的碎片化问题,实现统一编译 [12] - 可能改变GPU上LLM推理工作负载的编译和执行范式 [41] 应用前景 - 已支持现代GPU架构,正在扩展至NVIDIA Blackwell等下一代平台 [43] - 计划增强对动态工作负载(如MoE模型)的支持,开发动态控制流编译策略 [43] - 探索优先级感知调度等高级功能,适用于延迟敏感型服务和混合批处理场景 [43] 实施细节 编译流程 - 将PyTorch定义的LLM计算图转化为优化任务图,最大化暴露并行性 [23] - 通过Mirage内核超优化器自动生成高性能CUDA实现 [28] - 输入输出仅需几十行Python代码指定,大幅简化部署流程 [41] 运行时机制 - 工作单元采用"获取-执行-触发"循环流程,保持持续满载运行 [33][37] - 调度单元采用分布式事件队列管理,单SM可并发运行4个调度单元 [34][38] - 通过触发/依赖事件机制实现细粒度任务同步 [31][39]