[发明专利]一种卷积计算的实现方法、设备和计算机存储介质有效
申请号: | 201810312903.1 | 申请日: | 2018-04-09 |
公开(公告)号: | CN108470211B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 张纪伟 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李红爽;李丹 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 卷积 计算 实现 方法 设备 计算机 存储 介质 | ||
1.一种卷积计算的实现方法,包括:
获取待卷积计算的数据图像的输入通道数目M和输出通道数目N;
将每一个输入通道的数据划分成大小为P*P的数据;
设置N个工作组,以及设置每个工作组中的工作项数目为P*P;
所述N个工作组并行计算,以及在每个工作组中,分别对每一输入通道的数据进行P*P个工作项的卷积计算;
将M个输入通道卷积计算后的数据进行加法规约,得到N个输出通道的输出结果;
其中,M、N和P均为正整数,一个工作项对应一个线程。
2.根据权利要求1所述的方法,其特征在于,所述P根据卷积计算的输入图片或输出图片大小确定。
3.根据权利要求1所述的方法,其特征在于,所述设置N个工作组,以及设置每个工作组中的工作项数目为P*P时,所述方法还包括:
设置每个工作组中的最大工作项数目。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述设置N个工作组,以及设置每个工作组中的工作项数目为P*P时,所述方法还包括:
设置多个计算单元。
5.根据权利要求1-3任一项所述的方法,其特征在于,在所述对每一输入通道的数据进行P*P个工作项的卷积计算时,以循环展开方式进行。
6.根据权利要求1-3任一项所述的方法,其特征在于,在所述N个工作组并行计算,以及在每个工作组中,分别对每一输入通道的数据进行P*P个工作项的卷积计算;将M个输入通道卷积计算后的数据进行加法规约,得到N个输出通道每个工作组的输出结果时,将中间计算结果或变量存储在寄存器中,所述输出结果存储在全局内存中。
7.一种卷积计算的实现设备,其特征在于,包括:
获取模块,用于获取待卷积计算的数据图像的输入通道数目M和输出通道数目N;
划分模块,用于将每一个输入通道的数据划分成大小为P*P的数据;
设置模块,用于设置N个工作组,以及设置每个工作组中的工作项数目为P*P;
计算模块,用于所述N个工作组并行计算,以及在每个工作组中,分别对每一输入通道的数据进行P*P个工作项的卷积计算;
累加模块,用于将M个输入通道卷积计算后的数据进行加法规约,得到N个输出通道的输出结果;
其中,M、N和P均为正整数,一个工作项对应一个线程。
8.根据权利要求7所述的设备,其特征在于,所述P根据卷积计算的输入图片或输出图片大小确定;
所述设置模块,还用于:
设置每个工作组中的最大工作项数目;
和/或;
设置多个计算单元。
9.根据权利要求7或8所述的设备,其特征在于,
所述计算模块,在对每一输入通道的数据进行P*P个工作项的卷积计算时,以循环展开方式进行;
和/或;
所述计算模块,在N个工作组并行计算,以及在每个工作组中,分别对每一输入通道的数据进行P*P个工作项的卷积计算;将M个输入通道卷积计算后的数据进行加法规约,得到N个输出通道每个工作组的输出结果时,将中间计算结果或变量存储在寄存器中,所述输出结果存储在全局内存中。
10.一种卷积计算的实现设备,其特征在于,包括存储器和处理器,存储器用于存储执行指令;处理器调用所述执行指令,用于执行如权利要求1-6任一项所述的卷积计算的实现方法。
11.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时实现权利要求1-6任一项所述的方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810312903.1/1.html,转载请声明来源钻瓜专利网。