面向张量计算单元卷积算子优化实现方法技术

技术编号:37333010 阅读:42 留言:0更新日期:2023-04-21 23:11
一种面向张量计算单元卷积算子优化实现方法,通过深度学习编译器的DSL表示卷积算子,经对卷积计算进行坐标变换得到隐式通用矩阵乘法的计算表示;然后对卷积算子进行调度优化得到调度模板后,经搜索得到最优搜索参数并通过深度学习编译器的后端生成CUDA C代码,再将生成的CUDA C代码集成入神经网络,实现卷积神经网络在NVIDIA GPU平台上的推理速度提升。本发明专利技术能够提升半精度计算中卷积算子自动代码生成的性能,为神经网络推理计算中融合算子的自动代码生成的性能提供保证。自动代码生成的性能提供保证。自动代码生成的性能提供保证。

【技术实现步骤摘要】
面向张量计算单元卷积算子优化实现方法


[0001]本专利技术涉及的是一种人工智能领域的技术,具体是一种面向NVIDIA GPU的张量计算单元(Tensor Core)卷积算子优化实现方法。

技术介绍

[0002]深度学习编译器技术被提出以提升深度学习算子的研发效率,其中TVM编译优化技术能够有效的解决融合算子的自动代码生成问题。然而TVM生成的算子性能,极度依赖于算子调度策略的开发以及调度空间的设计。实际深度学习的业务场景要求TVM生成的算子性能和手工优化一样发挥硬件的极致性能。
[0003]现有的通用矩阵乘(GEMM)运算加速技术应用领域较为狭窄,或无法进行卷积算子的计算或无法运行融合算子,现有的改进GEMM处理技术则基于汇编指令集的操作编程难度较大,也不具备跨平台的通用性。

技术实现思路

[0004]本专利技术针对现有技术存在的上述不足,提出一种面向张量计算单元卷积算子优化实现方法,通过领域领域特定语言(DSL)编写卷积算子的计算与面向张量计算单元的调度,然后通过自动调优技术生成卷积计算代码,本专利技术能够提升半精度本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种面向张量计算单元卷积算子优化实现方法,其特征在于,通过深度学习编译器的DSL表示卷积算子,经对卷积计算进行坐标变换得到隐式通用矩阵乘法的计算表示;然后对卷积算子进行调度优化得到调度模板后,经搜索得到最优搜索参数并通过深度学习编译器的后端生成CUDA C代码,再将生成的CUDAC代码集成入神经网络,实现卷积神经网络在NVIDIAGPU平台上的推理速度提升。2.根据权利要求1所述的面向张量计算单元卷积算子优化实现方法,其特征是,所述的对卷积算子进行调度优化得到调度模板,具体包括:步骤1)对输入数据、权重数据以及输出结果分别进行局部存储器和张量寄存器的缓存;步骤2)利用半精度浮点类型存储空间小的特点,对缓存读写步骤进行双缓冲调度优化;步骤3)利用半精度浮点类型读写带宽高的优势,对缓存读写步骤进行向量化调度优化;步骤4)对计算维度进行切分,即将GEMM_M维度切分为bm,tm,om,im四个维度;将GEMM_N维度切分为bn,tn,on,in四个维度;根据切分参数im、in将GEMM_K切分为ok,ik两个维度;步骤5)进行GPU的线程块绑定和线程绑定,即分别将切分出的维度bm绑定至blockIdx.y、tm绑定至threadIdx.y、bn绑定至blockIdx.x、in绑定至threadIdx.x;步骤6)将未绑定的计算维度,映射为wmma::mma_sync表示的GEMM计算;经绑定后实现每个线程块将计算om*on个GEMM,计算的结果尺寸为im*in。3.根据权利要求2所述的面向张量计算单元卷积算子优化实现方法,其特征是,所述的切分,其参...

【专利技术属性】
技术研发人员:文敏华陈金坤丁丹迪王一超韦建文林新华
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1