一种基于FPGA的异构神经网络计算加速器设计方法技术

技术编号:23766815 阅读:93 留言:0更新日期:2020-04-11 20:16
本发明专利技术属于计算机技术领域,提供一种基于FPGA的异构神经网络计算加速器设计方法,该方法适用于大规模的深度神经网络算法加速,方法包括如下步骤:CPU读取神经网络的相关参数,并依据得到的信息对外部存储器及卷积计算单元进行动态的配置;外部存储器将需要载入的参数和输入数据通过总线存放到输入缓存的对应位置;将参数分别交替载入到两个卷积计算单元中,并在一个卷积计算单元载入参数的同时对另一个进行计算,循环交替直到完成整个卷积神经网络的全部运算;再将最后的输出结果存放到输出缓存中,等待外部存储器进行存取。本发明专利技术利用FPGA对卷积神经网络计算单元进行组合,能够在节省资源的同时,加快平台的运算速率。

A design method of heterogeneous neural network computing accelerator based on FPGA

【技术实现步骤摘要】
一种基于FPGA的异构神经网络计算加速器设计方法
本专利技术属于计算机
,具体涉及一种基于FPGA的异构神经网络计算加速器设计方法。
技术介绍
深度学习是人工智能的一个重要邻域,主要用于研究神经网路的算法,理论和应用。自2006年Hinton等人提出深度学习这一概念之后,它在自然语言处理,图像处理,语音处理等诸多邻域取得了非凡的成就,受到了巨大的关注。虽然拥有强大的数据分析预测能力,深度学习依旧面临着超大计算量的问题,因此关于高效深度学习平台的搭建变得越来越重要。FPGA(FieldProgrammableGateArrays),现场可编程门阵列,是在PAL,GAL,CPLD等可编程逻辑器件的基础上进一步发展的产物。它是作为专用集成电路邻域中的一种版定制电路,既解决了全定制电路的不足,又克服了原有可编程逻辑器件门电路数量有限的缺点。同时,FPGA在GPU和ASIC中取得了权衡,作为可编程重构硬件,有更加强大的可调控能力,与日增长的逻辑门资源和内存带宽使得它的设计有更大的设计空间,在一定程度上缩短了研究者的开发时限,使研究更加简单易本文档来自技高网...

【技术保护点】
1.一种基于FPGA的异构神经网络加速器设计方法,其特征在于,包括如下步骤:/n步骤1、依据神经网络的规模进行整个平台的初始化并配置:首先CPU在载入该神经网络时需要获取神经网络的相关信息,包括卷积层、池化层、全连接层以及输入输出等神经网络相关计算层的层数信息,各个层的连接关系、计算规模、权重数值信息;/n步骤2、基于步骤1基础上,根据网络规模初始化出两个卷积计算单元,并将位于外部存储器中相应位置的参数和输入数据放置到输入缓存中;/n步骤3、调度控制单元在接收到CPU的指令后,将位于输入缓存中相应位置的参数载入到第一个空闲的卷积计算单元中;同时,从外部存储器中继续取出用于下一个卷积计算单元载入...

【技术特征摘要】
1.一种基于FPGA的异构神经网络加速器设计方法,其特征在于,包括如下步骤:
步骤1、依据神经网络的规模进行整个平台的初始化并配置:首先CPU在载入该神经网络时需要获取神经网络的相关信息,包括卷积层、池化层、全连接层以及输入输出等神经网络相关计算层的层数信息,各个层的连接关系、计算规模、权重数值信息;
步骤2、基于步骤1基础上,根据网络规模初始化出两个卷积计算单元,并将位于外部存储器中相应位置的参数和输入数据放置到输入缓存中;
步骤3、调度控制单元在接收到CPU的指令后,将位于输入缓存中相应位置的参数载入到第一个空闲的卷积计算单元中;同时,从外部存储器中继续取出用于下一个卷积计算单元载入的参数存放到输入缓存中的对应位置;
步骤4、将步骤3中放在输入缓存中的参数载入到第二个卷积计算单元中,完成第二个卷积计算单元的参数配置;
步骤5、在进行步骤4的同时,将输入数据输送给卷积计算单元1的输入端口,并控制第一个卷积计算单元进行计算,得到计算结果,第一个卷积计算单元处于空闲状态。
步骤6、当检测到有卷积计算单元处于空闲状态后,就继续从外部存储器中对应位置取出用于下一个卷积计算单元载入的参数放置到输入缓存中;
步骤7、根据CPU获取的网络规模数据和当前计算的完成度作对比,如果计算尚未完成,则将输出结果输送到第二个卷积计算单元的输入端口,并控制第二个卷积计算单元进行计算,得到计算结果,第二个卷积计算单元处于空闲状态;
步骤8、在进行步骤7的同时,持续监测卷积计算单元是否完成计算并处于空闲状态,如果存...

【专利技术属性】
技术研发人员:李培睿阮爱武杜鹏
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1