Loading [MathJax]/jax/output/HTML-CSS/jax.js
高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

一种基于三维可变换CNN加速结构的并行度优化搜索算法

屈心媛 徐宇 黄志洪 蔡刚 方震

屈心媛, 徐宇, 黄志洪, 蔡刚, 方震. 一种基于三维可变换CNN加速结构的并行度优化搜索算法[J]. 电子与信息学报, 2022, 44(4): 1503-1512. doi: 10.11999/JEIT210059
引用本文: 屈心媛, 徐宇, 黄志洪, 蔡刚, 方震. 一种基于三维可变换CNN加速结构的并行度优化搜索算法[J]. 电子与信息学报, 2022, 44(4): 1503-1512. doi: 10.11999/JEIT210059
WANG Yang, LIU Yueyang, LIAO Xi, ZHOU Jihua, SONG Haozheng, REN Minghao, CHEN Qianbin. Research on Reflection and Transmission Characteristics of the Millimeter Wave Channel at 40~50 GHz for 6G ISAC[J]. Journal of Electronics & Information Technology, 2024, 46(1): 146-154. doi: 10.11999/JEIT221560
Citation: QU Xinyuan, XU Yu, HUANG Zhihong, CAI Gang, FANG Zhen. A Parallelism Strategy Optimization Search Algorithm Based on Three-dimensional Deformable CNN Acceleration Architecture[J]. Journal of Electronics & Information Technology, 2022, 44(4): 1503-1512. doi: 10.11999/JEIT210059

一种基于三维可变换CNN加速结构的并行度优化搜索算法

doi: 10.11999/JEIT210059
基金项目: 国家自然科学基金(61704173, 61974146),北京市科技重大专项(Z171100000117019)
详细信息
    作者简介:

    屈心媛:女,1994年生,博士生,研究方向为基于FPGA的CNN加速器架构设计

    徐宇:男,1990年生,博士,研究方向为大规模集成电路设计自动化

    黄志洪:男,1984年生,高级工程师,研究方向为可编程芯片设计与FPGA硬件加速

    蔡刚:男,1980年生,正高级工程师,硕士生导师,研究方向为集成电路设计、抗辐照加固设计、人工智能系统设计

    方震:男,1976年生,研究员,博士生导师,研究方向为新型医疗电子及医学人工智能技术

    通讯作者:

    黄志洪 huangzhihong@mail.ie.ac.cn

  • 1)本节给出的数据均为基于KCU1500的AlexNet加速器的实验结果。2) (Parain=1, Paraseg=2)相当于Parain=1/2;(Parain=3, Paraseg=5)相当于Parain=3/5;以此类推。
  • 中图分类号: TN47

A Parallelism Strategy Optimization Search Algorithm Based on Three-dimensional Deformable CNN Acceleration Architecture

Funds: The National Natural Science Foundation of China (61704173, 61974146), The Major Program of Beijing Science and Technology (Z171100000117019)
  • 摘要: 现场可编程门阵列(FPGA)被广泛应用于卷积神经网络(CNN)的硬件加速中。为优化加速器性能,Qu等人(2021)提出了一种3维可变换的CNN加速结构,但该结构使得并行度探索空间爆炸增长,搜索最优并行度的时间开销激增,严重降低了加速器实现的可行性。为此该文提出一种细粒度迭代优化的并行度搜索算法,该算法通过多轮迭代的数据筛选,高效地排除冗余的并行度方案,压缩了超过99%的搜索空间。同时算法采用剪枝操作删减无效的计算分支,成功地将计算所需时长从106 h量级减少到10 s内。该算法可适用于不同规格型号的FPGA芯片,其搜索得到的最优并行度方案性能突出,可在不同芯片上实现平均(R1, R2)达(0.957, 0.962)的卓越计算资源利用率。
  • 星基导航定位系统因其高精度的授时、定位、测距等优势广泛应用于现代国防和经济发展等领域[1]。该系统利用导航信号传递星基数据,需经长距离复杂信道环境到达地面,接收端采集的信号能量很微弱,易受到无线信道中噪声杂波与干扰信号的影响,因此针对星基定位接收机的抗干扰技术成为导航对抗领域的研究热点。

    星基导航定位系统的抗干扰方法有时域滤波,频域滤波和空域滤波3种类型。自适应空域滤波因其高效的抗干扰性能与简易的设备代价成为该系统主要抗干扰技术。现阶段的自适应空域滤波主要基于最大信干噪比(SINR)[2]与最小均方误差(MMSE)[3,4]准则而展开研究,相关学者在此基础上针对指向向量误差[5],相干干扰信号[6]以及色噪声干扰[7]等环境误差与有意干扰提出了鲁棒自适应滤波方法。从导航对抗角度出发,研究星基导航抗干扰性能的同时,亦需对己方为干扰方时的星基定位接收机干扰技术进行研究。当前国内外对自适应空域滤波干扰方法的研究很少,现存的为文献[8,9]提出闪烁信号干扰方法,通过调整干扰信号跳变速率,在干扰零陷收敛至稳态前变换干扰方式,使自适应天线不断循环反复进行迭代零陷无法收敛至稳态,但该方法仅适应于多干扰源且收敛速率慢的自适应滤波接收机。

    本文基于最小方差无失真(MVDR)自适应空域滤波方法,将海洋声场不均匀介质引起的声源信号空际间叠性下降的模型[10,11]应用至星基定位导航干扰信号中,提出了一种非完备空际间叠干扰信号模型,通过理论证明和实验仿真说明了非完备空际间叠干扰能够实现对自适应空域滤波零陷能力的抑制,降低星基定位接收机对导航信号的捕获效率。相同实验条件下与传统空域滤波零陷抑制方法相比,本文提出的非完备空际间叠空域滤波零陷抑制方法具有更明显的空域零陷能力抑制效果,使得星基导航接收机输出信干噪比明显降低。

    设天线阵列由M个全方向性的均匀间隔线性阵元组成,阵元间距为d,导航信号入射角为θd, x(t)=[x1(t),x2(t),···,xM(t)]T是阵列接收信号,可表示为

    x(t)=s(t)a(θd)+Qi=1ii(t)+n(t) (1)

    式中,Q为干扰信号数,a(θd)为导航信号的指向向量。pd=2πdsin(θd)/λo, a(θd)=[1,exp(jpd),···,exp(j(M1)pd)], λo为载波信号的波长,i(t)n(t)分别为干扰信号与噪声。s(t)为星基导航信号,本文采用L1波段传播的星基导航C/A码信号,其表达式为

    s(t)=EcC/A(t)dN/A(t)sin(2πfL1t+θL1) (2)

    式中,E表示信号能量,cC/A(t)为C/A伪随机扩频码,dN/A(t)表示导航电文信息数据码,L1表示载波频率,θL1为载波初相位。

    MVDR空域滤波方法基于最大SINR准则,保证期望信号无失真的前提下,使得阵列输出能量最小,约束关系为

    min{wHRw},wHa(θd)=1 (3)

    式中,w为阵列自适应权值向量,R为理想情况下干扰信号加噪声的相关矩阵。实际环境中无法获知干扰与噪声的相关矩阵,常以接收样本的协方差矩阵Rx=1KKk=1x(k)xH(k)替代计算,K为接收信号样本数。

    通过拉格朗日乘子法求得MVDR波束形成算法自适应权值为

    w=R1a(θd)aH(θd)R1a(θd) (4)

    则自适应阵列输出信号为

    y(t)=wHx(t) (5)

    MVDR自适应空域滤波对星基导航信号的处理过程可用图1表示。

    图 1  自适应空域滤波系统模型

    天线阵列模块将接收的导航信号传送至波束形成模块并与对应权值相乘叠加得到输出信号,输出信号反馈至自适应处理模块,调整通路对应的权值系数,使导航信号获取空域最优增益,同时在干扰信号方向进行零陷抑制,不断迭代反馈至自适应处理模块直至系统达到稳态。

    由第2节可知,星基定位接收机自适应空域滤波保证导航信号无损失增益的前提下,能够零陷抑制干扰信号,降低其对捕获性能的影响。但当干扰信号受不均匀随机振动介质或信道局部随机杂波影响时,干扰畸变非单秩点源,空际间叠性减弱,易于接收端产生角度能量扩散。基于以上考虑,本节提出非完备空际间叠干扰模型,对干扰引起的信号裂变效应进行了理论证明,同时推导了输出SINR与空际间叠长度的函数式,论证了非完备空际间叠干扰对星基定位接收机捕获性能的影响。

    若阵列接收的干扰信号为完备空际间叠干扰点源信号,则干扰信号相关矩阵模型为

    RI=σ2Ia(θI)aH(θI) (6)

    式中,σ2I为干扰信号的能量,a(θI)为干扰信号的指向向量,θI为干扰信号入射角度,设RIkl为干扰信号相关矩阵元素,则有

    RIkl=σ2Iexp[j(kl)pI],k,l=1,2,···,M (7)

    利用声场非均匀海洋波导环境下的非完备空际间叠声源模型,可以给出非完备空际间叠干扰相关矩阵元素模型为[1012]

    RIkl=σ2Iexp[j(kl)pI]gkl,k,l=1,2,···,M (8)

    式中,gkl为干扰信号的空际间叠系数,可以由海洋声场定义的空际间叠长度LI表示为

    gkl=exp((dLI|kl|)) (9)

    干扰空际间叠性随LI的增长而提高,空际间叠系数的取值区间为[0,1],设g=exp(d/LI),则gkl=g|kl|。由此可将非完备空际间叠干扰信号的相关矩阵表示为

    RI=FIGIFHI (10)

    式中,FI=diag{a(θI)}表示以干扰指向向量为对角元素的对角阵,GI=Toep{1,g,g2,···,gM1}表示干扰信号的空际间叠矩阵。

    结合式(1)和式(10)可以给出非完备空际间叠干扰下阵列接收信号自相关矩阵为

    R=σ2sa(θd)aH(θd)+σ2IFIGIFHI+σ2nI (11)

    本节基于3.1节中的干扰模型,对非完备空际间叠干扰引起的信号裂变效应进行证明,首先考虑干扰为非完备空际间叠信号时,GI中的元素g不为1,则由GI的形式可知其为托普利兹矩阵。根据托普利兹矩阵特征分解及拆分性质[13,14]可知,GI可拆分为式(12)形式

    GI=E(ϕ)DEH(ϕ)+λminI (12)
    E(ϕ)=[11···1ejϕ1ejϕ2···ejϕMmej(M1)ϕ1ej(M1)ϕ2···ej(M1)ϕMm]

    (13)

    D=diag(σ21,σ22,···,σ2Mm) (14)

    式中,λmin为矩阵GI的最小特征值,mGI最小特征值的重数,由GI元素的组成形式结合实对称托普利兹矩阵性质可知GI最小特征值重数为1,即m=1

    设矩阵C=GIλminI,矩阵Bdet(C)前阶主子式构成的矩阵,则由矩阵形式可得B最小零特征值的重数为1[14]。设v=(v0,v2,···,vM1)为其最小特征值构成的特征向量,则矩阵E(Ψ)中的元素ejϕi可由式(15)的第i个解求得[14]

    M1t=0vtzt=0 (15)

    式中,系数vt为向量v的组成元素。

    矩阵D可通过式(16)求得

    D=E+(ϕ)CE(ϕ) (16)

    式中,E+(ϕ)E(ϕ)广义逆矩阵。

    结合式(16),将式(12)代入到式(11)中,则有

    \begin{aligned}
      {{R}} = &  \sigma _{\rm s}^2{{a}}\!\left( {{\theta _{\rm d}}} \right){{{a}}^{\rm{H}}}\!\left( {{\theta _{\rm d}}} \right) + \sigma _{\rm I}^2{{{F}}\!_{\rm I}}{{E}}\!\left( \phi  \right)\!{{D}}{{{E}}^{\rm{H}}}\!\left( \phi  \right){{F}}\!_{\rm I}^\,{\rm{H}} \\
      & + \left( {{\lambda _{\min }}\sigma _{\rm I}^2 + \sigma _{\rm n}^2} \right){{I}}  \\
    = &  \sigma _{\rm s}^2{{a}}\!\left( {{\theta _{\rm d}}} \right){{{a}}^{\rm{H}}}\!\left( {{\theta _{\rm d}}} \right) \!+\! {{Q}}\!\left( {{\theta _{\rm I}},\phi } \right)\!{{{D}}_{\rm I}}{{{Q}}^{\rm{H}}}\left( {{\theta _{\rm I}},\phi } \right) \!+\! {{\overline\overline  \sigma _n^2}} {{I}}  
    \end{aligned}

    (17)

    式(17)中,

    Q(θI,ϕ)=FIE(ϕ) (18)
    DI=σ2ID=diag(σ2Iσ21,σ2Iσ22,···,σ2Iσ2M1)=diag(d1,d2,···,dM1) (19)

    矩阵Q(θI,ϕ)中的元素[Q(θI,ϕ)]kl可以表示为

    [Q(θI,ϕ)]kl=ej(k1)(ϕl+pI),k=1,2,···,M,l=1,2,···,M1 (20)

    结合式(18)与式(19)对Q(θI,ϕ)DIQH(θI,ϕ)进一步计算可得

    Q(θI,ϕ)DIQH(θIϕ)=[M1k=1dkM1k=1dkej(pI+ϕk)···M1k=1dkejM(pI+ϕk)M1k=1dkej(pI+ϕk)M1k=1dkej2(pI+ϕk)···M1k=1dkej(M+1)(pI+ϕk)M1k=1dkej(M1)(pI+ϕk)M1k=1dkejM(pI+ϕk)···M1k=1dkej2(M1)(pI+ϕk)] (21)

    现考虑阵列接收到M1个不同入射角度互不相关的干扰信号,假设第m个干扰信号的能量和入射角度分别为σ2mθIm,则阵列接收的M1个干扰可以表示为

    I(t)=M1m=1im(t)a(θIm) (22)

    其中,

    a(θIm)=[a1(θIm),a2(θIm),···,aM(θIm)] (23)
    ak(θIm)=exp(j(k1)pIm),k=1,2,···,M (24)
    pIm=2πdsin(θIm)λo (25)

    M1个干扰的相关函数为

    RIM1=E[IH(t)I(t)]=[M1m=1σ2mM1m=1σ2mejpm···M1m=1σ2mej(M1)pmM1m=1σ2mejpmM1m=1σ2mej2pm···M1m=1σ2mejMpmM1m=1σ2mej(M1)pmM1m=1σ2mejMpm···M1m=1σ2mej2(M1)pm] (26)

    比较式(21)和式(26)可以看出二者形式上相似,仅在矩阵元素组成部分相差指数形式的初相位。由此可见式(26)形式上表达的物理意义与式(21)相同,可以等效为阵列接收到M1个互不相关的入射干扰信号。由组成DI元素的形式可将第m个入射干扰信号能量等效为

    dm=σ2Iσ2m (27)

    又由[Q(θI,ϕ)]kl=ej(k1)(ϕl+pI)可知,若pm=pI+ϕl,则可求得干扰信号等效入射角度

    θIm=arcsin[λIm(pI+ϕI)2πd],θIm(π,π) (28)

    由3.1节可知,干扰空际间叠性越弱,GI中的元素g越小,求得ϕl值越大[14],因而裂变信号入射角度差也即越大,干扰信号裂变效应越明显,等效的入射干扰信号越多,表明干扰信号消耗了自适应波束阵列更多的自由度,导致阵列抑制干扰的能力减弱,降消了星基定位接收机的捕获性能。

    本节对星基定位接收机输出信干噪比与空际间叠长度的函数式展开推究论证。

    由于星基导航信号已于国际星基卫星标准公开运营,因此可假设输入星基导航信号相关函数Rs已知,输入干扰信号与噪声的相关函数Rin=RRs,则有

    SINRMVDR=wHRswwHRwwHRsw=wHRswwHRinw (29)

    w=Rin1a(θd)/(aH(θd)Rin1a(θd))代入到式(29)中,可以得到

    SINRMVDR=aH(θd)R1inRsR1ina(θd)aH(θd)R1ina(θd) (30)

    Rs=σ2saH(θd)a(θd)代入到式(30)中,可以得到

    SINRMVDR=σ4sσ2nMaH(θd)R1ina(θd) (31)
    Rin=RI+σ2nI (32)

    RI进行特征值分解有

    RI=Mj=1λjejeHj (33)
    R1I=Mj=11λjejeHj (34)

    式中,λjRI的第j个特征值,ej为对应的特征向量。

    将式(34)代入到式(32)的逆矩阵中并进行泰勒级数展开可得

    R1in=Mj=11λjejeHjσ2nMj=11λ2jejeHj+σ4nMj=11λ3jejeHj··· (35)

    假设干扰信号的功率远大于噪声功率,因而可忽略R1in展开后阶数大于2的高次项,得到

    R1inMj=11λjejeHjσ2nMj=11λ2jejeHj (36)

    利用式(36)可将式(31)改写为

    SINRMVDR=σ4sσ2nMaH(θd)R1I(Iσ2nR1I)aH(θd) (37)

    利用空际间叠矩阵GI可将式(37)进一步计算得到

    SINRMVDR=σ2sσ2IaH(θd)FIG1IFHIaH(θd) (38)

    GI求逆并代入式(38)计算可得

    SINRMVDR=σ2sσ2I[M+(M2)g22g(M1)cospdI] (39)

    式中,gGI中的元素,pdI=|pdpI|

    通过分析式(39)给出的SINRMVDR解析式可知,SINRMVDR为空际间叠矩阵元素g的单调递减函数。则由3.1节给出g的表达式可知,当阵元间距d固定时,g若增大,干扰空际间叠长度LI长度减小,表明干扰信号的空际间叠性降低,对应接收机的SINRMVDR降低,导致星基定位接收机性能下降。

    为验证理论分析的正确性,评估干扰信号的空际间叠性对星基导航信号捕获性能的影响,现以星基信号中的C/A码为例,从空间方向图、输出SINR以及3维频码域相关峰值捕获3方面衡量非完备空际间叠干扰的作用效果,同时与传统的点源干扰空域滤波抑制方法进行比较,实验以空际间叠长度与阵列孔径比例Ra作为干扰空际间叠性的表征标准。考虑到星基导航定位接收机应用环境与场所限制,阵元数不宜过多,具体的仿真环境参数如表1所示。

    表 1  仿真实验参数设置
    载波频率1.57542 GHz
    阵元间距0.5波长
    信道环境高斯白噪声信道
    干扰类型随机噪声干扰
    阵元数目8
    期望信号入射方位10°
    干扰信号入射方位50°
    阵列形状均匀线性阵列天线
    下载: 导出CSV 
    | 显示表格

    本节实验对不同空际间叠性干扰下的星基定位接收机方向图进行仿真研究,由于实际环境中星基导航信号能量微弱,因此本文设置干信比为30 dB,信噪比设置为–10 dB

    比较图2中方向图可知,当Ra=0.5时,MVDR空域滤波虽然在星基导航C/A码信号方向无损失增益,但在干扰信号方向未能形成明显零陷。当Ra提高至2.0时,干扰入射方向抑制增益有所提升,可达50dB左右,但此时形成的较深零陷位置相对干扰方向仍有所偏移,未能在干扰方向形成最深零陷。当Ra达到15.0时,方向图能够在干扰信号方向形成最深零陷,且无位置偏移,同时也可观察到在最深零陷位置偏移处有零陷毛刺,这是由于信号裂变产生相近角度差干扰导致零陷凹深分离造成。

    图 2  不同Ra下波束方向图

    本节在与上节相同仿真实验条件下,考察空际间叠长度比例对输出信干噪比的影响。同时对基于MVDR算法的两种改进的鲁棒自适应空域滤波方法LSMI算法[15]和SQR算法[16]进行仿真,考察空际间叠干扰对鲁棒空域滤波的零陷抑制效果。信噪比变化范围为[10,30]dB,步长取2dB

    图3可知3种自适应滤波算法的输出SINR均随空际间叠长度比例的提高而增大,验证了3.3节给出的星基定位接收机输出SINR与空际间叠长度的函数单调关联性。当Ra=0.5,输出SINR最低,相比其他两种比例情况大约相差1020dB左右,Ra=2.0Ra=0.5时的输出SINR差幅较小。由图3(b)图3(c)可见,LSMI算法和SQP算法在不同Ra下与图3(a)MVDR算法有相似的变化趋势,但相比于MVDR算法,LSMI算法和SQP算法改进了约束条件,使得算法对干扰噪声和环境误差更鲁棒,因此输出SINR略高于MVDR算法。但3种算法在输入SNR较小时的输出SINR均有明显下降,这是由于空际间叠性减弱引起的信号裂变效应造成。

    图 3  不同算法输出SINR性能比较

    本节对不同空际间叠性干扰作用下的星基定位接收机捕获性能展开研究。信噪比设置为30dB,干信比设置为40dB, C/A码初相位设置为1900,为避免引入较大频偏,本文设置的多普勒频移为45 Hz。观察图4(a)可知,当Ra=0.5,相关函数幅度杂乱无章,仅可观察到微弱的尖峰幅度,难以在多普勒频移和C/A码相位轴上分辨尖峰位置,且在两坐标轴上的相关幅度起伏变化较大,影响峰值位置判断。当Ra增至2.0时,可以观察到明显的相关函数峰值突起,且相关函数幅度分布平缓,无明显起伏或剧烈幅度差值。Ra达到15.0时,相关函数幅度的尖峰变得非常突出,坐标轴幅度分布均匀,起伏很小,与突出峰值差异显著,从C/A码相位和多普勒频移两坐标轴上可有效提取相关峰值位于C/A码初始相位1900处,在多普勒频移轴上则出现在45 Hz处,与实验设置的初始条件相同,实现了对星基导航信号的有效捕获。

    图 4  不同Ra下相关捕获结果图

    本节将基于点源干扰方式的传统空域滤波抑制方法与非完备空际间叠空域滤波抑制进行性能比较,为检测两种空域滤波抑制方法对零陷抑制的效果,本节分别设置了不同阵元数的实验条件,考察不同空域滤波抑制方法的干扰效果。通过星基导航接收机输出信干噪比的反馈实验效果分析本文方法与传统方法的空域零陷抑制能力。阵元数分别设置为10, 15和20,干信比设置为30 dB,其余实验条件设置与表1相同。

    观察图5(a)可知,传统空域滤波抑制方法在相同信噪比点上的输出SINR均高于3种Ra情况中的空际间叠抑制方法,这是由于传统空域滤波抑制方法采用点源信号的干扰方式,仅消耗单点源干扰对应的单阵列自由度,对多阵元的天线空域滤波抑制能力不明显,而空际间叠干扰由于信号裂变效应可以产生多个等效的干扰信号,提高了阵列自由度的消耗容量,进一步降低星基导航接收机的输出SINR。从图5(b)图5(c)可以看出,随着阵元数的增多,不同空域滤波抑制方法的输出SINR有所提升,在不同信噪比上的输出SINR幅差减小,这是由于阵元数的增多能够提高阵列的零陷自由度,使得信号裂变产生的等效干扰信号被有效抑制,提高了星基导航接收机输出信干噪比,同时由于阵元数的提高大幅减弱了空际间叠性消耗的自由度,进一步降低了不同空际间叠性信号的干扰效果差异,缩小了不同输入SNR比例下的信干噪比差值容度。由此可见,空际间叠空域滤波抑制法的零陷抑制能力明显优于传统方法。

    图 5  不同阵元数下相关算法输出SINR性能比较

    针对星基定位接收机捕获导航信号干扰问题,本文提出了一种非完备空际间叠干扰模型,证明了非完备空际间叠干扰引起的信号裂变效应,推导分析了输出SINR与干扰信号空际间叠长度的函数式及单调关联性,考察了不同空际间叠扰长度比例对星基导航信号捕获性能的影响,实验对照了传统空域滤波抑制方法与空际间叠干扰方法零陷抑制的能力效果。仿真实验表明本文提出的非完备空际间叠干扰模型能够降低星基定位接收机的捕获性能,相比传统方法具有更强的空域滤波抑制能力。

    1)本节给出的数据均为基于KCU1500的AlexNet加速器的实验结果。2) (Parain=1, Paraseg=2)相当于Parain=1/2;(Parain=3, Paraseg=5)相当于Parain=3/5;以此类推。
  • 图  1  CNN加速器单层结构示意图

    图  2  矩阵卷积分段计算示意图

    图  3  β=0.20时,算法搜索的计算量随α的变化情况

    图  4  基于不同规格FPGA的AlexNet加速器性能随(α, β)变化色温图

    表  1  AlexNet网络结构参数

    NinNoutSIZEinSIZEoutSIZEkerStrideNpad
    CONV1396227551140
    POOL196965527320
    CONV2482562727512
    POOL22562562713320
    CONV32563841313311
    CONV41923841313311
    CONV51922561313311
    POOL5256256136320
    FC19216409611
    FC24096409611
    FC34096100011
    下载: 导出CSV

    表  2  不同FPGA CNN加速器的资源利用率

    文献VGG文献AlexNet
    R1R2R1R2
    [5]0.80.8[3]0.320.38
    [11]0.710.71[4]0.420.55
    [14]0.770.84[6]0.500.85
    [8]0.780.99[8]0.670.76
    [15]0.660.80[14]0.620.78
    下载: 导出CSV

    表  3  细粒度并行度迭代算法

     输入:片上可用DSP数#DSPlimit、可用BRAM数量#BRAMlimit、CNN网络结构参数及α, β
     输出:Parain,Paraout及Paraseg
     (1) 计算各层计算量#OPi与网络总计算量#OPtotal之比γi
     (2) 按照计算量分布比例将片上可用DSP分配给各层,各层分配到的DSP数#DSPiallocγi·#DSPtotal
     (3)根据计算总量和计算资源总数,算出理论最小计算周期数#cyclebaseline
     (4) 第i层,遍历Parain,Paraout及ROWout的所有离散可行取值(即3者定义域形成的笛卡儿积),生成全组合情况下的并行度参数配置
       集S0i,计算对应的#cyclei、#BRAMi与#DSPi
     (5) 筛选满足α, β约束的数据集Si
     Si←select ele from S0i where (#cyclei/#cyclebaseline in [1–α,1+α] and #DSPi/#DSPialloc in [1–β,1+β])
     (6)数据粗筛,集合Si:任意相邻的两个元素不存在“KO”偏序关系。
       for i in range(5):
         orders←[(cycle, dsp, bram), (dsp, cycle, bram), (bram, cycle, dsp)]
         for k in range(3):
           Si.sort_ascend_by(orders[k])
           p←0
           for j in range(1, size(Si)):
             if σj KO σp then Si.drop(σp), pj
             else Si.drop(σj)
         SiSi
     (7)数据精筛,集合Ti:任意两个元素不存在“KO”偏序关系。
      for i in range(5):
       Si.sort_ascend_by((cycle,dsp,bram))
       for j in range(1, size(Si)):
          for k in range(j):
           if σk KO σj then S’i.drop(σj), break
       TiS’i
     (8)搜索剪枝。
      maxCycle←INT_MAX, dspUsed←0, bramUsed←0
      def calc(i):
       if i==5 then
         update(maxCycle)
         return
       for j in range(size(Ti)):
         tmpDsp←dspUsed+dspji, tmpBram←bramUsed+bramji
         if not(tmpDsp>dspTotal or tmpBram>bramTotal or
           cycleji≥maxCycle) then
           dspUsed←tmpDsp, bramUsed←tmpBram
           calc(i+1)
           dspUsed←tmpDsp-dspji, bramUsed←tmpBram-bramji
         else
           continue
      calc(0)
     (9)选出maxCycle(即min{max{#cyclei}})对应的并行度元素,输出约束条件下最优并行度的参数信息。
    下载: 导出CSV

    表  4  不同规格FPGA上AlexNet加速器资源利用率、计算量与计算时长

    FPGA型号DSP资源数R1R2原始计算量压缩比(%)执行时间(s)
    Arria10 GT 115015180.9870.9895.683×10799.8921.544
    KU06027600.9470.9513.026×10899.9796.444
    Virtex7 VX485T28000.9360.9419.903×10899.9945.841
    Virtex7 VX690T36000.9600.9672.082×10899.9982.775
    KCU150055200.9550.9625.772×10999.9998.115
    下载: 导出CSV

    表  5  AlexNet加速器性能对比

    型号文献[4]文献[11]文献[12]文献[8]本文
    量化位宽16 bit定点16 bit定点16 bit定点16 bit定点16 bit定点
    频率(MHz)250/500200150220230
    FPGA型号KCU1500Arria10GX1150ZynqXC7Z045KCU1500KCU1500
    吞吐率(GOP/s)2335.4584.8137.01633.02425.5
    性能功耗比(GOP/s/W)37.31无数据14.2172.3162.35
    资源利用率(R1, R2)(0.42, 0.55)(0.48, 0.48)(0.51, 0.59)(0.67, 0.76)(0.96, 0.96)
    下载: 导出CSV
  • [1] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278–2324. doi: 10.1109/5.726791
    [2] QU Xinyuan, HUANG Zhihong, XU Yu, et al. Cheetah: An accurate assessment mechanism and a high-throughput acceleration architecture oriented toward resource efficiency[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2021, 40(5): 878–891. doi: 10.1109/TCAD.2020.3011650
    [3] REGGIANI E, RABOZZI M, NESTOROV A M, et al. Pareto optimal design space exploration for accelerated CNN on FPGA[C]. 2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), Rio de Janeiro, Brazil, 2019: 107–114. doi: 10.1109/IPDPSW.2019.00028.
    [4] YU Xiaoyu, WANG Yuwei, MIAO Jie, et al. A data-center FPGA acceleration platform for convolutional neural networks[C]. 2019 29th International Conference on Field Programmable Logic and Applications (FPL), Barcelona, Spain, 2019: 151–158. doi: 10.1109/FPL.2019.00032.
    [5] LIU Zhiqiang, CHOW P, XU Jinwei, et al. A uniform architecture design for accelerating 2D and 3D CNNs on FPGAs[J]. Electronics, 2019, 8(1): 65. doi: 10.3390/electronics8010065
    [6] LI Huimin, FAN Xitian, JIAO Li, et al. A high performance FPGA-based accelerator for large-scale convolutional neural networks[C]. 2016 26th International Conference on Field Programmable Logic and Applications (FPL), Lausanne, Swiss, 2016: 1–9. doi: 10.1109/FPL.2016.7577308.
    [7] QIU Jiantao, WANG Jie, YAO Song, et al. Going deeper with embedded FPGA platform for convolutional neural network[C]. The 2016 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, California, USA, 2016: 26–35.
    [8] ZHANG Xiaofan, WANG Junsong, ZHU Chao, et al. DNNBuilder: An automated tool for building high-performance DNN hardware accelerators for FPGAs[C]. 2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), San Diego, USA, 2018: 1–8. doi: 10.1145/3240765.3240801.
    [9] LIU Zhiqiang, DOU Yong, JIANG Jingfei, et al. Automatic code generation of convolutional neural networks in FPGA implementation[C]. 2016 International Conference on Field-Programmable Technology (FPT), Xi’an, China, 2016: 61–68. doi: 10.1109/FPT.2016.7929190.
    [10] KRIZHEVSKY A, SUTSKEVER I, and HINTON G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84–90. doi: 10.1145/3065386
    [11] MA Yufei, CAO Yu, VRUDHULA S, et al. Optimizing the convolution operation to accelerate deep neural networks on FPGA[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2018, 26(7): 1354–1367. doi: 10.1109/TVLSI.2018.2815603
    [12] GUO Kaiyuan, SUI Lingzhi, QIU Jiantao, et al. Angel-Eye: A complete design flow for mapping CNN onto embedded FPGA[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2018, 37(1): 35–47. doi: 10.1109/TCAD.2017.2705069
    [13] ZHANG Chen, SUN Guangyu, FANG Zhenman, et al. Caffeine: Toward uniformed representation and acceleration for deep convolutional neural networks[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2019, 38(11): 2072–2085. doi: 10.1109/TCAD.2017.2785257
    [14] ZHANG Jialiang and LI Jing. Improving the performance of OpenCL-based FPGA accelerator for convolutional neural network[C]. The 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, California, USA, 2017: 25–34. doi: 10.1145/3020078.3021698.
    [15] LIU Zhiqiang, DOU Yong, JIANG Jingfei, et al. Throughput-optimized FPGA accelerator for deep convolutional neural networks[J]. ACM Transactions on Reconfigurable Technology and Systems, 2017, 10(3): 17. doi: 10.1145/3079758
  • 期刊类型引用(0)

    其他类型引用(1)

  • 加载中
图(4) / 表(5)
计量
  • 文章访问数:  1123
  • HTML全文浏览量:  468
  • PDF下载量:  110
  • 被引次数: 1
出版历程
  • 收稿日期:  2021-01-08
  • 修回日期:  2021-08-04
  • 网络出版日期:  2021-09-09
  • 刊出日期:  2022-04-18

目录

/

返回文章
返回