【技术实现步骤摘要】
本专利技术设计高性能计算以及深度学习加速领域,尤其涉及深度学习中的一种基于矩阵核心的高性能矩阵向量乘方法。
技术介绍
1、深度学习中的计算主要由深度学习加速器提供支持,例如gpu,npu,tpu等等。这类加速器都有着类似的大规模数据的并行计算能力,和cpu组成异构系统。在计算的时候需要将数据从内存搬运至处理器专有的hbm存储空间上。处理器在进行计算的时候,除了编程不可见的l1,l2缓存外,通常还会配有可编程的缓存单元,例如在gpu片上workgroup内线程共享的lds,线程私有的寄存器等。
2、深度学习有大量的矩阵向量乘计算场景,而矩阵乘的计算访存比远远大于其退化得到的矩阵向量乘,所以矩阵向量乘的计算性能通常受限于处理器的带宽,体现在流水线中,计算单元有大量的时间因为在等待访存而闲置。深度学习对能源消耗和资源利用率有着严格的要求。
3、近年来深度学习加速器通常带有加速矩阵计算的矩阵核心,例如nvidia的tensorcore,amd的matrix core,华为昇腾的cube。这些矩阵核心通常用于深度学习中半精
...【技术保护点】
1.一种基于矩阵核心的高性能矩阵向量乘方法,包括以下步骤:
2.根据权利要求1所述的一种基于矩阵核心的高性能矩阵向量乘方法,其特征在于,步骤一所述的任务网格构建方法是指以矩阵向量乘中的矩阵为依据划分出大小为TILE_K×TILE_N的矩阵块,依照公式3和编译阶段的枚举测试得出TILE_K和TILE_N的最佳值。进一步的,以上超参数的值受两方面因素限制,一是K方向上的结果向量的累加次数,希望越少越好,二是block的总数,理想情况是物理处理器的整数倍。
3.根据权利要求1所述的一种基于矩阵核心的高性能矩阵向量乘方法。其特征在于,矩阵向量乘预编译方
...【技术特征摘要】
1.一种基于矩阵核心的高性能矩阵向量乘方法,包括以下步骤:
2.根据权利要求1所述的一种基于矩阵核心的高性能矩阵向量乘方法,其特征在于,步骤一所述的任务网格构建方法是指以矩阵向量乘中的矩阵为依据划分出大小为tile_k×tile_n的矩阵块,依照公式3和编译阶段的枚举测试得出tile_k和tile_n的最佳值。进一步的,以上超参数的值受两方面因素限制,一是k方向上的结果向量的累加次数,希望越少越好,二是block的总数,理想情况是物理处理器的整数倍。
3.根据权利要求1所述的一种基于矩阵核心的高性能矩阵向量乘方法。其特征在于,矩阵向量乘预编译方法根据权利要求1,和公式3在一个给定区间上推断,对预选的若干种方案的执行性能进行枚举测试,从而得到当前网络下最佳的分块方案。该枚举测试方法不唯一,但过程类似且能达到相同目的。当神经网络的类型和配置确定时,矩阵向量乘计算的形状种类极少,所以针对特定的网络,根据架构所支持的矩阵核心设置块内矩阵向量乘的计算方式和数据分布。
4.根据权利要求1所述的一种基于矩阵核心的高性能矩阵向量乘方法,其特征在于,需要确定的超参数主要包括任务网格内单次处理任务规模,在本方法中主要指输入矩阵子块的行数和列数。
5.根据权利要求1所述的一种基于矩阵核心的高性能矩阵向量乘方法,其特征在于,矩阵核心包括但不限于英伟达gpu上的tensor core计算单元,昇腾npu上的cube计算单元。
6.根据权利要求1所述的一种基于矩阵核心的高性能矩阵向量乘方法,其特征在于,该mma指令指深度学习加速器中,和矩阵核心相关的指令,用以计算一个最基本的矩阵乘加操作。
7.根据权利要求1所述的一种基于矩阵核心的高性能矩阵向量乘方法,其特征在于,双缓冲只针对输入矩阵。需要在矩阵核...
【专利技术属性】
技术研发人员:陆璐,钟昊阳,
申请(专利权)人:深圳爱特思信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。