[发明专利]基于异构计算的卷积神经网络资源优化配置方法有效
申请号: | 201911293482.3 | 申请日: | 2019-12-12 |
公开(公告)号: | CN112988229B | 公开(公告)日: | 2022-08-05 |
发明(设计)人: | 王浩;曹姗;徐树公;张舜卿 | 申请(专利权)人: | 上海大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06N3/04 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王毓理;王锡麟 |
地址: | 200444*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 计算 卷积 神经 网络资源 优化 配置 方法 | ||
一种基于异构计算的卷积神经网络资源优化配置方法,针对卷积神经网络的卷积层、偏置层、池化层、relu层和全连接层进行逐层计算复杂度分析和数据复杂度分析,得到计算通信比,基于计算通信比的排序在异构计算平台上以运算速度和效率作为优化目标进行资源配置,即将计算通信比高的部分配置于FPGA上进行计算,其余部分配置于ARM上进行计算。本发明同时兼顾了FPGA的高度并行计算的能力和ARM端的高主频,多级缓存以及单指令多数据等特点,显著加速卷积层等计算密集型部分的运算和数据密集的全连接层运算,从而对整个卷积神经网络达到最有效的加速。
技术领域
本发明涉及的是一种人工智能领域的技术,具体是一种基于异构计算的卷积神经网络资源优化配置方法。
背景技术
近年来卷积神经网络得到了广泛的应用,并在图像分类、语音识别、文本检测等方面取得了很大的成功,但现有的神经网络的模型依赖数百万甚至数十亿参数进行大量的计算,例如典型的vgg16网络,参数量就高达1.38亿个,而乘加运算次数更是高达155亿次。因而传统的CPU已经无法满足计算的需求,目前主流的硬件加速平台是GPU,GPU由上千个流处理器作为运算器,相比于CPU流水线式的串行操作,GPU通过大量线程进行并行计算,在大规模计算时,会取得明显的加速效果。
但是针对移动端嵌入式应用而言,GPU的功耗太高。相比之下,FPGA以其灵活性和高效性特别适合作为移动端的硬件加速器。ARM+FPGA的异构计算架构在移动端实现卷积神经网络是目前常用的一种方法,FPGA弥补了ARM计算能力不足的缺点,可以提供大规模并行计算;而ARM又更好地控制整个网络流程,同时多级缓存机制便于缓存大量数据。
FPGA的优势在于可以提供大规模并行计算的能力,利用并行计算提高大规模计算的速度。但是ARM的主频远远高于FPGA的频率,ARM拥有的多级缓存机制,同时使用ARM NEON实现单指令多数据运算,即可以在一个指令周期内并行处理多个数据。所以如果某一层的速度受限于传输带宽,即由于需要传输大量的数据,使得传输的数据无法提供一个很高的并行度计算时,那么FPGA的大规模并行计算优势将无法发挥出来,此时使用ARM更加有效,即ARM更加适合于数据密集部分的计算。
发明内容
本发明针对现有技术的上述不足,提出一种基于异构计算的卷积神经网络资源优化配置方法。
本发明是通过以下技术方案实现的:
本发明涉及一种基于异构计算的卷积神经网络资源优化配置方法,针对卷积神经网络的卷积层、偏置层、池化层、relu层和全连接层进行逐层计算复杂度分析和数据复杂度分析,得到计算通信比(CTC),基于计算通信比的排序在异构计算平台上以运算速度和效率作为优化目标进行资源配置,即将计算通信比高的部分配置于FPGA上进行计算,其余部分配置于ARM上进行计算。
优选地,将全连接层配置于ARM上进行处理,而其余层在FPGA上进行处理。
所述的计算通信比该指标衡量的是传输单位字节数据时,可以完成多少运算。即当某一层的CTC越高,表明数据复用率越高,该层处于计算密集型部分,需要提供较大算力的硬件平台,那么该层适合在FPGA中实现;而CTC较低时,表明数据复用率较低,该层处于数据密集型部分,需要提供更高的传输带宽,同时对算力要求没有那么高,那么该层适合在ARM上完成。
所述的计算通信比高的部分是指:CTC大于2(op/Byte)时属于计算密集型的部分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大学,未经上海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911293482.3/2.html,转载请声明来源钻瓜专利网。