IBM Spyre团队提出了一套从KTIR到SpyreCode的MLIR数据流后端编译方案,用于衔接PyTorch Inductor前端与Spyre加速器运行时。文章的核心在于明确前后端分工:Inductor负责确定并行分解,即哪个核心计算什么数据、数据存放在哪级内存;后端则专注于在该映射内进行数据流调度。KTIR作为一种基于数据并行视图的MLIR表示,承载前端已确定的映射信息,使后端无需重新推导。新开源的Dataflow Scheduler消费KTIR,将每个tile的工作拆分为程序,从简单的加载—计算—存储流水线出发,按架构描述将传输路由至内存层级,并扩展为嵌套、双缓冲、多实例的调度方案,输出以DataflowIR表示,最终由设备相关阶段生成SpyreCode,即符号化二进制加作业计划,供运行时一次准备、多次启动。该设计的意义在于以IR而非库调用作为边界,使调度过程成为可读的MLIR重写,提升了编译流程的透明性与可组合性。
📱 每天一份 AI 前沿日报
关注公众号,每天 09:00 推送 · 不错过任何重磅