[发明专利]一种卷积计算的实现方法、设备和计算机存储介质有效
申请号: | 201810312903.1 | 申请日: | 2018-04-09 |
公开(公告)号: | CN108470211B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 张纪伟 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李红爽;李丹 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 卷积 计算 实现 方法 设备 计算机 存储 介质 | ||
本发明公开了一种卷积计算的实现方法、设备和计算机存储介质,该方法包括:获取待卷积计算的数据图像的输入通道数目M和输出通道数目N;将每一个输入通道的数据划分成大小为P*P的数据;设置N个工作组,以及设置每个工作组中的工作项数目为P*P;N个工作组并行计算,以及在每个工作组中,分别对每一输入通道的数据进行P*P个工作项的卷积计算;将M个输入通道卷积计算后的数据进行加法规约,得到N个输出通道的输出结果。本发明提供了一种卷积计算的实现方法、设备和计算机存储介质,实现对数据的并行卷积计算,满足FPGA的OpenCL程序的并行模式的工作模式。
技术领域
本发明涉及计算机技术,尤指一种卷积计算的实现方法、设备和计算机存储介质。
背景技术
在深度学习卷积神经网络模型中,卷积层多达几十到上千层,每层训练参数可以达到几万到几十万,总训练参数更是达到了千万级别。深度学习网络的训练时间可以多达几周甚至几个月的时间。
在深度学习计算的硬件层面,现场可编程门阵列(Field-Programmable GateArray,简称FPGA)已经成为深度学习计算的重要平台。相比于图形处理器(GraphicsProcessing Unit,简称GPU),FPGA作为可编程重构的硬件,拥有更强大的可调控能力,拥有更高的计算效率;相比于专用集成电路芯片(Application Specific IntegratedCircuit,简称ASIC),省去了ASIC方案的流片过程,使开发周期缩短。与此同时,开放运算语言(Open Computing Language,简称OpenCL)与FPGA的结合更能让研发者快速上手,一定程度上降低了研发者的开发时限,使研究更加简单易行。其中,OpenCL与FPGA的结合指的是使用OpenCL编程语言在FPGA上实现卷积计算。
然而,FPGA的OpenCL程序的工作模式是并行模式,而目前使用OpenCL编程语言在FPGA上进行卷积计算Fast Algorithms只能串行实现,无法满足FPGA的OpenCL程序的并行模式的工作模式。
发明内容
为了解决上述技术问题,本发明提供了一种卷积计算的实现方法、设备和计算机存储介,实现对数据的并行卷积计算,满足FPGA的OpenCL程序的并行模式的工作模式。
为了达到本发明目的,第一方面,本发明提供了一种卷积计算的实现方法,包括:
获取待卷积计算的数据图像的输入通道数目M和输出通道数目N;
将每一个输入通道的数据划分成大小为P*P的数据;
设置N个工作组,以及设置每个工作组中的工作项数目为P*P;
所述N个工作组并行计算,以及在每个工作组中,分别对每一输入通道的数据进行P*P个工作项的卷积计算;
将M个输入通道卷积计算后的数据进行加法规约,得到N个输出通道的输出结果;
其中,M、N和P均为正整数。
第二方面,本发明提供了一种卷积计算的实现设备,包括:
获取模块,用于获取待卷积计算的数据图像的输入通道数目M和输出通道数目N;
划分模块,用于将每一个输入通道的数据划分成大小为P*P的数据;
设置模块,用于设置N个工作组,以及设置每个工作组中的工作项数目为P*P;
计算模块,用于所述N个工作组并行计算,以及在每个工作组中,分别对每一输入通道的数据进行P*P个工作项的卷积计算;
累加模块,用于将M个输入通道卷积计算后的数据进行加法规约,得到N个输出通道的输出结果;
其中,M、N和P均为正整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810312903.1/2.html,转载请声明来源钻瓜专利网。