【技术实现步骤摘要】
多带宽目标的加速器效能测试方法
本专利技术涉及面向计算密集型应用计算加速器的性能测试方法,是一种根据加速器阵列的规模和数据位宽进行加速器效能评测的方法。
技术介绍
大规模深度神经网络为核心的图像识别、语音处理、文本挖掘等应用通常都是计算和访存密集型的应用,对高性能计算硬件的需求与日俱增。从以高性能嵌入式平台为主要承载的终端智能推理,到更加注重小型化、一体化的“微”端智能应用,不同规模、不同场景的智能应用对智能处理芯片延迟、吞吐率等的需求各不相同。面向终端推理的智能芯片构架及测试方法必须能够根据应用性能和代价需求多尺度调节体系结构。随着神经网络深度的不断加大和应用的不断复杂化,人工神经网络所需的模型参数越来越多,所处理的数据越来越大,这些都给计算所需的访存带宽带来了巨大的压力,在传统冯·诺依曼结构下,大多数神经网络应用都成为访存受限型的密集计算问题。当前,定制的智能加速器已经成为优化图像识别、语音处理、文本挖掘等应用最有效的途径之一,但定制结构的开发周期很长,常常涉及应用分析、结构设计、逻辑设计、电路优化、综合优化及投片生产等诸多漫长的设计流程,针对不同的应用规模和应用特征,为取得较优的设计结果,能够优化实现以神经网络为核心的定制加速器的设计过程必须是结构建模和性能测试评估相互迭代设计的过程,在加速器逻辑实现之前根据加速器结构进行性能建模,结合嵌入电路的测试方法,能够在逻辑设计前后更方便准确地评估加速器性能,指导加速器的设计优化。根据对卷积神经网络CNN(ConvolutionalNeuralNetwork)中运算量的研究,卷积运算占据CNN运算量的90%。 ...
【技术保护点】
1.一种多带宽目标的加速器效能测试方法,其特征在于包括以下步骤:第一步,从卷积神经网络模型中挑选一个卷积神经网络作为智能加速器效能测试用例CNN,对测试用例CNN进行预处理,确定测试用例CNN每层的属性参数,具体方法如下:令测试用例CNN的层数为N,它包括Nc个卷积层、Np个池化层、Nfc个全连接层,N、Nc、Np、Nfc为正整数,并且满足N=Nc+Np+Nfc;1.1 定义卷积神经网络层序数变量i=1,定义卷积层计数循环变量i1=1,定义池化层计数循环变量i2=1,定义全连接层计数循环变量i3=1;1.2 若卷积神经网络的第i层为卷积层,转至第1.3步;若第i层为池化层,转至第1.5步;若第i层为全连接层,转至第1.7步;1.3 根据CNN的描述提取第i1个卷积层的如下属性:1.3.1 记录第i层的输入特征图高Ixi1;1.3.2 记录第i层的输入特征图宽Iyi1;1.3.3 记录第i层的输入特征图通道数即卷积核通道数Ici1;1.3.4 记录第i层卷积核大小ki1;1.3.5 记录第i层卷积核个数即卷积输出通道数Oci1;1.3.6 记录第i层输入特征图行列方向填充的个数padci ...
【技术特征摘要】
1.一种多带宽目标的加速器效能测试方法,其特征在于包括以下步骤:第一步,从卷积神经网络模型中挑选一个卷积神经网络作为智能加速器效能测试用例CNN,对测试用例CNN进行预处理,确定测试用例CNN每层的属性参数,具体方法如下:令测试用例CNN的层数为N,它包括Nc个卷积层、Np个池化层、Nfc个全连接层,N、Nc、Np、Nfc为正整数,并且满足N=Nc+Np+Nfc;1.1定义卷积神经网络层序数变量i=1,定义卷积层计数循环变量i1=1,定义池化层计数循环变量i2=1,定义全连接层计数循环变量i3=1;1.2若卷积神经网络的第i层为卷积层,转至第1.3步;若第i层为池化层,转至第1.5步;若第i层为全连接层,转至第1.7步;1.3根据CNN的描述提取第i1个卷积层的如下属性:1.3.1记录第i层的输入特征图高Ixi1;1.3.2记录第i层的输入特征图宽Iyi1;1.3.3记录第i层的输入特征图通道数即卷积核通道数Ici1;1.3.4记录第i层卷积核大小ki1;1.3.5记录第i层卷积核个数即卷积输出通道数Oci1;1.3.6记录第i层输入特征图行列方向填充的个数padci1;1.3.7记录第i层卷积核的跳步数strdci1;1.3.8记录第i层输出特征图高Oxi1;1.3.9记录第i层输出特征图宽Oyi1;1.4.令i1=i1+1;转到第1.9步;1.5提取第i2个池化层的如下属性:1.5.1记录第i层的输入特征图高Ipxi2;1.5.2记录第i层的输入特征图宽Ipyi2;1.5.3记录第i层的输入特征图通道数Ipci2;1.5.4记录第i层池化规模的大小pi2;1.5.5记录第i层输入特征图行列方向填充数padpi2;1.5.6记录第i层池化操作的跳步数strdpi2;1.5.7记录第i层输出特征图高Opxi2;1.5.8记录第i层输出特征图宽Opyi2;1.6令i2=i2+1;转到第1.9步;1.7提取第i3全连接层的如下属性:1.7.1记录第i层全连接操作输入节点个数为Fini3;1.7.2记录第i层全连接操作输出节点个数为Fouti3;1.8令i3=i3+1;转到第1.9步;1.9令i=i+1,若i=N,表示此时已得到集合{Ic1,Ic2,…IcNc}、{k1,k2,..kNc}、{strdc1,strdc2,..strdcNc}、{Iy1,Iy2,…IyNc}、{padc1,padc2,…padcNc}等后续测试需要的集合,转到第二步,否则转到第1.2步;第二步,确定加速器MAC阵列的列数和行数,方法是:2.1确定加速器MAC阵列的列数mc,mc为正整数;K∈{k1,k2,..kNc},strdx∈{strdc1,strdc2,..strdcNc},BW为加速器带宽,F为加速器MAC阵列工作频率;2.2确定加速器MAC阵列的行数mr,mr为正整数,方法是:MACmax为加速器可供利用的MAC单元的个数;第三步,测试加速器对测试用例CNN每个卷积层的效能,方法是:3.1令卷积层计数循环变量i1=1;3.2确定加速器运算第i1卷积层时的输出并行度Mi1,方法是:Mi1=min(Oci1,mr);3.3测试加速器从内存中传输strdci1×Iyi1×Ici1个输入像素至输入特征图缓冲,完成Mi1×Oyi1次卷积操作,并将Mi1×Oyi1个卷积运算结果像素由输出特征图缓冲传输回内存的时间tconvi1,方法为:3.4测试加速器运算第i1卷积层的时间Tconvi1,方法为:3.5测试加速器运算第i1卷积层的吞吐率thconvi1,方法为:其中,吞吐率为加速器每秒完成的乘累加操作的个数,单位为个数/s;3.6测试加速器运算第i1卷积层的MAC利用率Ui1,方法为:3.7令i1=i1+1,若i1=Nc,说明已得到集合{Tconv1、Tconv2、…TconvNc}、{thconv1、thconv2、…thconvNc、}和{U1、U2、…UNc},跳至第四步,否则跳至第3.2步;第四步,测试加速器对测试用例CNN的Nc个卷积层的总效能,方法是:4.1确定加速器计算CNN的Nc个卷积层的吞吐率Th...
【专利技术属性】
技术研发人员:姜晶菲,付强,窦勇,刘志强,韩哲,赵小强,秦步月,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。