本发明涉及处理器,尤其涉及一种存储和计算资源利用率的评估方法。
背景技术:
1、现有技术公开了卷积神经网络是深度学习中常见的算法之一,在计算机视觉中有着举足轻重的地位,而针对神经网络计算的处理器设计也是形形色色。
2、随着人工智能的持续发展,日益复杂的网络结构给处理器设计带来一系列的挑战。现有的处理器除了cpu(central processing unit)、gpu(graphics processingunit)、fpga(field programmable gate array)外,绝大多数都是asic(applicationspecific integrated circuit)设计,经典的设计代表如mit的eyeriss、nvidia的nvdla及simba架构、脉动阵列等,实践表明,这些设计的存储结构和计算阵列均存在一定的差异。
3、处理器设计的核心往往是最大化利用片上的计算资源和存储资源,而不同处理器设计的主要差异在存储层级和阵列规模两方面,因此最大化硬件资源利用率及最小化存储能耗是所属技术领域非常关键的技术关注点。因为在不同的处理器上计算所需要的硬件资源和产生的能耗是有很大差别的,所以选取合适的处理器进行不同类型的计算是很必要的,因此分别通过在同一处理器上运行不同负载的计算存储资源利用率和在不同处理器上运行同一负载的计算存储资源利用率评估是很关键的,这不仅可以帮助设计者更好的优化处理器结构,还可以指导用户更好的去均衡网络负载和处理器设计的适配度。目前,尚未有研究通过存储分摊表征处理器存储结构的优缺点。
4、基于现有技术的现状,本技术的发明人拟提供一种存储和计算资源利用率的评估方法;以直观的评估出处理器存储结构和计算结构的优缺点,进一步对处理器的结构提供一定的优化和改进指导。
技术实现思路
1、本发明的目的在于基于现有技术的现状,提供一种存储和计算资源利用率的评估方法;用于评估一种处理器的存储计算资源利用率。
2、本发明的评估方法能直观的评估出处理器存储结构和计算结构的优缺点,进一步对处理器的结构提供一定的优化和改进指导。
3、为实现上述目的,本发明提出一种处理器的评估方法,所述处理器的待评估资源为计算资源和存储资源,其包括基于所述计算资源的pe利用率和所述存储资源的存储容量,计算所述存储资源的存储分摊;所述存储分摊越小,反应该处理器的pe利用率越高,存储分摊越小,计算和存储资源利用率越高。
4、本发明中,所述计算资源的pe利用率是指计算负载时并行工作的pe数目,通过执行仿真获得pe利用率和计算周期从而计算实际平均pe利用率。计算所述计算资源的实际平均pe利用率包括:基于所述处理器执行的负载计算得到每个周期的pe利用率,通过积分求均值逻辑获得实际平均pe利用率。令npe_activate表示实际pe利用率,令npe_activate_mean表示实际平均pe利用率,令m表示计算周期数目,则:
5、
6、其中,npe_activate由负载参数、数据流和存储带宽决定,m由计算阵列、存储结构和网络负载共同决定。
7、本发明中,所述存储资源的存储分摊和平均存储分摊包括:所述存储分摊指单位pe的存储容量;所述平均存储分摊包含时间和空间两个维度,表示单位周期单位pe的存储容量分摊,令sminb表示存储分摊,令sminb_mean表示平均存储分摊,令s1st-mem表示所述存储计算结构的第一级存储容量大小。则:
8、sminb=s1st-mem/npe_activate,
9、sminb_mean=s1st-mem/npe_activate_mean。
10、进一步地,所述处理器的存储计算资源评估方法结合其他评估手段进一步综合评估该处理器的优劣。
11、进一步地,所述其他评估手段包含但不限于基于所述存储资源计算所述存储资源的各级存储单元实际访存次数、综合评估处理器的存储计算资源利用率。
12、进一步地,所述存储资源的各级存储单元实际访问次数包括:各级存储单元实际访问次数指的是执行负载计算时各级存储器的数据进出统计。令nmemory_access表示存储器的访问次数,一种存储计算结构的存储层级是不同的,如一种包含两级存储的存储计算结构,n1st-mem_access和n2nd-mem_access分别代表第一级存储访存次数和第二级存储访问次数。
13、进一步地,所述各级存储单元实际访存次数包含但不限于通过加入计数逻辑获得。
14、进一步地,所述综合评估处理器的存储计算资源利用率,包括:构建综合评估模块,通过分析计算获得的指标所占比重来评估一种处理器的优缺点。该处理器的评估结果用q表示,令c表示访存次数,s表示除第一级存储外的其他存储容量大小,则:
15、q=k1×npe_activate+k2×sminb+k3×c×s。
16、可选地,k1、k2、k3表示各指标的影响因子,和负载的数据类型比例、存储层级相关。上式的每一个加数越小,该处理器的存储和计算设计越好。
17、进一步地,根据所述pe利用率、所述存储分摊和所述访存次数,综合评估所述处理器的存储和计算资源利用率包括:获取多个设计不同的处理器的所述pe利用率、所述平均pe利用率、所述存储分摊、所述平均存储分摊和所述各级存储单元实际访存次数;比较各所述处理器的所述存储分摊、所述平均存储分摊和所述各级存储单元实际访存次数的大小;根据比较结果,评估各所述处理器的存储和计算资源利用率,其中,所述的平均存储分摊和各级访存次数越小,对应的所述处理器的存储和计算设计越好。
18、进一步地,所述存储资源利用率优先级高于计算资源利用率,所述根据比较结果,评估各所述处理器的存储和计算资源利用率包括:所述存储分摊和所述访存次数越小,对应的所述处理器的存储结构设计越好;当多个所述处理器的存储分摊相近,所述访存次数越小,对应的所述处理器评估越高;当多个所述处理器的访存次数相近,所述存储分摊越小,对应的所述处理器评估越好。其中,所述pe利用率越大,所述处理器对应的存储分摊越小,也表明计算资源利用率越高。
19、本发明中,所述处理器按照三层结构划分为底层、中层和顶层,其中,底层对应所述存储分摊,中层对应所述访存次数,顶层对应pe利用率。
20、进一步地,所述底层是指进行一次乘加操作所需配备的第一级存储模块及计算单元,令minb表示底层模块;所述中层是由一定数目的底层单元和第二级存储模块组成的,令midb表示中层模块;所述顶层是指通过片上网络将所有的midb组合在一起构成的,令sysarc表示顶层模块。
21、进一步地,所述处理器可以只含有三层结构中的一种或两种。所述三层结构并非要求完全严格的底层、中层、顶层划分,如一种处理器只有中层和顶层,这是该处理器只有一级片上存储单元和一个计算阵列造成的。
22、本发明的又一方面,提供一种处理器的评估装置,包括所述的存储计算资源利用率评估方法,所述评估装置的各模块执行方法的具体步骤及其有益效果与该评估方法相同,其特征在于:所述处理器的待评估资源仍为pe利用率、存储分摊和各级访存次数。
23、所述评估装置包括:pe利用率计算模块,存储分摊计算模块,访存次数计算模块以及存储计算资源利用率评估模块。
24、其中,所述评估装置通过三层结构进行细化评估,包括:
25、顶层结构,计算pe利用率:构建参数提取模块,构建存储分配和计算资源分配模块,完成对不同类型负载配置,构建pe利用率计算模块,插入积分求均值逻辑获得实际平均pe利用率;
26、中层结构,计算访存次数:基于存储和计算资源分配模块,构建访存计数模块获得访存次数统计结果;
27、底层结构,计算存储分摊:构建存储分摊模块获得sminb,基于所述sminb构建平均存储分摊模块获得sminb_mean。
28、其中,基于所述中层结构构建能耗查找表模块和能耗仿真模块,所述能耗查找表指单位访存能耗的计算,通过所述查找表和所述访存次数的乘积获得能耗结果。
29、进一步地,根据所述三层结构构建综合评估模块:根据所述处理器的存储及计算类型确定指标影响因子获得各所述处理器的比较结果,完成处理器的存储和计算资源利用评估。
30、本发明提供了一种存储计算资源利用率的评估方法,应用于处理器,其中,处理器的待评估指标为计算资源和存储资源,从三个层面分别评估pe利用率、存储分摊和访存次数,其中pe利用率反映了整体硬件阵列的利用率,而存储分摊和访存次数则反映了一个处理器的存储设计优劣。该评估方法能直观的评估出处理器存储结构和计算结构的优缺点,可用于对处理器的结构提供一定的优化和改进指导,对提高网络算法和硬件平台的适配性有着重要的意义。