国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:张洪滨,周旭林,邢明杰,武延军,赵琛
单位:张洪滨,中国科学院大学, 北京 100049;中国科学院 软件研究所, 北京 10019011,周旭林,中国科学院大学, 北京 100049;中国科学院 软件研究所, 北京 10019002,邢明杰,中国科学院 软件研究所, 北京 10019003,武延军,中国科学院 软件研究所, 北京 10019004,赵琛,中国科学院 软件研究所, 北京 10019005
关键词:深度学习编译器;编译优化;代码生成;自动配置机制
基金:国家重点研发计划(2022YFB4401402)
随着深度学习模型和硬件架构的快速发展, 深度学习编译器已经被广泛应用. 目前, 深度学习模型的编译优化和调优的方法主要依赖基于高性能算子库的手动调优和基于搜索的自动调优策略. 然而, 面对多变的目标算子和多种硬件平台的适配需求, 高性能算子库往往需要为各种架构进行多次重复实现. 此外, 现有的自动调优方案也面临着搜索开销大和缺乏可解释性的挑战. 为了解决上述问题, 提出AutoConfig, 一种面向深度学习编译优化的自动配置机制. 针对不同的深度学习计算负载和特定的硬件平台, AutoConfig可以构建具备可解释性的优化算法分析模型, 采用静态信息提取和动态开销测量的方法进行综合分析, 并基于分析结果利用可配置的代码生成技术自动完成算法选择和调优. AutoConfig创新性地将优化分析模型与可配置的代码生成策略相结合, 不仅能保证性能加速效果, 还能减少重复开发的开销, 同时可以简化调优过程. 在此基础上, 进一步将AutoConfig集成到深度学习编译器Buddy Compiler中, 对矩阵乘法和卷积的多种优化算法建立分析模型, 并将自动配置的代码生成策略应用在多种SIMD硬件平台上进行评估. 实验结果可验证AutoConfig在代码生成策略中完成参数配置和算法选择的有效性. 与经过手动或自动优化的代码相比, 由AutoConfig生成的代码可达到相似的执行性能, 并且无需承担手动调优的重复实现开销和自动调优的搜索开销.
来源:2024年第6期
《软件学报》期刊编辑部