基于MLIR的数据流模型OA北大核心CSTPCD
A codelet model based on MLIR
在冯诺依曼架构下,指令集的使用让软硬件得以解耦并各自飞速发展.然而,近年来并行多核架构加速器的热潮为冯诺依曼架构下的顺序编程模型带来了挑战.在顺序编程模型下设计而成的指令集缺乏对并行硬件的抽象,因此仅仅使用指令集已不能完全完成软硬件的解耦.人工智能软件编译栈领域需要新的编程模型,以对接顺序执行的编程平台和并行多核的硬件后端,并进一步探索并行硬件提供的优化机会.使用数据流模型作为编程模型,为顺序执行程序和并行硬件指令集的对接过程提供通用抽象,在指令集的基础上进一步实现软件前端与硬件后端的解耦.为确保项目的可复用性,将数据流模型以codelet dialect的形式实现在谷歌提出的编译器框架MLIR上.MLIR致力于整合碎片化的编译器生态,提高前后端对接流程的可复用性,在MLIR上实现的数据流模型将进一步提升MLIR系统的可复用性.
Thanks to the instruction set architecture(ISA),the software community and the hard-ware community has been developing independently for years.However,with the advent of multi-core accelerators,the sequential programming model based on the Von Neumann architecture is confronted with troubles.Based on sequential execution model,ISA lacks support for parallel multi-core hardware.Thus,merely using ISA cannot decouple software and hardware.A new program execution model(PXM)is required to accomplish end-to-end compilation from neural networks to interface with sequen-tially executed programming platforms and parallel multi-core hardware backends,further exploring the optimization opportunities provided by parallel hardware.This paper proposes a codelet model as a new PXM,providing a general abstraction for the process of downloading sequentially executed programs on-to parallel hardware.It further decouples the software frontend and hardware backend based on the in-struction set.To ensure the reusability of the project,this paper implements the codelet model in the form of a codelet dialect within the MLIR compiler framework proposed by Google.MLIR aims to in-tegrate fragmented compiler ecosystems and improve the reusability of frontend-to-backend integration processes.The codelet model implemented in MLIR in this paper can further enhance the reusability of the MLIR system.
李金熹;尹首一;魏少军;胡杨
清华大学集成电路学院,北京 100084
计算机与自动化
数据流模型端到端编译MLIR
codelet modelend-to-end compilationMLIR
《计算机工程与科学》 2024 (007)
1151-1157 / 7
评论