CN114462587A - 一种用于光电混合计算神经网络的fpga实现方法 - Google Patents

一种用于光电混合计算神经网络的fpga实现方法 Download PDF

Info

Publication number
CN114462587A
CN114462587A CN202210126292.8A CN202210126292A CN114462587A CN 114462587 A CN114462587 A CN 114462587A CN 202210126292 A CN202210126292 A CN 202210126292A CN 114462587 A CN114462587 A CN 114462587A
Authority
CN
China
Prior art keywords
data
pooling
calculation
window
convolution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210126292.8A
Other languages
English (en)
Other versions
CN114462587B (zh
Inventor
彭析竹
张曼钰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202210126292.8A priority Critical patent/CN114462587B/zh
Publication of CN114462587A publication Critical patent/CN114462587A/zh
Application granted granted Critical
Publication of CN114462587B publication Critical patent/CN114462587B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/067Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
    • G06N3/0675Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明属于神经网络和FPGA技术领域,具体涉及一种用于光电混合计算神经网络的FPGA实现方法。本发明利用光电混合计算所实现的神经网络为手写图像识别网络,输入图像大小28*28,图像内容为0~9的手写数字,包含一层卷积层、一层池化层和两层全连接层,光计算在运算速度中更胜一筹,但由于光学计算缺少非线性计算能力,因此只能实现卷积层的计算,无法独立进行神经网络的计算,因此池化和全连接层由FPGA实现,本发明旨在实现配合光芯片进行神经网络计算的FPGA部分,用于解决使用光芯片参与完整神经网络计算的问题。

Description

一种用于光电混合计算神经网络的FPGA实现方法
技术领域
本发明属于神经网络和FPGA技术领域,具体涉及一种用于光电混合计算神经网络的FPGA实现方法。
背景技术
神经网络是具有互连节点的计算系统,其工作原理与人脑中的神经元非常相似。通过一些算法,神经网络可以识别原始数据中的隐藏模式和相关性,对其进行聚类和分类,并随着时间的推移不断学习和改进。神经网络可以学习和建模非线性和复杂的输入和输出之间的关系,进行概括和推论,揭示隐藏的关系、模式并预测,并建模高度易变的数据和预测罕见事件所需的方差,因此神经网络可以帮助人们解决现实生活中的复杂问题,包括计算机视觉、语音识别、机器翻译、社交网络过滤、棋盘游戏、视频游戏以及医疗诊断等等。
随着结构化和非结构化数据规模增加到大数据水平,人们开发了深度学习系统,该系统实质上是具有许多层的神经网络,深度学习可以捕获和挖掘更多,更大的数据,包括非结构化数据。现在深度神经网络的规模从数千个权重增加到数百万个甚至数十亿个,具有数百万甚至数十亿权重的人工神经网络提供的神经元和突触与接近小型动物的计算复杂性相当。但传统的计算硬件限制了神经网络的计算速度,目前常用的方式是使用大型矩阵乘法的GPU加速,然而使用大型GPU集群训练大型神经网络仍需花费数周时间,需要采用更有突破性的手段改善计算硬件。
为了以改进计算的速度和准确性,人们对开发调整电子体系结构内的人工神经网络已经进行了较为全面的研究,但是在过去的半个世纪中,集成电路的发展一直受到摩尔定律的限制。而且以电子方式实现神经网络有一些固有的缺陷,比如电子信号容易相互干扰,这给需要高密度连接的神经网络带来了一定的困难;能量需求太高,导致大量的计算成本;由于现有神经网络是基于数字计算机,根据时钟进行连续计算的,其中大多数不能被制成实时处理的系统。因此,有必要开发用于实时处理的小型化的光学神经网络。
光学神经网络具有大量相互连接的线性层,光学互连高度平行,光束可以在空间中交叉而没有串扰,而且光的传播速度非常高,因此时间延迟和色散可以忽略不计。利用波分复用技术,光子神经网络能实现可扩展的电路体系结构,这样的光子神经突触网络利用了光学系统固有的高速和高带宽,从而能够直接处理光通信和可视数据。总的来说光学的神经网络架构原则上比常规的电子架构具有更低的干扰与能耗和更高的集成度、计算速度与功率效率。
然而纯粹的光学体系也有自己的问题,过去的光计算缺少非线性计算能力、存储模块和互连单元,因此很难在切实的实践中发挥作用,纯光学计算的各种应用往往止步于理论阶段。为了发挥光学系统的明显优势,同时确保计算体系的实用性和泛用性,光电混合计算被提出并发展。用电学系统的逻辑计算和存储能力去弥补光学系统的缺陷,构建更灵活更高效的计算架构。
现场可编程门阵列(FPGA)是基于通过可编程互连连接的可配置逻辑模块(CLB)矩阵的半导体器件,可以在制造后根据所需的应用或功能要求进行重新编。现如今大部多数常用的FPGA包括片上处理器、高速I/O接口、RAM模块、DSP引擎等,其功能可在器件每次上电时发生变化,需要更改功能时只需将新的配置文件下载到设备中即可,因此FPGA功能性多样且具有很好的灵活性,适合与光学体系结合进行计算。
发明内容
本发明利用光电混合计算所实现的神经网络为手写图像识别网络,输入图像大小28*28,图像内容为0~9的手写数字,包含一层卷积层、一层池化层和两层全连接层,光计算在运算速度中更胜一筹,但由于光学计算缺少非线性计算能力,因此只能实现卷积层的计算,无法独立进行神经网络的计算,因此池化和全连接层由FPGA实现,本发明旨在实现配合光芯片进行神经网络计算的FPGA部分,用于解决使用光芯片参与完整神经网络计算的问题。
本发明的技术方案为:
一种用于光电混合计算神经网络的FPGA实现方法,采用FPGA实现手写识别卷积神经网络系统中池化和全连接计算,并进行与光芯片的连接,具体包括:
S1、FPGA接收上位机的输入图片,并通过DAC接口发送给光芯片进行卷积层计算,其中卷积层的输入图片深度为3,大小为28*28像素,每个像素由8bits表示,卷积核大小为2*2,共4个,设置卷积窗口滑动步长为2;
S2、光芯片将完成卷积层计算的将数据通过FPGA的ADC接口回传到上位机;
S3、上位机将光芯片输出的数据和池化计算配置参数发送到FPGA,在FPGA上进行池化计算,将池化计算结果回传到上位机,其中池化层的输入即卷积层的输出,为4个14*14的矩阵,池化窗口大小为2*2,其滑动步长为2;所述池化计算依次包括横向池化和纵向池化,实现方式为:横向池化为每次将相邻的数值进行比较,选出较大的数值后进行存储,从而在横向上压缩了一半的数据,对于步长为n的n*n池化窗口,则压缩了n分之一的数据,此时再使用寄存器对其进行移位存储,需要两组寄存器,每组4个,依次将数据顺序存入寄存器,取每组第一个数据出来进行比较,比较完毕后移位,得到下一组需要比较的数据,以此类推,对于存在i*j的纵向池化矩阵,池化窗口n*n,步长为n,则需要n组寄存器,每组j个寄存器;
S4、上位机将池化计算结果和全连接计算配置参数发送到FPGA,在FPGA上通过卷积计算模块进行全连接计算,所述卷积计算模块的实现方式是:外部存储将权重值和数据值灌输给流水线状态机,流水线状态机将流水线划分好的权重和数据传递给内部缓存,内部缓存负责数据和权重的同步,即对于后续数据窗口滑动状态机的请求,权重加载完了才应答数据窗口滑动状态机申请数据请求,权重未加载完成就不应答;对于后续权重窗口滑动状态机申请权重的请求,本次的数据计算完了才应答下次的权重窗口滑动状态机请求,未计算完成完就不应答;采用窗口滑动状态机用于卷积计算窗口的滑动,按照矩阵宽、高、深度的优先级依次滑动窗口进行取值,窗口滑动状态机取到的计算值将送到计算单元,为了满足流水线时序,乘加计算部分将会增加一组权重寄存器,用于预存下一组的权重,即当前权重使用完毕后,数据不变,立即更新下一组权重进行乘加,乘加后的结果送到累加部分进行计算,输出最终结果;
全连接计算包括第一全连接层计算和第二全连接层计算,其中第一全连接层的输入即池化层的输出,为7*7*4=196个一维数据,该层全连接包含30个神经元;第二全连接层的输入即第一全连接层的输出,为30个一维数据,该层全连接包含10个神经元,分别对应手写数字0~9;
S5、FPGA将全连接层的输出作为手写识别卷积神经网络系统的输出回传到上位机;
本发明的优点主要包括:
1.本发明能够配合光计算模块进行神经网路计算,解决光计算无法进行非线性计算的问题;
2.本发明具有灵活性,能根据不同神经网络的计算需求灵活调用不同的光电计算模块;
3.本发明使用FPGA相较于在处理系统上进行神经网路的计算,拥有更高的时钟频率,即计算速度;
4.本发明采用软硬件协同方式,无需重复下载PL侧的配置文件,更方便与系统调试更改。
附图说明
图1为基于FPGA的光电混合神经网络计算架构系统框架图;
图2为FPGA卷积计算模块的总体框架;
图3为深度为1的卷积计算的拆分;
图4为深度不为1的卷积计算的拆分;
图5卷积计算权重存储排布方式;
图6卷积计算流水线示意图;
图7横向池化示意图;
图8纵向池化示意图;
图9池化分割示意图;
图10读口仲裁接口示意图;
图11写口仲裁接口示意图。
具体实施方式
下面结合附图对本发明进行详细的描述。
本发明的主要方式是采用对不同神经网络层进行模块化设计的方式以配合光芯片进行灵活的神经网路计算,计算模块主要在FPGA上完成,分为卷积计算模块、池化计算模块和接口仲裁模块。
全连接层可以看作一种特殊的卷积,因此可以调用卷积计算模块对其进行计算。在此不单单设计全连接计算而进一步设计卷积运算单元的目的是方便本发明更进一步的应用扩展,即可进行更复杂的包含卷积层的神经网络计算。卷积计算模块的总体框架如图2所示。外部存储将权重值和数据值灌输给流水线状态机,以保证权重和数据的流水线时序。流水线状态机将流水线划分好的权重和数据传递给内部缓存,内部缓存负责数据和权重的同步,即对于后续数据窗口滑动状态机的请求,权重加载完了才应答数据窗口滑动状态机申请数据请求,权重未加载完成就不应答;对于后续权重窗口滑动状态机申请权重的请求,本次的数据计算完了才应答下次的权重窗口滑动状态机请求,未计算完成完就不应答。窗口滑动状态机用于卷积计算窗口的滑动,按照矩阵宽、高、深度的优先级依次滑动窗口进行取值。窗口滑动状态机取到的计算值将送到计算单元,为了满足流水线时序,乘加计算部分将会增加一组权重寄存器,用于预存下一组的权重,即正在当前权重使用完毕后,数据不变,立即更新下一组权重进行乘加,乘加后的结果送到累加部分进行计算,输出最终结果。
接下来对卷积计算的拆分和权重的排布进行详细说明。
假设卷积层的输入为深度1的8*8矩阵,有4个2*2卷积核,如图3所示。若顺序进行四个卷积核的乘加,即每个卷积核与输入矩阵乘加后再进行下一个卷积核的乘加,则会反复读取四遍矩阵数据,效率极低。对于一个2*2卷积窗口内的数据,四个卷积都需要与其进行乘加计算,也就是当前窗口内的数据可以重复利用。而对于窗口内的某一个值,由于卷积计算的性质,同样可以重复利用,即窗口内第一个值与所有卷积核的第一个值分别相乘,窗口内第二个值与所有卷积核的第二个值分别相乘,以此类推,再将每个卷积核乘完的值分别累加,即可得到最终四个卷积核与矩阵卷积的结果。
进一步细化,假设卷积层的输入深度不为1的话,如图4所示,与深度1的原理相似,只需要将各层再次累加即可。
基于上述的卷积拆分计算原理,选择了权重排布的合理方式,如图5所示,假设有16组卷积核,为了防止一次性读入数据过多,可以将其拆分成4组,每组4个,对于每组来说,权重的排布为第一卷积核的第一个权重,第二卷积核的第一个权重,第三卷积核的第一个权重,第四卷积核的第一个权重,第一卷积核的第二个权重,以此类推。
同时,根据上述权重和数据之间的拆分计算关系,可以规划出流水线时序,先加载第一组权重,再加载第一组数据,由于数据权重都加载完,此时出于计算阶段,也就是可以同时加载下一组权重,以此类推,如图6所示。
运用卷积计算单元实现全连接计算,只需更改配置参数即可实现,即对于第一层全连接,输入矩阵的宽度为196,高为1,30个1*196的卷积核,对于第二层全连接,输入矩阵的宽度为30,高为1,10个1*30的卷积核。
池化模块用于池化层的计算,在神经网络的计算中,对于前一层输出的一个规模很大的矩阵,往往需要池化来压缩矩阵大小,同时不丢失关键特征,即选择一个池化窗口,在矩阵上滑动,以最大、最小或平均的方式选出一个数值来代表该池化窗口所在位置的特征。图7和图8为池化运算模块的基本设计原理示意图,以池化模式中的最大池化为例,池化层的输入矩阵规模为14*14,池化窗口为2*2,步长2。对于数学上的池化是二维的,即如图7中左边虚线框所示,在四个数中寻找最大值,但是在硬件存储中,数据是顺序存储的,而不是二维存储,因为取值时存在换行的问题。根据池化的规模,每次池化需要存储两行数据,即2*14个数据,或者每次池化都需要向外界发送新的地址寻址重新申请数据,使得池化模块需要大量寄存器或者效率极低的频繁的数据交互,因此本发明提出了在两个维度上的分别池化,即先进行横向池化,再进行纵向池化。
如图7所示为横向池化示意图,每次将相邻的数值进行比较,选出较大的数值后进行存储,在本次假设的前提下,这样在横向上压缩了一半的数据,如果为步长为n的n*池化窗口,则压缩了n分之一的数据。如图8所示为纵向池化示意图,横向池化后,矩阵被压缩成14*7,池化窗口从2*2变为2*1,此时再使用寄存器对其进行移位存储,如图右侧所示,需要两组寄存器,每组4个,依次将数据顺序存入寄存器,取每组第一个数据出来进行比较,比较完毕后移位,得到下一组需要比较的数据,以此类推,若存在i*j的纵向池化矩阵,池化窗口n*n,步长为n,则需要,n组寄存器每组j个寄存器,假如没有将池化横纵区分,则需要每组需要2*j个寄存器,因此该设计减少了一半的寄存器使用。
为了实现任意规模矩阵的池化,本发明做了进一步的矩阵分割设计,以前文所阐述的池化为前提,假设底层池化单元进行矩阵池化的最大宽度为16,那么对于一个更宽的矩阵,可以将其分割成若干个宽度小于或等于16的矩阵进行池化,如图9所示,假设当前输入为一个宽度88的矩阵,那么可以将其分割成5个宽度为16的矩阵和一个宽度为8的矩阵之和,即调用六次底层池化单元,分别对切割后的部分进行池化计算,由于首地址规律性递增,所以很容易将计算后的结果重新拼回池化后最终需要输出的矩阵,以此达成任意规模矩阵的池化。
计算单元与存储交互需要使用AXI4总线接口,分为读口和写口,即计算单元发出读取数据的请求,和计算单元发出写入数据的请求和数据。对于一组AXI4总线来说,如果有多个读写请求,则需要仲裁,对不同计算单元的读写请求进行排序,并逐一响应,因此设计了仲裁接口模块,用于计算单元与外部存储单元的交互。
图10显示的是读口仲裁接口模块的示意图,图中展示了四个通道的请求,对于神经网路计算来说,这四个通道的请求无优先级,因此仲裁采用了轮询的模式,即轮流相应。给每个请求的通道标识一个需要,每个通道在发送读请求时,将该通道的序号发送给轮询仲裁单元,用于轮流相应。仲裁模块将会把当前输出相应的通道的序号暂存一下,当下一次响应时,根据上一次响应过的序号,下一次将响应该序号下一个序号通道的请求。比如第一次响应了序号2,则下一次响应序号3,若序号3没有请求,则响应序号4,以此类推。图中每个通道都有一个对应的FIFO,FIFO用于读指令缓冲,是一个指令队列,这样每个通路可以发送多个读指令,而不会覆盖之前还未响应的请求,这些请求全发出去再在FIFO存起来,对应通道就可以等待相应的数据了。仲裁接口在决定相应哪个序号后,将读请求转换成对应的AXI4接口信号,包括axi_arvaild、axi_arid、axi_araddr等读地址通道和读数据通道的信号,并将接收到的返回数据传递给响应序号的通道。
图11显示的是读口仲裁接口模块的示意图,其原理与读口相似,不多赘述,不同的是写口的仲裁接口的FIFO分为写命令缓冲和写数据缓冲两个队列。因为如果没有这样的队列,一个通路送出写指令后,将会一直等待得到仲裁权,才把写数据送出去,写数据送出去后仲裁模块才能读取该数据,效率很低且时序混乱,因此需要把写指令写数据都进行缓存,才不影响下一次的数据交互。
上述说明包含了本发明中必要的技术设计,普通技术人员能够依据说明搭建网络,完成电计算模块的设计和数据交互,故不再赘述其他技术细节。

Claims (1)

1.一种用于光电混合计算神经网络的FPGA实现方法,其特征在于,采用FPGA实现手写识别卷积神经网络系统中池化和全连接计算,并进行与光芯片的连接,具体包括:
S1、FPGA接收上位机的输入图片,并通过DAC接口发送给光芯片进行卷积层计算,其中卷积层的输入图片深度为3,大小为28*28像素,每个像素由8bits表示,卷积核大小为2*2,共4个,设置卷积窗口滑动步长为2;
S2、光芯片将完成卷积层计算的将数据通过FPGA的ADC接口回传到上位机;
S3、上位机将光芯片输出的数据和池化计算配置参数发送到FPGA,在FPGA上进行池化计算,将池化计算结果回传到上位机,其中池化层的输入即卷积层的输出,为4个14*14的矩阵,池化窗口大小为2*2,其滑动步长为2;所述池化计算依次包括横向池化和纵向池化,实现方式为:横向池化为每次将相邻的数值进行比较,选出较大的数值后进行存储,从而在横向上压缩了一半的数据,对于步长为n的n*n池化窗口,则压缩了n分之一的数据,此时再使用寄存器对其进行移位存储,需要两组寄存器,每组4个,依次将数据顺序存入寄存器,取每组第一个数据出来进行比较,比较完毕后移位,得到下一组需要比较的数据,以此类推,对于存在i*j的纵向池化矩阵,池化窗口n*n,步长为n,则需要n组寄存器,每组j个寄存器;
S4、上位机将池化计算结果和全连接计算配置参数发送到FPGA,在FPGA上通过卷积计算模块进行全连接计算,所述卷积计算模块的实现方式是:外部存储将权重值和数据值灌输给流水线状态机,流水线状态机将流水线划分好的权重和数据传递给内部缓存,内部缓存负责数据和权重的同步,即对于后续数据窗口滑动状态机的请求,权重加载完了才应答数据窗口滑动状态机申请数据请求,权重未加载完成就不应答;对于后续权重窗口滑动状态机申请权重的请求,本次的数据计算完了才应答下次的权重窗口滑动状态机请求,未计算完成完就不应答;采用窗口滑动状态机用于卷积计算窗口的滑动,按照矩阵宽、高、深度的优先级依次滑动窗口进行取值,窗口滑动状态机取到的计算值将送到计算单元,为了满足流水线时序,乘加计算部分将会增加一组权重寄存器,用于预存下一组的权重,即当前权重使用完毕后,数据不变,立即更新下一组权重进行乘加,乘加后的结果送到累加部分进行计算,输出最终结果;
全连接计算包括第一全连接层计算和第二全连接层计算,其中第一全连接层的输入即池化层的输出,为7*7*4=196个一维数据,该层全连接包含30个神经元;第二全连接层的输入即第一全连接层的输出,为30个一维数据,该层全连接包含10个神经元,分别对应手写数字0~9;
S5、FPGA将全连接层的输出作为手写识别卷积神经网络系统的输出回传到上位机。
CN202210126292.8A 2022-02-10 2022-02-10 一种用于光电混合计算神经网络的fpga实现方法 Active CN114462587B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210126292.8A CN114462587B (zh) 2022-02-10 2022-02-10 一种用于光电混合计算神经网络的fpga实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210126292.8A CN114462587B (zh) 2022-02-10 2022-02-10 一种用于光电混合计算神经网络的fpga实现方法

Publications (2)

Publication Number Publication Date
CN114462587A true CN114462587A (zh) 2022-05-10
CN114462587B CN114462587B (zh) 2023-04-07

Family

ID=81414110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210126292.8A Active CN114462587B (zh) 2022-02-10 2022-02-10 一种用于光电混合计算神经网络的fpga实现方法

Country Status (1)

Country Link
CN (1) CN114462587B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114626011A (zh) * 2022-05-12 2022-06-14 飞诺门阵(北京)科技有限公司 光子计算神经网络运算加速方法、装置、设备及存储介质
CN116432726A (zh) * 2023-06-14 2023-07-14 之江实验室 一种光电混合的深度神经网络运算装置和运算方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210011649A1 (en) * 2020-09-25 2021-01-14 Intel Corporation Apparatus, systems, articles of manufacture, and methods for data lifecycle management in an edge environment
US20210241070A1 (en) * 2020-02-03 2021-08-05 Qualcomm Incorporated Hybrid convolution operation
CN113344179A (zh) * 2021-05-31 2021-09-03 哈尔滨理工大学 基于fpga的二值化卷积神经网络算法的ip核

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210241070A1 (en) * 2020-02-03 2021-08-05 Qualcomm Incorporated Hybrid convolution operation
US20210011649A1 (en) * 2020-09-25 2021-01-14 Intel Corporation Apparatus, systems, articles of manufacture, and methods for data lifecycle management in an edge environment
CN113344179A (zh) * 2021-05-31 2021-09-03 哈尔滨理工大学 基于fpga的二值化卷积神经网络算法的ip核

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JENNIFER HASLER: "Starting Framework for Analog Numerical Analysis for Energy-Efficient Computing" *
梅亚军 等: "\"基于FPGA的U-Net网络硬件加速系统的实现 \"" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114626011A (zh) * 2022-05-12 2022-06-14 飞诺门阵(北京)科技有限公司 光子计算神经网络运算加速方法、装置、设备及存储介质
CN116432726A (zh) * 2023-06-14 2023-07-14 之江实验室 一种光电混合的深度神经网络运算装置和运算方法
CN116432726B (zh) * 2023-06-14 2023-08-25 之江实验室 一种光电混合的深度神经网络运算装置和运算方法

Also Published As

Publication number Publication date
CN114462587B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN109784489B (zh) 基于fpga的卷积神经网络ip核
CN110516801B (zh) 一种高吞吐率的动态可重构卷积神经网络加速器
CN114462587B (zh) 一种用于光电混合计算神经网络的fpga实现方法
US10846591B2 (en) Configurable and programmable multi-core architecture with a specialized instruction set for embedded application based on neural networks
CN110263925B (zh) 一种基于fpga的卷积神经网络前向预测的硬件加速实现装置
CN107239824A (zh) 用于实现稀疏卷积神经网络加速器的装置和方法
CN110321997B (zh) 高并行度计算平台、系统及计算实现方法
EP0504932A2 (en) A parallel data processing system
CN108170640B (zh) 神经网络运算装置及应用其进行运算的方法
CN109740739A (zh) 神经网络计算装置、神经网络计算方法及相关产品
US20210019594A1 (en) Convolutional neural network accelerating device and method
CN110705703B (zh) 基于脉动阵列的稀疏神经网络处理器
JP2021510219A (ja) マルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータおよびその動作方式
WO2022067508A1 (zh) 一种神经网络加速器、加速方法以及装置
CN110543939B (zh) 一种基于fpga的卷积神经网络后向训练的硬件加速实现装置
CN111626403B (zh) 一种基于cpu-fpga内存共享的卷积神经网络加速器
CN109740754A (zh) 神经网络计算装置、神经网络计算方法及相关产品
CN110543936B (zh) 一种cnn全连接层运算的多并行加速方法
CN110580519B (zh) 一种卷积运算装置及其方法
CN111582465B (zh) 基于fpga的卷积神经网络加速处理系统、方法以及终端
CN111738433A (zh) 一种可重配置的卷积硬件加速器
Huang et al. IECA: An in-execution configuration CNN accelerator with 30.55 GOPS/mm² area efficiency
CN113344179A (zh) 基于fpga的二值化卷积神经网络算法的ip核
CN101697486A (zh) 一种二维小波变换集成电路结构
Xiao et al. FPGA-based scalable and highly concurrent convolutional neural network acceleration

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant