当前位置:首页 > 报告详情

021-伍华林.pdf

上传人: 山哈 编号:725326 2025-07-04 16页 2.49MB

1、伍华林8/21/24Terapines Confidential1兆松科技(武汉)有限公司面向RISC-V异构AI芯片的“大编译器”设计和实现目录C O N T E N T S8/21/24Terapines Confidential2动机02“大编译器”设计“大编译器”实现总结010304动机 软件1.0时代-软件2.0时代 新模型,AI加速器层不穷 模型 x 框架 x 加速器:指数级增 算库维护成本,CUDA兼容问题8/21/24Terapines Confidential3动机 LLVM对加速器的持成熟且容易 LLVM擅做标量优化 MLIR提供了多层抽象,适合做LLVM不擅长的优化 ML

2、IR后端直接成LLVM IR方言8/21/24Terapines Confidential4“大编译器”设计 传统编译器:针对某款特定指令 集的芯片的编译器 编译器 对控制器和加速器的计算和任务程序,以及两者之间的通信进行抽象 自动生成异构计算芯片的所有代码(包括驱动,加速器代码)异构计算系统案例-OpenCL Platform Model8/21/24Terapines Confidential5“大编译器”设计8/21/24Terapines Confidential6“大编译器”设计 MLIR前端 基于IREE/MLIR的些核心方言 持Triton/Mojo*编程语言 支持多种模型文件导

3、入 支持Dataflow芯片计算图生成 统一的算子和计算图抽象层 支持RTL计算图到Dataflow计算图映射*未来支持8/21/24Terapines Confidential7“大编译器”设计 LLVM后端 无缝衔接MLIR 支持多种硬件平台 处理标量相关的优化 指令选择,寄存器分配,指令 排序等 快速适配各类RISC-V DSAGlobalISelLLVM IRLLVM IR DialectMachineIRMC IR8/21/24Terapines Confidential8“大编译器”实现 模型导入 基于IREE的模型导入 支持导入PyTorch,JAX/Tensorflow,ONN

4、X Dialect:TorchIR,StableHLO,TOSA 统一下降到LinalgExt,Arith,Flow etc8/21/24Terapines Confidential9“大编译器”实现 算子库 Triton 算子库-MLIR Dialect TTIR 纯算法,跨平台的开源算子库 MK(Magic Kernel)抽象不同硬件的算子库 通过MK映射到各硬件平台的算子库 自动生成Kernel runtime8/21/24Terapines Confidential10“大编译器”实现 运行时抽象 和平台无关的运行时抽象 自动生成控制器代码 自动生成平台相关算子 算子库编写者无需考虑硬

5、件平台API 硬件平台API通过编译器隐藏和自动生成8/21/24Terapines Confidential11“大编译器”实现 计算图 Flow AI模型计算图抽象 Stream 硬件流水线抽象 MG(Magic Graph)通计算图抽象 图切割算法 动态计算时间模型 数据通信模型 全局变量重排 缩减def-use链8/21/24Terapines Confidential12Example-简化的 GEMV in Triton#Y=A X,where A is a matrix of M x N,X is a vector of N.triton.jitdef gemv_kernel(Y

6、,A,X,M,N,stride_am,BLOCK_SIZE_M:tl.constexpr,BLOCK_SIZE_N:tl.constexpr):start_m=tl.program_id(0)rm=start_m*BLOCK_SIZE_M+tl.arange(0,BLOCK_SIZE_M)rn=tl.arange(0,BLOCK_SIZE_N)A=A+(rm:,None*stride_am+rnNone,:)X=X+rnacc=tl.zeros(BLOCK_SIZE_M,),

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了伍华林兆松科技(武汉)有限公司针对RISC-V异构AI芯片设计的“大编译器”。关键点如下: 1. 动机:从软件1.0时代迈向软件2.0时代,新模型和AI加速器层出不穷,模型、框架和加速器呈指数级增长,算子库维护成本高,存在CUDA兼容问题。 2. 设计理念:采用LLVM和MLIR技术,利用LLVM擅长标量优化和MLIR多层抽象的优势,实现异构计算芯片的编译。 3. “大编译器”设计:对控制器和加速器的计算、任务程序及通信进行抽象,自动生成异构计算芯片的所有代码。 4. 实现方案:基于IREE/MLIR前端,支持多种模型文件导入,统一算子和计算图抽象层;LLVM后端处理标量优化,支持多种硬件平台。 5. 算子库:采用Triton算子库,通过MK(Magic Kernel)映射到各硬件平台的算子库,自动生成Kernel runtime。 6. 运行时抽象:和平台无关的运行时抽象,自动生成控制器代码和平台相关算子,隐藏硬件平台API。 7. 计算图:采用Flow、Stream、MG(Magic Graph)等抽象,实现图切割算法、动态计算时间模型、数据通信模型等。 文章以简化版GEMV算子为例,展示了Triton和TTIR的实现过程。总体而言,该“大编译器”旨在简化异构AI芯片的编程和优化过程,提高开发效率。
"RISC-V异构AI芯片大编译器亮点有哪些?" "如何通过MLIR实现异构计算优化?" "Triton算子库在'大编译器'中扮演什么角色?"
客服
商务合作
小程序
服务号
折叠