A Parallelism Strategy Optimization Search Algorithm Based on Three-dimensional Deformable CNN Acceleration Architecture
-
摘要: 现场可编程门阵列(FPGA)被广泛应用于卷积神经网络(CNN)的硬件加速中。为优化加速器性能,Qu等人(2021)提出了一种3维可变换的CNN加速结构,但该结构使得并行度探索空间爆炸增长,搜索最优并行度的时间开销激增,严重降低了加速器实现的可行性。为此该文提出一种细粒度迭代优化的并行度搜索算法,该算法通过多轮迭代的数据筛选,高效地排除冗余的并行度方案,压缩了超过99%的搜索空间。同时算法采用剪枝操作删减无效的计算分支,成功地将计算所需时长从106 h量级减少到10 s内。该算法可适用于不同规格型号的FPGA芯片,其搜索得到的最优并行度方案性能突出,可在不同芯片上实现平均(R1, R2)达(0.957, 0.962)的卓越计算资源利用率。Abstract: Field Programmable Gate Array (FPGA) is widely used in Convolutional Neural Network (CNN) hardware acceleration. For better performance, a three-dimensional transformable CNN acceleration structure is proposed by Qu et al (2021). However, this structure brings an explosive growth of the parallelism strategy exploration space, thus the time cost to search the optimal parallelism has surged, which reduces severely the feasibility of accelerator implementation. To solve this issue, a fine-grained iterative optimization parallelism search algorithm is proposed in this paper. The algorithm uses multiple rounds of iterative data filtering to eliminate efficiently the redundant parallelism schemes, compressing more than 99% of the search space. At the same time, the algorithm uses pruning operation to delete invalid calculation branches, and reduces successfully the calculation time from 106 h to less than 10 s. The algorithm can achieve outstanding performance in different kinds of FPGAs, with an average computing resource utilization (R1, R2) up to (0.957, 0.962).
-
1. 引言
星基导航定位系统因其高精度的授时、定位、测距等优势广泛应用于现代国防和经济发展等领域[1]。该系统利用导航信号传递星基数据,需经长距离复杂信道环境到达地面,接收端采集的信号能量很微弱,易受到无线信道中噪声杂波与干扰信号的影响,因此针对星基定位接收机的抗干扰技术成为导航对抗领域的研究热点。
星基导航定位系统的抗干扰方法有时域滤波,频域滤波和空域滤波3种类型。自适应空域滤波因其高效的抗干扰性能与简易的设备代价成为该系统主要抗干扰技术。现阶段的自适应空域滤波主要基于最大信干噪比(SINR)[2]与最小均方误差(MMSE)[3,4]准则而展开研究,相关学者在此基础上针对指向向量误差[5],相干干扰信号[6]以及色噪声干扰[7]等环境误差与有意干扰提出了鲁棒自适应滤波方法。从导航对抗角度出发,研究星基导航抗干扰性能的同时,亦需对己方为干扰方时的星基定位接收机干扰技术进行研究。当前国内外对自适应空域滤波干扰方法的研究很少,现存的为文献[8,9]提出闪烁信号干扰方法,通过调整干扰信号跳变速率,在干扰零陷收敛至稳态前变换干扰方式,使自适应天线不断循环反复进行迭代零陷无法收敛至稳态,但该方法仅适应于多干扰源且收敛速率慢的自适应滤波接收机。
本文基于最小方差无失真(MVDR)自适应空域滤波方法,将海洋声场不均匀介质引起的声源信号空际间叠性下降的模型[10,11]应用至星基定位导航干扰信号中,提出了一种非完备空际间叠干扰信号模型,通过理论证明和实验仿真说明了非完备空际间叠干扰能够实现对自适应空域滤波零陷能力的抑制,降低星基定位接收机对导航信号的捕获效率。相同实验条件下与传统空域滤波零陷抑制方法相比,本文提出的非完备空际间叠空域滤波零陷抑制方法具有更明显的空域零陷能力抑制效果,使得星基导航接收机输出信干噪比明显降低。
2. 基于MVDR空域滤波的星基导航信号处理
2.1 星基导航信号接收模型
设天线阵列由
M 个全方向性的均匀间隔线性阵元组成,阵元间距为d ,导航信号入射角为θd ,x(t)= [x1(t),x2(t),···,xM(t)]T 是阵列接收信号,可表示为x(t)=s(t)a(θd)+Q∑i=1ii(t)+n(t) (1) 式中,
Q 为干扰信号数,a(θd) 为导航信号的指向向量。pd=2πdsin(θd)/λo ,a(θd)=[1,exp(jpd),···, exp(j(M−1)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 为载波初相位。2.2 MVDR自适应滤波处理星基导航信号
MVDR空域滤波方法基于最大SINR准则,保证期望信号无失真的前提下,使得阵列输出能量最小,约束关系为
min{wHRw},wHa(θd)=1 (3) 式中,
w 为阵列自适应权值向量,R 为理想情况下干扰信号加噪声的相关矩阵。实际环境中无法获知干扰与噪声的相关矩阵,常以接收样本的协方差矩阵Rx=1KK∑k=1x(k)xH(k) 替代计算,K 为接收信号样本数。通过拉格朗日乘子法求得MVDR波束形成算法自适应权值为
w=R−1a(θd)aH(θd)R−1a(θd) (4) 则自适应阵列输出信号为
y(t)=wHx(t) (5) MVDR自适应空域滤波对星基导航信号的处理过程可用图1表示。
天线阵列模块将接收的导航信号传送至波束形成模块并与对应权值相乘叠加得到输出信号,输出信号反馈至自适应处理模块,调整通路对应的权值系数,使导航信号获取空域最优增益,同时在干扰信号方向进行零陷抑制,不断迭代反馈至自适应处理模块直至系统达到稳态。
3. 非完备空际间叠干扰对星基定位接收机的影响
由第2节可知,星基定位接收机自适应空域滤波保证导航信号无损失增益的前提下,能够零陷抑制干扰信号,降低其对捕获性能的影响。但当干扰信号受不均匀随机振动介质或信道局部随机杂波影响时,干扰畸变非单秩点源,空际间叠性减弱,易于接收端产生角度能量扩散。基于以上考虑,本节提出非完备空际间叠干扰模型,对干扰引起的信号裂变效应进行了理论证明,同时推导了输出SINR与空际间叠长度的函数式,论证了非完备空际间叠干扰对星基定位接收机捕获性能的影响。
3.1 非完备空际间叠干扰信号模型
若阵列接收的干扰信号为完备空际间叠干扰点源信号,则干扰信号相关矩阵模型为
RI=σ2Ia(θI)aH(θI) (6) 式中,
σ2I 为干扰信号的能量,a(θI) 为干扰信号的指向向量,θI 为干扰信号入射角度,设RIkl 为干扰信号相关矩阵元素,则有RIkl=σ2Iexp[−j(k−l)pI],k,l=1,2,···,M (7) 利用声场非均匀海洋波导环境下的非完备空际间叠声源模型,可以给出非完备空际间叠干扰相关矩阵元素模型为[10—12]
⌢RIkl=σ2Iexp[−j(k−l)pI]gkl,k,l=1,2,···,M (8) 式中,
gkl 为干扰信号的空际间叠系数,可以由海洋声场定义的空际间叠长度LI 表示为gkl=exp(−(dLI|k−l|)) (9) 干扰空际间叠性随
LI 的增长而提高,空际间叠系数的取值区间为[0,1] ,设g=exp(−d/LI) ,则gkl=g|k−l| 。由此可将非完备空际间叠干扰信号的相关矩阵表示为⌢RI=FIGIFHI (10) 式中,
FI=diag{a(θI)} 表示以干扰指向向量为对角元素的对角阵,GI=Toep{1,g,g2,···,gM−1} 表示干扰信号的空际间叠矩阵。结合式(1)和式(10)可以给出非完备空际间叠干扰下阵列接收信号自相关矩阵为
R=σ2sa(θd)aH(θd)+σ2IFIGIFHI+σ2nI (11) 3.2 非完备空际间叠引起干扰信号裂变
本节基于3.1节中的干扰模型,对非完备空际间叠干扰引起的信号裂变效应进行证明,首先考虑干扰为非完备空际间叠信号时,
GI 中的元素g 不为1,则由GI 的形式可知其为托普利兹矩阵。根据托普利兹矩阵特征分解及拆分性质[13,14]可知,GI 可拆分为式(12)形式GI=E(ϕ)DEH(ϕ)+λminI (12) E(ϕ)=[11···1ejϕ1ejϕ2···ejϕM−m⋮⋮⋱⋮ej(M−1)ϕ1ej(M−1)ϕ2···ej(M−1)ϕM−m] (13)
D=diag(σ21,σ22,···,σ2M−m) (14) 式中,
λmin 为矩阵GI 的最小特征值,m 为GI 最小特征值的重数,由GI 元素的组成形式结合实对称托普利兹矩阵性质可知GI 最小特征值重数为1,即m=1 。设矩阵
C=GI−λminI ,矩阵B 为det(C) 前阶主子式构成的矩阵,则由矩阵形式可得B 最小零特征值的重数为1[14]。设v=(v0,v2,···,vM−1) 为其最小特征值构成的特征向量,则矩阵E(Ψ) 中的元素ejϕi 可由式(15)的第i 个解求得[14]M−1∑t=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σ2M−1)=diag(d1,d2,···,dM−1) (19) 矩阵
Q(θI,ϕ) 中的元素[Q(θI,ϕ)]kl 可以表示为[Q(θI,ϕ)]kl=ej(k−1)(ϕl+pI),k=1,2,···,M,l=1,2,···,M−1 (20) 结合式(18)与式(19)对
Q(θI,ϕ)DIQH(θI,ϕ) 进一步计算可得Q(θI,ϕ)DIQH(θIϕ)=[M−1∑k=1dkM−1∑k=1dkej(pI+ϕk)···M−1∑k=1dkejM(pI+ϕk)M−1∑k=1dkej(pI+ϕk)M−1∑k=1dkej2(pI+ϕk)···M−1∑k=1dkej(M+1)(pI+ϕk)⋮⋮⋱⋮M−1∑k=1dkej(M−1)(pI+ϕk)M−1∑k=1dkejM(pI+ϕk)···M−1∑k=1dkej2(M−1)(pI+ϕk)] (21) 现考虑阵列接收到
M−1 个不同入射角度互不相关的干扰信号,假设第m 个干扰信号的能量和入射角度分别为σ2m 和θIm ,则阵列接收的M−1 个干扰可以表示为I(t)=M−1∑m=1im(t)a(θIm) (22) 其中,
a(θIm)=[a1(θIm),a2(θIm),···,aM(θIm)] (23) ak(θIm)=exp(j(k−1)pIm),k=1,2,···,M (24) pIm=2πdsin(θIm)λo (25) 则
M−1 个干扰的相关函数为RIM−1=E[IH(t)I(t)]=[M−1∑m=1σ2mM−1∑m=1σ2mejpm···M−1∑m=1σ2mej(M−1)pmM−1∑m=1σ2mejpmM−1∑m=1σ2mej2pm···M−1∑m=1σ2mejMpm⋮⋮⋱⋮M−1∑m=1σ2mej(M−1)pmM−1∑m=1σ2mejMpm···M−1∑m=1σ2mej2(M−1)pm] (26) 比较式(21)和式(26)可以看出二者形式上相似,仅在矩阵元素组成部分相差指数形式的初相位。由此可见式(26)形式上表达的物理意义与式(21)相同,可以等效为阵列接收到
M−1 个互不相关的入射干扰信号。由组成DI 元素的形式可将第m 个入射干扰信号能量等效为dm=σ2Iσ2m (27) 又由
[Q(θI,ϕ)]kl=ej(k−1)(ϕl+pI) 可知,若pm=pI +ϕl ,则可求得干扰信号等效入射角度θIm=arcsin[λIm(pI+ϕI)2πd],θIm∈(−π,π) (28) 由3.1节可知,干扰空际间叠性越弱,
GI 中的元素g 越小,求得ϕl 值越大[14],因而裂变信号入射角度差也即越大,干扰信号裂变效应越明显,等效的入射干扰信号越多,表明干扰信号消耗了自适应波束阵列更多的自由度,导致阵列抑制干扰的能力减弱,降消了星基定位接收机的捕获性能。3.3 空际间叠长度与输出SINR的关系
本节对星基定位接收机输出信干噪比与空际间叠长度的函数式展开推究论证。
由于星基导航信号已于国际星基卫星标准公开运营,因此可假设输入星基导航信号相关函数
Rs 已知,输入干扰信号与噪声的相关函数Rin=R−Rs ,则有SINRMVDR=wHRswwHRw−wHRsw=wHRswwHRinw (29) 将
w=Rin−1a(θd)/(aH(θd)Rin−1a(θd)) 代入到式(29)中,可以得到SINRMVDR=aH(θd)R−1inRsR−1ina(θd)aH(θd)R−1ina(θd) (30) 把
Rs=σ2saH(θd)a(θd) 代入到式(30)中,可以得到SINRMVDR=σ4sσ2nMaH(θd)R−1ina(θd) (31) Rin=RI+σ2nI (32) 对
RI 进行特征值分解有RI=M∑j=1λjejeHj (33) R−1I=M∑j=11λjejeHj (34) 式中,
λj 为RI 的第j 个特征值,ej 为对应的特征向量。将式(34)代入到式(32)的逆矩阵中并进行泰勒级数展开可得
R−1in=M∑j=11λjejeHj−σ2nM∑j=11λ2jejeHj+σ4nM∑j=11λ3jejeHj−··· (35) 假设干扰信号的功率远大于噪声功率,因而可忽略
R−1in 展开后阶数大于2的高次项,得到R−1in≈M∑j=11λjejeHj−σ2nM∑j=11λ2jejeHj (36) 利用式(36)可将式(31)改写为
SINRMVDR=σ4sσ2nMaH(θd)⋅R−1I(I−σ2nR−1I)aH(θd) (37) 利用空际间叠矩阵
GI 可将式(37)进一步计算得到SINRMVDR=σ2sσ2IaH(θd)FIG−1IFHIaH(θd) (38) 对
GI 求逆并代入式(38)计算可得SINRMVDR=σ2sσ2I[M+(M−2)g2−2g(M−1)cospdI] (39) 式中,
g 为GI 中的元素,pdI=|pd−pI| 。通过分析式(39)给出的
SINRMVDR 解析式可知,SINRMVDR 为空际间叠矩阵元素g 的单调递减函数。则由3.1节给出g 的表达式可知,当阵元间距d 固定时,g 若增大,干扰空际间叠长度LI 长度减小,表明干扰信号的空际间叠性降低,对应接收机的SINRMVDR 降低,导致星基定位接收机性能下降。4. 仿真实验与性能分析
为验证理论分析的正确性,评估干扰信号的空际间叠性对星基导航信号捕获性能的影响,现以星基信号中的C/A码为例,从空间方向图、输出SINR以及3维频码域相关峰值捕获3方面衡量非完备空际间叠干扰的作用效果,同时与传统的点源干扰空域滤波抑制方法进行比较,实验以空际间叠长度与阵列孔径比例
Ra 作为干扰空际间叠性的表征标准。考虑到星基导航定位接收机应用环境与场所限制,阵元数不宜过多,具体的仿真环境参数如表1所示。表 1 仿真实验参数设置载波频率 1.57542 GHz 阵元间距 0.5波长 信道环境 高斯白噪声信道 干扰类型 随机噪声干扰 阵元数目 8 期望信号入射方位 10° 干扰信号入射方位 50° 阵列形状 均匀线性阵列天线 4.1 不同空际间叠性干扰下的方向图
本节实验对不同空际间叠性干扰下的星基定位接收机方向图进行仿真研究,由于实际环境中星基导航信号能量微弱,因此本文设置干信比为30
dB ,信噪比设置为–10dB 。比较图2中方向图可知,当
Ra=0.5 时,MVDR空域滤波虽然在星基导航C/A码信号方向无损失增益,但在干扰信号方向未能形成明显零陷。当Ra 提高至2.0时,干扰入射方向抑制增益有所提升,可达−50dB 左右,但此时形成的较深零陷位置相对干扰方向仍有所偏移,未能在干扰方向形成最深零陷。当Ra 达到15.0时,方向图能够在干扰信号方向形成最深零陷,且无位置偏移,同时也可观察到在最深零陷位置偏移处有零陷毛刺,这是由于信号裂变产生相近角度差干扰导致零陷凹深分离造成。4.2 空际间叠长度比例对输出SINR的影响
本节在与上节相同仿真实验条件下,考察空际间叠长度比例对输出信干噪比的影响。同时对基于MVDR算法的两种改进的鲁棒自适应空域滤波方法LSMI算法[15]和SQR算法[16]进行仿真,考察空际间叠干扰对鲁棒空域滤波的零陷抑制效果。信噪比变化范围为
[−10,30]dB ,步长取2dB 。由图3可知3种自适应滤波算法的输出SINR均随空际间叠长度比例的提高而增大,验证了3.3节给出的星基定位接收机输出SINR与空际间叠长度的函数单调关联性。当
Ra=0.5 ,输出SINR最低,相比其他两种比例情况大约相差10∼20dB 左右,Ra=2.0 与Ra=0.5 时的输出SINR差幅较小。由图3(b)与图3(c)可见,LSMI算法和SQP算法在不同Ra 下与图3(a)MVDR算法有相似的变化趋势,但相比于MVDR算法,LSMI算法和SQP算法改进了约束条件,使得算法对干扰噪声和环境误差更鲁棒,因此输出SINR略高于MVDR算法。但3种算法在输入SNR较小时的输出SINR均有明显下降,这是由于空际间叠性减弱引起的信号裂变效应造成。4.3 星基导航信号捕获性能分析
本节对不同空际间叠性干扰作用下的星基定位接收机捕获性能展开研究。信噪比设置为
−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.4 基于传统空域滤波抑制效果性能分析
本节将基于点源干扰方式的传统空域滤波抑制方法与非完备空际间叠空域滤波抑制进行性能比较,为检测两种空域滤波抑制方法对零陷抑制的效果,本节分别设置了不同阵元数的实验条件,考察不同空域滤波抑制方法的干扰效果。通过星基导航接收机输出信干噪比的反馈实验效果分析本文方法与传统方法的空域零陷抑制能力。阵元数分别设置为10, 15和20,干信比设置为30
dB ,其余实验条件设置与表1相同。观察图5(a)可知,传统空域滤波抑制方法在相同信噪比点上的输出SINR均高于3种
Ra 情况中的空际间叠抑制方法,这是由于传统空域滤波抑制方法采用点源信号的干扰方式,仅消耗单点源干扰对应的单阵列自由度,对多阵元的天线空域滤波抑制能力不明显,而空际间叠干扰由于信号裂变效应可以产生多个等效的干扰信号,提高了阵列自由度的消耗容量,进一步降低星基导航接收机的输出SINR。从图5(b)和图5(c)可以看出,随着阵元数的增多,不同空域滤波抑制方法的输出SINR有所提升,在不同信噪比上的输出SINR幅差减小,这是由于阵元数的增多能够提高阵列的零陷自由度,使得信号裂变产生的等效干扰信号被有效抑制,提高了星基导航接收机输出信干噪比,同时由于阵元数的提高大幅减弱了空际间叠性消耗的自由度,进一步降低了不同空际间叠性信号的干扰效果差异,缩小了不同输入SNR比例下的信干噪比差值容度。由此可见,空际间叠空域滤波抑制法的零陷抑制能力明显优于传统方法。5. 结论
针对星基定位接收机捕获导航信号干扰问题,本文提出了一种非完备空际间叠干扰模型,证明了非完备空际间叠干扰引起的信号裂变效应,推导分析了输出SINR与干扰信号空际间叠长度的函数式及单调关联性,考察了不同空际间叠扰长度比例对星基导航信号捕获性能的影响,实验对照了传统空域滤波抑制方法与空际间叠干扰方法零陷抑制的能力效果。仿真实验表明本文提出的非完备空际间叠干扰模型能够降低星基定位接收机的捕获性能,相比传统方法具有更强的空域滤波抑制能力。
1)本节给出的数据均为基于KCU1500的AlexNet加速器的实验结果。2) (Parain=1, Paraseg=2)相当于Parain=1/2;(Parain=3, Paraseg=5)相当于Parain=3/5;以此类推。 -
表 1 AlexNet网络结构参数
层 Nin Nout SIZEin SIZEout SIZEker Stride Npad CONV1 3 96 227 55 11 4 0 POOL1 96 96 55 27 3 2 0 CONV2 48 256 27 27 5 1 2 POOL2 256 256 27 13 3 2 0 CONV3 256 384 13 13 3 1 1 CONV4 192 384 13 13 3 1 1 CONV5 192 256 13 13 3 1 1 POOL5 256 256 13 6 3 2 0 FC1 9216 4096 1 1 – – – FC2 4096 4096 1 1 – – – FC3 4096 1000 1 1 – – – 表 2 不同FPGA CNN加速器的资源利用率
表 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)数据粗筛,集合S’i:任意相邻的两个元素不存在“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), p←j else Si.drop(σj) S’i←Si (7)数据精筛,集合Ti:任意两个元素不存在“KO”偏序关系。 for i in range(5): S’i.sort_ascend_by((cycle,dsp,bram)) for j in range(1, size(S’i)): for k in range(j): if σk KO σj then S’i.drop(σj), break Ti←S’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}})对应的并行度元素,输出约束条件下最优并行度的参数信息。 表 4 不同规格FPGA上AlexNet加速器资源利用率、计算量与计算时长
FPGA型号 DSP资源数 R1 R2 原始计算量 压缩比(%) 执行时间(s) Arria10 GT 1150 1518 0.987 0.989 5.683×107 99.892 1.544 KU060 2760 0.947 0.951 3.026×108 99.979 6.444 Virtex7 VX485T 2800 0.936 0.941 9.903×108 99.994 5.841 Virtex7 VX690T 3600 0.960 0.967 2.082×108 99.998 2.775 KCU1500 5520 0.955 0.962 5.772×109 99.999 8.115 表 5 AlexNet加速器性能对比
-
[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)
-