CN111882050B - 基于fpga的用于提高bcpnn速度的设计方法 - Google Patents

基于fpga的用于提高bcpnn速度的设计方法 Download PDF

Info

Publication number
CN111882050B
CN111882050B CN202010700170.6A CN202010700170A CN111882050B CN 111882050 B CN111882050 B CN 111882050B CN 202010700170 A CN202010700170 A CN 202010700170A CN 111882050 B CN111882050 B CN 111882050B
Authority
CN
China
Prior art keywords
bcpnn
fpga
module
calculation
updating
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.)
Active
Application number
CN202010700170.6A
Other languages
English (en)
Other versions
CN111882050A (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.)
Shanghai New Helium Brain Intelligence Technology Co ltd
Fudan University
Original Assignee
Shanghai New Helium Brain Intelligence Technology Co ltd
Fudan University
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 Shanghai New Helium Brain Intelligence Technology Co ltd, Fudan University filed Critical Shanghai New Helium Brain Intelligence Technology Co ltd
Priority to CN202010700170.6A priority Critical patent/CN111882050B/zh
Publication of CN111882050A publication Critical patent/CN111882050A/zh
Application granted granted Critical
Publication of CN111882050B publication Critical patent/CN111882050B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using 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
    • 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/047Probabilistic or stochastic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了基于FPGA的用于提高BCPNN速度的设计方法,涉及人工智能技术领域,通过模块化设计,在硬件上对BCPNN中的突触状态的变量、权重以及偏置进行更新;通过查找表,在FPGA上实现指数运算;通过并行算法,对BCPNN中的突触状态的权重及偏置更新过程实现速度提升;通过加法器和乘法器的模块复用,在保持相同计算性能的情况下降低资源开销。本发明提供的方法不仅具有更高的计算性能,同时也具有较高的计算准确度,可有效提高BCPNN的权重及偏置更新速度。

Description

基于FPGA的用于提高BCPNN速度的设计方法
技术领域
本发明涉及人工智能技术领域,具体地,涉及一种基于FPGA的用于提高BCPNN速度的设计方法。
背景技术
贝叶斯置信传播神经网络(BCPNN)提供了一种灵活的但计算复杂的突触可塑性机制。BCPNN学习规则建立在贝叶斯统计基础上,并且与生物可塑性过程有着明确的联系,已应用于许多领域,从数据分类,联想记忆,基于奖励的学习,概率推断到皮层吸引子记忆网络。
在此学习规则的基于脉冲的版本中,突触前,突触后和突触间协同活动在三个低通滤波阶段中进行跟踪,总共需要八个状态变量,这些状态变量的动力学通常使用固定步长的欧拉法(Euler)方法进行模拟。德累斯顿工业大学的研究组推导了分析解决方案,以事件驱动的方式实现该学习规则,该方法进行的仿真比使用固定步长的欧拉法(Euler)方法快了一个数量级。然而,虽然该方案简化了计算过程,但是计算复杂度还是很高。
因此,急需一种技术方案解决上述技术问题。
发明内容
本发明的目的在于,针对上述问题,提出了一种基于FPGA的用于提高BCPNN速度的设计方法,通过基于FPGA的硬件加速器设计,能够利用 FPGA的并行性进一步提高贝叶斯置信传播神经网络(BCPNN)权重及偏置更新速度的目的。
为实现上述目的,本发明技术方案提供了基于FPGA的用于提高BCPNN 速度的设计方法,包括如下:
通过模块化设计,在硬件上对BCPNN中的突触状态的变量、权重以及偏置进行更新;
通过查找表,在FPGA上实现指数运算;
通过并行算法,对BCPNN中的突触状态的权重及偏置更新过程实现速度提升;
通过加法器和乘法器的模块复用,在保持相同计算性能的情况下降低资源开销。
优选的,所述通过模块化设计中,所述模块包括突触前变量更新模块、突触间变量更新模块、突触后变量更新模块、权重计算模块和偏置计算模块。
优选的,所述突触前变量更新模块、所述突触间变量更新模块和所述突触后变量更新模块分别通过两个乘法器、两个加法器和一个块存储器实现;所述权重计算模块通过一个乘法器、两个定点转浮点核、一个除法器、一个对数计算核和一个浮点转定点核实现;所述偏置计算模块通过一个定点转浮点核、一个对数计算核和一个浮点转定点核实现。
优选的,所述通过查找表,在FPGA上实现指数运算,具体为:将指数运算的计算结果存储在一个块存储器中,每一行存储同一输入时不同时间常数下的指数运算结果,输入为当前更新时间与上次更新时间的时间间隔,输出为该时间间隔下的指数计算结果。
优选的,所述通过并行算法,对BCPNN中的突触状态的权重及偏置更新过程实现速度提升,具体为:将权重和偏置更新过程的公式分解为多个乘加运算,根据计算步骤间的数据依赖性来最大化并行操作,达到整体最优的性能,以提升更新速度。
优选的,所述通过加法器和乘法器的模块复用,在保持相同计算性能的情况下降低资源开销,具体为:通过复用加法器和乘法器,在保持计算性能的同时,提高乘加模块的利用率,从而减少硬件资源的消耗。
优选的,所述通过加法器和乘法器的模块复用,包括模块不复用、模块部分复用和模块全部复用。
优选的,所述FPGA的型号为xc7a100tfgg484-2。
有益效果
本发明所提供的一种基于FPGA的用于提高BCPNN速度的设计方法,通过模块化设计在FPGA硬件上对贝叶斯置信传播神经网络的状态变量、权重及偏置的更新过程进行加速,可有效提升神经网络权重及偏置更新速度;通过查找表在硬件上实现指数运算的方法,不仅提升了计算速度,同时也极大地降低了硬件资源开销;通过最大化并行操作达到了最优设计,从而获得最佳的计算性能;在硬件加速器中进行模块复用的方法能够在实现相同性能的情况下降低资源消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明实施例所述的基于FPGA的用于提高BCPNN速度的设计方法的架构图;
图2为本发明实施例所述的基于FPGA的用于提高BCPNN速度的设计方法中在FPGA硬件上进行指数运算的块存储器的结构图;
图3为本发明实施例所述的基于FPGA的用于提高BCPNN速度的设计方法中通过并行算法提升权重及偏置更新过程速度的计算步骤分解图。
具体实施方式
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明使用模块化设计的方法,目标是在FPGA硬件上对贝叶斯置信传播神经网络的状态变量、权重及偏置的更新过程进行加速,以得到提升神经网络权重及偏置更新速度的目的。其中,FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
基于FPGA的用于提高BCPNN速度的设计方法,包括如下:
通过模块化设计,在硬件上对BCPNN中的突触状态的变量、权重以及偏置进行更新;
通过查找表,在FPGA上实现指数运算;
通过并行算法,对BCPNN中的突触状态的权重及偏置更新过程实现速度提升;
通过加法器和乘法器的模块复用,在保持相同计算性能的情况下降低资源开销。
如图1所示,通过模块化设计,在硬件上对BCPNN中的突触状态的变量、权重以及偏置进行更新;在模块化设计中,所述模块包括突触前变量更新模块、突触间变量更新模块、突触后变量更新模块、权重计算模块和偏置计算模块;
具体的,所述突触前变量更新模块、所述突触间变量更新模块和所述突触后变量更新模块分别通过两个乘法器、两个加法器和一个块存储器实现;
所述权重计算模块通过一个乘法器、两个定点转浮点核、一个除法器、一个对数计算核和一个浮点转定点核实现;
所述偏置计算模块通过一个定点转浮点核、一个对数计算核和一个浮点转定点核实现。
图1中,三个P状态变量Pi、Pij、Pj分别在突触前、突触间和突触后变量更新模块中进行更新。基于三个更新后的P状态变量,在权重计算模块和偏置计算模块中分别计算相应的权重和偏置。
出于最大化并行性操作的考虑,三个变量更新模块都分别需要使用两个加法器(加法器1和加法器2)和两个乘法器(乘法器1和乘法器2),这在后面会做进行说明。此外,块存储器用于在FPGA中实现指数运算。在权重计算模块和偏置计算模块,均采用了对数计算核以实现对数函数的运算。值得注意的是,由于权重和偏置计算模块中均采用的是浮点数运算,而在FPGA中采用的是定点数计算,所以在设计中还需要使用定点转浮点模块以及浮点转定点模块。
在突触状态变量的更新过程中涉及指数运算,具体为变量衰减因子的计算,公式为:
其中,τzi为时间常数,Δt代表当前时间t和上次更新时间tlast之间的时间间隔,公式为:
Δt=t-tlast
另外,计算过程中还涉及其他不同时间常数的指数运算,比如τzjzij, τe,和这增加了硬件设计的困难。
考虑到计算准确性和资源消耗,在FPGA上实现指数运算很困难。常用的实现方法包括分段线性逼近法,CORDIC算法,高阶多项式逼近法,以及查找表法。分段线性逼近法易于实现,但是准确性较低。CORDIC算法在 FPGA上经常使用,但是输入范围受限,并且有较长的延迟。高阶多项式逼近法准确性较高,但是占用太多的硬件资源。
因此本发明中采用了查找表法来实现指数运算,原因如下:
一方面,衰减因子的指数为负数,所以计算结果取值范围是0到1,也就意味着当Δt增加到一定程度,比如1024时,指数的计算结果可以近似为0。在此情况下,我们可以用深度有限的块存储器存储输入范围有限的指数计算结果,同时能保持较高的计算准确性。
另一方面,对于同一个输入变量,不同时间常数下的指数计算结果可以存放在块存储器的同一行中,这样就可以通过一次读取同时得到同一时间间隔下的多个指数计算结果,极大地提升了计算速度。
图2为本实施例中块存储器的结构图,具体为:
宽度为150bit,深度为1024,每一行存储同一时间间隔Δt时五个不同时间常数(τzizjzije,)下的指数计算结果,每个指数计算结果位宽为30bit,以定点数的形式表示,所以总计位宽为150bit。随着块存储器的宽度和深度的增加,计算结果准确度和输入取值范围也能得到提升。
综上所述,本发明中提出的通过查找表在硬件上实现指数运算的方法,提升了计算速度,同时也极大地降低了硬件资源开销。
本发明中提出了在计算过程中最大化并行操作,以提升硬件加速器的计算性能,具体为根据操作步骤间的数据依赖性来分解计算步骤。这里的数据依赖性是指:如果两个计算步骤的操作数和计算结果相互之间没有关系,那么它们是相互独立的,两个步骤就可以同时(并行)执行;如果一个步骤的计算结果是另一个步骤的操作数,那么它们是相互依赖的,两个步骤就只能依次按顺序(串行)执行。
以突触前更新模块中的E状态变量的更新过程为例,公式为:
其中,Ei(t)表示E状态变量当前更新的数值,Ei(tlast)表示E状态变量上一次更新后的数值,Zi(tlast)表示Z状态变量上一次更新后的数值,Δt 为更新时间间隔,ai为常数,τe和τzi为时间常数。
该公式可以被分解为5个步骤,如图3所示,包括两个加法操作和三个乘法操作。考虑到操作数的数据依赖性,前三步运算(两个乘法、一个加法)的操作数和计算结果间没有联系,是相互独立的,所以可以并行执行。然而,第四步的两个操作数分别是第二步和第三步的计算结果 (add_result_1,mul_result_2),第五步的两个操作数分别是第一步和第四步的计算结果(mul_result_1,mul_result_3),是相互依赖的,所以需要串行执行。由此可见,在图3的例子中,该计算过程最多可以同时进行两个乘法运算。因此,可以采用两个乘法器来让两个乘法运算同时进行以最大化并行操作。当对本设计中所有的计算步骤进行分析时,采用同样的设计原则。在三个突触变量更新模块中,分别采用两个乘法器和两个加法器。
综上所述,本发明通过最大化并行操作达到了最优设计,从而获得最佳的计算性能。
在硬件实现方面,本发明中的硬件加速器设计在Xilinx Artix-7系列的FPGA硬件上实现,采用xc7a100tfgg484-2。在功耗方面,总计的片上功耗是274mw,在时序方面,最差负时序裕量是0.152ns。总共需要 22个时钟周期来完成一次更新过程。如果时钟频率是200MHz,那么一次更新过程可以在110ns内完成。假设时间步长是1ms,那么在1ms内能够完成9090次更新过程。也就是说,对于一个输入深度为909,输出宽度为10,总计有9090个连接点的权重矩阵,该硬件加速器能够在1ms内对其所有的权重进行更新。在片上资源利用率方面,DSP是消耗最多的硬件资源,使用了17.5%,可以通过模块复用的方法进一步降低DSP(数字信号处理)消耗。
为了体现该硬件加速器设计的优势,本发明在FPGA和CPU上进行了对比实验。
在CPU测试中,权重及偏置更新过程在Xcode环境中通过C++实现, CPU的工作频率是2.6GHz,结果显示完成一次更新平均耗时25800ns。
在FPGA测试中,当时钟频率为200MHz时,结果显示完成一次更新耗时110ns。
因此,FPGA的更新用时比CPU减少了两个数量级,这表明硬件加速器极大地提升了计算速度。
在计算准确度方面,因为FPGA中的运算是以定点数的格式,在进行浮点数和定点数的转换时,存在着不可避免的误差。此外,在进行乘法运算时,需要对结果进行数据位宽截断,这也会导致不可避免的误差。然而,实验结果表明FPGA测试中的计算结果与CPU测试的计算结果相同到小数点后的第六位,换句话说,在计算准确度方面,硬件加速器的表现和CPU 相当。
综上所述,本发明中的硬件加速器不仅具有更高的计算性能,同时也具有较高的计算准确度。
基于图1中介绍的基本设计,本发明还提出通过复用加法器和乘法器的方法来减少硬件资源开销,主要是FPGA上的DSP资源。该模块复用方法具体为:
通过合理的状态机逻辑设计,尽可能使得乘加模块(加法器和乘法器) 在每一个时钟周期都在进行运算,即提高单个乘加模块的利用率,进而减少所需乘加模块的总个数,从而达到减少硬件资源开销的目的。包括如下三种情况:
当模块不进行复用时,基本设计在三个突触变量更新模块中分别使用2个加法器和2个乘法器,总计6个加法器和6个乘法器。此时消耗42 个DSP模块,能够在22个时钟周期内完成一次更新过程。
当对模块的一部分进行复用时,只需要4个加法器和4个乘法器就可以达到同样的计算性能,也就是在22个周期内完成一次更新,但是此时只需要消耗32个DSP,与基本设计相比降低了23.8%。需要注意的是,此时只有三个突触变量更新模块中的乘法器被复用了,而权重计算模块中的乘法器并没有被复用,所以称之为部分复用。
当对计算模块进行全部复用时,可以进一步降低硬件资源开销,此时权重计算模块中的乘法器也被复用了。全部复用模式下,当使用4个加法器和4个乘法器时,消耗28个DSP,能够在25个周期内完成一次更新,与基本设计相比更新时间增加了13.6%,但是DSP消耗降低了33.3%。更进一步地,全部复用模式下,当使用2个加法器和2个乘法器时,消耗18个DSP,能够在30个周期内完成一次更新,进一步降低了DSP资源消耗,但是也增加了更新时间。
因此,本发明提出的在硬件加速器中进行模块复用的方法能够在实现相同性能的情况下降低资源消耗。实际应用中,可以根据性能需求和硬件资源限制进行权衡来决定计算模块的资源利用和设计。通过模块复用,能够在降低一些性能的情况下节省硬件资源开销,反之亦然。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (6)

1.基于FPGA的用于提高BCPNN速度的设计方法,其特征在于,包括:
通过模块化设计,在硬件上对BCPNN中的突触状态的变量、权重以及偏置进行更新;
通过查找表,在FPGA上实现指数运算;
通过并行算法,对BCPNN中的突触状态的权重及偏置更新过程实现速度提升;
通过加法器和乘法器的模块复用,在保持相同计算性能的情况下降低资源开销;
所述通过模块化设计,包括突触前变量更新模块、突触间变量更新模块、突触后变量更新模块、权重计算模块和偏置计算模块;
所述突触前变量更新模块、所述突触间变量更新模块和所述突触后变量更新模块分别通过两个乘法器、两个加法器和一个块存储器实现;所述权重计算模块通过一个乘法器、两个定点转浮点核、一个除法器、一个对数计算核和一个浮点转定点核实现;所述偏置计算模块通过一个定点转浮点核、一个对数计算核和一个浮点转定点核实现。
2.根据权利要求1所述的基于FPGA的用于提高BCPNN速度的设计方法,其特征在于,所述通过查找表,在FPGA上实现指数运算,具体为:将指数运算的计算结果存储在一个块存储器中,每一行存储同一输入时不同时间常数下的指数运算结果,输入为当前更新时间与上次更新时间的时间间隔,输出为该时间间隔下的指数计算结果。
3.根据权利要求1所述的基于FPGA的用于提高BCPNN速度的设计方法,其特征在于,所述通过并行算法,对BCPNN中的突触状态的权重及偏置更新过程实现速度提升,具体为:将权重和偏置更新过程的公式分解为多个乘加运算,根据计算步骤间的数据依赖性来最大化并行操作。
4.根据权利要求1所述的基于FPGA的用于提高BCPNN速度的设计方法,其特征在于,所述通过加法器和乘法器的模块复用,在保持相同计算性能的情况下降低资源开销,具体为:通过复用加法器和乘法器,在保持计算性能的同时,提高乘加模块的利用率。
5.根据权利要求4所述的基于FPGA的用于提高BCPNN速度的设计方法,其特征在于,所述通过加法器和乘法器的模块复用,包括模块不复用、模块部分复用和模块全部复用。
6.根据权利要求1所述的基于FPGA的用于提高BCPNN速度的设计方法,其特征在于,所述FPGA的型号为xc7a100tfgg484-2。
CN202010700170.6A 2020-07-20 2020-07-20 基于fpga的用于提高bcpnn速度的设计方法 Active CN111882050B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010700170.6A CN111882050B (zh) 2020-07-20 2020-07-20 基于fpga的用于提高bcpnn速度的设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010700170.6A CN111882050B (zh) 2020-07-20 2020-07-20 基于fpga的用于提高bcpnn速度的设计方法

Publications (2)

Publication Number Publication Date
CN111882050A CN111882050A (zh) 2020-11-03
CN111882050B true CN111882050B (zh) 2024-02-06

Family

ID=73155746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010700170.6A Active CN111882050B (zh) 2020-07-20 2020-07-20 基于fpga的用于提高bcpnn速度的设计方法

Country Status (1)

Country Link
CN (1) CN111882050B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656751B (zh) * 2021-08-10 2024-02-27 上海新氦类脑智能科技有限公司 无符号dac实现有符号运算的方法、装置、设备和介质
CN114202068B (zh) * 2022-02-17 2022-06-28 浙江大学 面向类脑计算芯片的自学习实现系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3343465A1 (en) * 2016-12-30 2018-07-04 Intel Corporation Neuromorphic computer with reconfigurable memory mapping for various neural network topologies
CN109948784A (zh) * 2019-01-03 2019-06-28 重庆邮电大学 一种基于快速滤波算法的卷积神经网络加速器电路
CN110991631A (zh) * 2019-11-28 2020-04-10 福州大学 一种基于fpga的神经网络加速系统
CN111353586A (zh) * 2020-02-23 2020-06-30 苏州浪潮智能科技有限公司 一种基于fpga实现cnn加速的系统
CN111382859A (zh) * 2018-12-27 2020-07-07 三星电子株式会社 用于处理神经网络中的卷积运算的方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9978014B2 (en) * 2013-12-18 2018-05-22 Intel Corporation Reconfigurable processing unit
US11195079B2 (en) * 2017-11-22 2021-12-07 Intel Corporation Reconfigurable neuro-synaptic cores for spiking neural network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3343465A1 (en) * 2016-12-30 2018-07-04 Intel Corporation Neuromorphic computer with reconfigurable memory mapping for various neural network topologies
CN111382859A (zh) * 2018-12-27 2020-07-07 三星电子株式会社 用于处理神经网络中的卷积运算的方法和装置
CN109948784A (zh) * 2019-01-03 2019-06-28 重庆邮电大学 一种基于快速滤波算法的卷积神经网络加速器电路
CN110991631A (zh) * 2019-11-28 2020-04-10 福州大学 一种基于fpga的神经网络加速系统
CN111353586A (zh) * 2020-02-23 2020-06-30 苏州浪潮智能科技有限公司 一种基于fpga实现cnn加速的系统

Also Published As

Publication number Publication date
CN111882050A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
Lotrič et al. Applicability of approximate multipliers in hardware neural networks
Ullah et al. High-performance accurate and approximate multipliers for FPGA-based hardware accelerators
Yang et al. Design space exploration of neural network activation function circuits
Nakahara et al. A memory-based realization of a binarized deep convolutional neural network
CN111882050B (zh) 基于fpga的用于提高bcpnn速度的设计方法
CN109308520B (zh) 实现softmax函数计算的FPGA电路及方法
DiCecco et al. FPGA-based training of convolutional neural networks with a reduced precision floating-point library
CN112051980B (zh) 一种基于牛顿迭代法的非线性激活函数计算装置
Qin et al. A novel approximation methodology and its efficient vlsi implementation for the sigmoid function
CN108196822A (zh) 一种双精度浮点开方运算的方法及系统
Nojehdeh et al. Efficient hardware implementation of artificial neural networks using approximate multiply-accumulate blocks
Lin et al. Fpga-based reservoir computing with optimized reservoir node architecture
Gan et al. A cost-efficient digital esn architecture on fpga for ofdm symbol detection
Fuketa et al. Image-classifier deep convolutional neural network training by 9-bit dedicated hardware to realize validation accuracy and energy efficiency superior to the half precision floating point format
Kluska et al. Hardware implementation of P1-TS fuzzy rule-based systems on FPGA
US20210374509A1 (en) Modulo Operation Unit
Przybył et al. The method of hardware implementation of fuzzy systems on FPGA
Thabit et al. Implementation three-step algorithm based on signed digit number system by using neural network
Rasanjani et al. Fundamental Digital Module Realization Using RTL Design for Quantum Mechanics
Lotrič et al. Logarithmic multiplier in hardware implementation of neural networks
Liu et al. Resource reduction of BFGS quasi-newton implementation on FPGA using fixed-point matrix updating
CN112561036A (zh) He-lstm网络结构及其对应的fpga硬件加速器
Khalil FPGA implementation of artificial neurons: Comparison study
Reed et al. Lightweight Neural Network Architectures for Resource-Limited Devices
CN113672196A (zh) 一种基于单数字信号处理单元的双乘法计算装置和方法

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
CB03 Change of inventor or designer information

Inventor after: Wang Deyu

Inventor after: Liang Longfei

Inventor after: Liu Lizheng

Inventor after: Zou Zhuo

Inventor after: Huan Yuxiang

Inventor after: Zheng Lirong

Inventor before: Wang Deyu

Inventor before: Liang Longfei

Inventor before: Liu Lizheng

Inventor before: Zou Zhuo

Inventor before: Huan Yuxiang

Inventor before: Zheng Lirong

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant