[发明专利]针对深度学习的浮点矩阵乘算子众核并行优化方法在审
| 申请号: | 201910975075.4 | 申请日: | 2019-10-14 |
| 公开(公告)号: | CN112732630A | 公开(公告)日: | 2021-04-30 |
| 发明(设计)人: | 刘沙;刘鑫;黄则强;陈德训;朱传家;彭超;裴阳;陆旭峰 | 申请(专利权)人: | 无锡江南计算技术研究所 |
| 主分类号: | G06F15/173 | 分类号: | G06F15/173;G06F17/16;G06F7/523;G06F7/57;G06F9/54 |
| 代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
| 地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 针对 深度 学习 浮点 矩阵 算子 并行 优化 方法 | ||
本发明公开一种针对深度学习的浮点矩阵乘算子众核并行优化方法,包括将输入矩阵和输出矩阵进行扩展和在从核阵列上基于分块矩阵乘法进行计算;所述将输入矩阵和输出矩阵进行扩展包括以下步骤:S1、预申请扩展矩阵的空间;S2、在预申请空间上对输入矩阵和输出矩阵进行排布;S3、对于行方向M不整除情况,行数小于M的部分,按行读入N个数据,并对非整除列赋零后扩展为N_size个数据,写回扩展矩阵的对应位置;S4、对于列方向N不整除部分,首先从原始矩阵跨步读入右侧N不整除部分数据到局存,倒序扩展第N+1到N_size列为0。发明既可以减少访存的开销,又可以使算法的适用范围得到扩展,对于任意维度都有很好的支持。
技术领域
本发明涉及一种针对深度学习的浮点矩阵乘算子众核并行优化方法,属于深度学习技术领域。
背景技术
深度学习中,数据以张量的形式在不同的神经网络层中前向传播和后向传播,通过梯度修正优化参数以达到准确预测的目的,这一过程中涉及大量矩阵计算,其中以矩阵乘积和卷积计算量最大,这两种计算核心都是矩阵乘。矩阵乘算子的性能直接影响矩阵乘积和卷积的性能,对深度学习计算整体性能有较大的影响,因而相关算法的优化对这一领域有着深刻意义。
矩阵乘是深度学习中的典型算子,一方面其计算规范,另一方面根据实际计算中矩阵形状任意,需要考虑所有可能的矩阵大小,因此对矩阵乘的优化既要充分利用其无关联的特点,也要对任意形状的矩阵的适用性都进行考虑。
目前矩阵乘优化算法采用了均匀分块的策略,利用了计算的规范性、无关联性,主要存在两点问题:(1)存在重复的数据读写,没有实现数据共享;(2)缺乏对不同形状,特别是当某一维度很小时的分块算法实现,而这种计算在深度学习中非常多见。
发明内容
本发明的目的是提供一种针对深度学习的浮点矩阵乘算子众核并行优化方法,该针对深度学习的浮点矩阵乘算子众核并行优化方法既可以减少访存的开销,又可以使算法的适用范围得到扩展,对于任意维度都有很好的支持。
为达到上述目的,本发明采用的技术方案是:一种针对深度学习的浮点矩阵乘算子众核并行优化方法,包括将输入矩阵和输出矩阵进行扩展和在从核阵列上基于分块矩阵乘法进行计算;
所述将输入矩阵和输出矩阵进行扩展包括以下步骤:
S1、对输入矩阵和输出矩阵预申请扩展矩阵的空间:对一个M*N的矩阵,最小分块大小为blkM、blkN,确定该方向扩展维度M_size和N_size的大小,并进行内存分配,其中,M_size= MAX(M*2,blkM),N_size = MAX(N*2,blkN);
S2、在预申请空间上对输入矩阵和输出矩阵进行排布:对于M和N满足整除条件的矩阵分块,将其保留在原矩阵中,对于M或N不满足整除条件的,在M和N方向分别分配32个从核,针对M和N方向采用两种补齐策略,通过众核读入写回,将输入矩阵和输出矩阵写入扩展矩阵的对应位置;
S3、对于行方向M不整除情况,行数小于M的部分,按行读入N个数据,并对非整除列赋零后扩展为N_size个数据,写回扩展矩阵的对应位置,对于行数大于M部分,不读入,按行方向扩展赋零后扩展为N_size个数据,根据读入数据的行号写回扩展矩阵的对应位置;
S4、对于列方向N不整除部分,首先从原始矩阵跨步读入右侧N不整除部分数据到局存,倒序扩展第N+1到N_size列为0,然后根据读入数据的行列号将扩展后的数据通过跨步写回的方式写回到扩展矩阵的对应位置;
所述在从核阵列上基于分块矩阵乘法进行计算包括以下步骤:
S5、按照从核阵列的结构特点,将输入矩阵和输出矩阵的扩展矩阵均分为8*8个数据块,以便映射到从核阵列上;
S6、每个从核根据自己在8*8从核阵列的行列号,通过DMA从主存读入输入矩阵和输出矩阵的一个数据块;
S7、每个从核仅计算8*8个输出矩阵块中的一个,基于分块矩阵乘法,利用核间行广播和列广播通信,分8步完成整个计算,以(i,j)从核为例,对输入为W、Di的矩阵乘法,具体步骤如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910975075.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于聚类分析的测试程序分类方法
- 下一篇:一种语音切换方法及装置





