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

025-周旭林+张洪滨.pdf

上传人: 山哈 编号:725359 2025-07-04 34页 1.41MB

1、基于MLIR的RISC-V编译优化实践以Buddy Compiler为例演讲人:周旭林、张洪滨作者:周旭林(ISCAS)张洪滨(ISCAS)高世豪(ISCAS)王润(ETH)张煦正(BJUT)陈威威(BJUT)刘尚昊(BUAA)概述:基于MLIR的RISC-V编译优化实践1面向RISC-V CPU的AI模型向量化vsetvli zero,s3,e32,m2,ta,mavle32.v v10,(s4),v0.tadd s4,s2,s1slli s4,s4,2add s4,a4,s4vle32.v v12,(s4),v0.tvmul.vx v10,v10,t6vadd.vv v10,v10,v12

2、vse32.v v10,(s4),v0.tadd s1,s1,s3sub t5,t5,s3bgtz t5,.LBB1_7Buddy CompilerV拓展汇编指令概述:基于MLIR的RISC-V编译优化实践2Buddy Compiler的技术路线面向RISC-V CPU的AI模型向量化vsetvli zero,s3,e32,m2,ta,mavle32.v v10,(s4),v0.tadd s4,s2,s1slli s4,s4,2add s4,a4,s4vle32.v v12,(s4),v0.tvmul.vx v10,v10,t6vadd.vv v10,v10,v12vse32.v v10,(s

3、4),v0.tadd s1,s1,s3sub t5,t5,s3bgtz t5,.LBB1_7Buddy CompilerV拓展汇编指令概述:基于MLIR的RISC-V编译优化实践3Buddy Compiler的技术路线Vector方言LLVM方言V拓展方言Linalg方言面向RISC-V CPU的AI模型向量化依托MLIR的多级别方言发挥V拓展向量化潜力vsetvli zero,s3,e32,m2,ta,mavle32.v v10,(s4),v0.tadd s4,s2,s1slli s4,s4,2add s4,a4,s4vle32.v v12,(s4),v0.tvmul.vx v10,v10,

4、t6vadd.vv v10,v10,v12vse32.v v10,(s4),v0.tadd s1,s1,s3sub t5,t5,s3bgtz t5,.LBB1_7Buddy CompilerV拓展汇编指令概述:基于MLIR的RISC-V编译优化实践4Buddy Compiler的技术路线Vector方言LLVM方言V拓展方言Linalg方言面向RISC-V CPU的AI模型向量化依托MLIR的多级别方言发挥V拓展向量化潜力vsetvli zero,s3,e32,m2,ta,mavle32.v v10,(s4),v0.tadd s4,s2,s1slli s4,s4,2add s4,a4,s4vl

5、e32.v v12,(s4),v0.tvmul.vx v10,v10,t6vadd.vv v10,v10,v12vse32.v v10,(s4),v0.tadd s1,s1,s3sub t5,t5,s3bgtz t5,.LBB1_7Buddy CompilerV拓展汇编指令基于V拓展的多层级BenchmarkMatmulSoftmaxLinear模型层模块层linalg.matmullinalg.batch_matmullinalg.softmax算子层算子层(方言实现)AI编译框架Buddy Compiler5AI编译框架Buddy Compiler6前端图基础设施支持Pytorch模型接入

6、AI编译框架Buddy Compiler7前端图基础设施支持Pytorch模型接入中端实现模型算子通用优化AI编译框架Buddy Compiler8前端图基础设施支持Pytorch模型接入后端添加自定义方言(V拓展优化支持的关键!)中端实现模型算子通用优化AI编译框架Buddy Compiler9前端图基础设施支持Pytorch模型接入后端添加自定义方言多层级V拓展Benchmark中端实现模型算子通用优化AI编译框架Buddy Compiler10前端图基础设施支持Pytorch模型接入后端添加自定义方言多层级V拓展Benchmark中端实现模型算子通用优化MLIR界的“godbolt”!V

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了基于MLIR的RISC-V编译优化实践,以Buddy Compiler为例。关键点如下: 1. Buddy Compiler支持RISC-V CPU的AI模型向量化,通过添加‘V’拓展自定义方言和语法实现优化。 2. 利用MLIR的多级别方言,发挥‘V’拓展向量化潜力,覆盖模型层、模块层和算子层。 3. 构建基于‘V’拓展的多层级Benchmark,涉及MobileNetV3、Meta/Llama2等实际AI模型,优化对象包括不同层级的算子。 4. 优化方式集成多种策略,如‘V’拓展向量优化、通用张量优化和图级别优化等。 5. 优化平台包括CanMV-K230、SpacemiT K1等多种RISC-V硬件。 文章中的核心数据包括:‘V’拓展的动态配置特性、向量长度配置指令(vsetvli/vsetivli/vsetvl)、向量寄存器位数(VLEN)、LMUL和SEW等参数。Buddy Compiler致力于建设基于MLIR和RISC-V的软件生态,解锁AI软件栈协同设计的无限可能。
"RISC-V向量化,如何实现?" "解锁AI软件栈,Buddy Compiler怎么做?" "‘V’拓展Benchmark,有哪些优化策略?"
客服
商务合作
小程序
服务号
折叠