1. 项目背景与核心价值
这篇论文探讨了一个在异构AI加速器环境下实现内核代码自动演化的前沿课题。Meta作为全球最大的AI基础设施运营商之一,面临着计算架构日益碎片化的严峻挑战。根据内部统计,其数据中心同时部署了超过20种不同架构的AI加速器,包括自研芯片、GPU、TPU等多种计算单元。传统的内核开发模式需要为每种硬件单独优化,工程师70%的时间消耗在重复的移植和调优上。
KernelEvolve系统的创新点在于将内核开发范式从"人工编写+调优"转变为"目标定义+自动演化"。我们设计了一个三层抽象架构:最上层是硬件无关的计算图表示,中间层是架构感知的优化空间,底层是面向特定指令集的代码生成器。系统通过强化学习驱动代码变异,在保持计算语义的前提下,自动探索最优的指令调度、内存访问模式和并行化策略。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 关键技术实现解析
2.1 异构硬件统一抽象层
我们开发了硬件描述语言HDL-X,用声明式语法描述加速器的关键特征:
python复制# 示例:描述张量核心的存储层次
memory_hierarchy {
register_file: 256KB, latency=1cycle
shared_memory: 16MB, banks=32, conflict_resolution=round_robin
global_memory: coalesced_access, cache_line=128B
}
编译器前端将标准算子(如conv2d、matmul)转换为中间表示IR时,会保留多种合法的变换空间。例如矩阵乘法可以表示为:
- 外层循环分块策略:16种可选
- 寄存器平铺方式:8种变体
- 指令流水线编排:4类模式
2.2 进化式代码生成引擎
核心算法采用NSGA-II多目标优化框架,适应度函数包含三个维度:
- 理论峰值利用率(TPU):max(FLOPs / (core_num * freq * flops_per_cycle))
- 内存带宽效率(MBE):(actual_bandwidth / theoretical_bandwidth)
- 功耗效率(PPW):(FLOPs / total_power)
在NVIDIA A100上的实测数据显示,自动生成的GEMM内核相比cuB
