软件栈
Kernel 自动调度
也称为 auto-scheduling
先用大白话
编译器安排计算、缓冲和数据传输,让彼此独立的操作安全重叠。
技术定义
Kernel 自动调度把操作分配到执行阶段或资源,并插入保持程序依赖关系所需的同步。
工程细节
调度器可以让 load 与运算流水执行、选择缓冲,或协调矩阵和向量操作。本地存储容量与资源争用限制了可重叠的工作量。消费者仍须等待生产者完成,缓冲也不能过早复用。
为什么重要
自动化减少了手工排程工作,但适合一种张量形状的调度,可能在另一种形状下占用过多存储或同步资源。编译成功不代表执行最优。
如何在 InferenceX 中解读
Huawei 文章展示了 TileLang 在 Ascend 上的调度和算子耗时。比较生成的调度时,必须保持数值操作、形状、缓存状态和运行时版本一致。