一种支持不同精度累加结果写回硬件的方法及装置与流程

文档序号:32213702发布日期:2022-11-16 06:51阅读:56来源:国知局
一种支持不同精度累加结果写回硬件的方法及装置与流程

1.本发明涉及数据处理技术领域,特别是涉及一种支持不同精度累加结果写回硬件的方法及装置。


背景技术:

2.深度学习神经网络(neutral networks)面向应用,分为训练(training)和推理(inference)两个方向,均涉及多层网络运算,而每层网络包含大量的卷积与矩阵乘运算,对硬件运算处理能力提出了超高要求。推理和训练对运算量和数据精度要求均有所不同,前者运算量相对较少,数据精度要求较低;而训练对运算量和数据精度要求均比较高,所以针对推理的数据运算加速方式不再适用于训练数据的运算加速。
3.脉动阵列(systolic array)是常用的一种加速神经网络中矩阵乘和卷积运算的结构,各个处理单元(processing element, pe)与相邻处理单元相连,构建成一个二维运算阵列,数据在相邻处理单元间传输,减少了各处理单元直接访存需求,以数据流驱动方式实现运算加速。通过数据重用,减少对输入/输出数据的存取次数,进而降低访存带宽需求。可以有效解决运算速度远高于访存速度的访存瓶颈问题,访存一次可以在整个脉动阵列中流动并驱动运算多拍,通过多拍运算掩盖访存延迟,提高了运算性能,减少了访存带宽与访存开销。
4.例如:google的tpu(tensor processing unit)处理器,采用256*256个cell单元构建超大脉动阵列,实现卷积运算加速,每个cell单元固定支持8bit字节*8bit字节+16bit半字的定点运算,支持神经网络全推理流程加速;预先对卷积核和图片或语音等数据进行格式转换,卷积核经过旋转,变成脉动阵列的行输入权重weight数据,图片或语音数据经过重组,变成矩阵向量对应脉动阵列的列输入激活activation数据。权重在脉动阵列中从上向下流动,激活数据从左至右流动,通过数据流驱动两者在cell单元中完成乘法,并与上方cell单元传入的中间累加结果进行累加求和,累加结果为16位半字定点,在脉动阵列中从上向下传输。此外,在脉动阵列下方实现与cell单元对应的累加器,实现中间结果累加,完成卷积运算加速。
5.但是上述tpu处理方式利用脉动阵列对卷积运算进行加速,仍然存在以下缺点:1、只适用于神经网络推理,固定支持8bit字节*8bit字节+16bit半字的定点运算,模式固定单一,运算精度较低,不适用于训练;2、由于固定实现8bit字节定点混合乘加运算,脉动阵列与累加器结果均固定为16bit半字定点,写回统一存储缓冲精度固定,灵活性差,应用范围窄。
6.因此,无论对于运算精度还是灵活性而言,进行合理高效的卷积运算加速都是非常有必要的。


技术实现要素:

7.本发明的目的是提供一种支持不同精度累加结果写回硬件的方法及装置,运算精
度灵活可配,支持多种精度运算,同时累加结果写回电路支持写回精度灵活可配。
8.根据本发明的第一方面,提出一种支持不同精度累加结果写回硬件的方法,包括:在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列;读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输;读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输;在矩阵乘法加速单元中对西向数据和北向数据进行乘加操作;累加器缓冲接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果,完成所有中间结果累加;将累加器缓冲中的缓存结果写回至本地局部存储器中。
9.进一步的,在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列时,阵列构建方式包括:由一个行数为16行,列数为16列的阵列单元组成的阵列;和/或由两个行数为8行,列数为8列的阵列单元组成的阵列。
10.进一步的,读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输,具体包括:采用北向数据加载读取本地局部存储器中的北向数据,将北向数据预加载在矩阵乘法加速单元中最北侧一行,每次加载一行;北向数据在二维脉动阵列中按行从北向南传输。
11.进一步的,读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输,具体包括:通过西向数据整形与加载读取本地局部存储器中的西向数据,并进行整形后缓存;将西向数据加载在矩阵乘法加速单元中最西侧一列,每次加载一列;西向数据在二维脉动阵列中按列从西向东传输。
12.进一步的,在矩阵乘法加速单元中对西向数据和北向数据进行乘加操作,具体包括:西向数据到达运算单元后与缓存在运算单元内部的北向数据进行乘法运算;乘法结果与北边运算单元传输进来的累加数据进行加法,即完成乘加操作;把乘加结果向南边运算单元传输,实现乘加结果从北向南传输。
13.进一步的,累加器缓冲接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果,完成所有中间结果累加,具体包括:累加器缓冲接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果;将累加结果与缓存在累加缓冲中的中间结果进行累加求和并缓存;直至完成所有中间结果累加。
14.进一步的,将累加器缓冲中的缓存结果写回至本地局部存储器中时,通过累加结果写回电路将累加器缓冲中的缓存结果写回至本地局部存储器中。
15.根据本发明的第二方面,提供了一种支持不同精度累加结果写回硬件的装置,包括:
阵列构建模块:在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列;北向数据加载模块:读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输;西向数据加载模块:读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输;乘加模块:在矩阵乘法加速单元中对西向数据和北向数据进行乘加操作;缓冲模块:接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果,完成所有中间结果累加;写回模块:将累加器缓冲中的缓存结果写回至本地局部存储器中。
16.根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项的所述方法步骤。
17.根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项的所述方法步骤。
18.本发明的有益效果为:本发明提供了一种支持不同精度累加结果写回硬件的方法及装置,运算精度灵活可配,支持多种精度运算,同时累加结果写回电路支持写回精度灵活可配;支持16*16+32的半精度混合浮点乘加运算、16*16+32或者双8*8+16定点混合乘加运算可配,则累加结果数据为32位单精度浮点、32位字定点或者双16位半字定点,保持了脉动阵列加载和写回结果数据的一致性;在脉动阵列中累加结果数据一直为双16位半字定点或32位单精度浮点,提高了中间结果运算精度,避免了精度损失,提高了推理或训练准确度;还可以根据需要将写回精度配置为双16位半字定点或32位单精度浮点,提高了累加结果写回精度的灵活性,扩展了适用范围,同时支持推理和训练矩阵乘法与卷积运算加速。
附图说明
19.并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。
20.图1为本发明实施例的一种支持不同精度累加结果写回硬件的方法的流程图;图2为本发明实施例的一种支持不同精度累加结果写回硬件的方法中的逻辑执行流程图;图3为本发明实施例的一种支持不同精度累加结果写回硬件的方法中的矩阵乘法运算结构示意图;图4为本发明实施例的一种支持不同精度累加结果写回硬件的装置的模块连接示意图。
具体实施方式
21.为了更清楚的说明本发明实施例和现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创在性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。另,设计方位的属于仅表示各部件间的相对位置关系,而不是绝对位置关系。
22.实施例一、如图1至3所示,根据本发明的第一方面,提出一种支持不同精度累加结果写回硬件的方法,包括:步骤s101:在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列;本发明的实施例中,在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列时,二维脉动阵列中的运算单元共设置有m行和n列,共计m*n个运算单元,在这里,m和n的值可以自由的选择,使得二维脉动阵列的大小灵活可配,可根据性能和应用需求进行配置。
23.本发明的实施例中,面对矩阵乘法加速单元中构建二维脉动阵列需要获取相应的权限,可由用户自行明确并授予。并且构建人员不论构建何种二维脉动阵列,都需要进行质检、验证以及备案处理,确保该二维脉动阵列的有效性和合法性。
24.步骤s102:读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输;本发明的实施例中,构建二维脉动阵列之后,需要向该二维脉动阵列中传输数据进行运算,先将地局部存储器中的北向数据进行读取,在矩阵乘法加速单元的二维脉动阵列中进行由北向南的传输。
25.本发明的实施例中,读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输,具体包括:采用北向数据加载读取本地局部存储器中的北向数据,将北向数据预加载在矩阵乘法加速单元中最北侧一行运算单元中,每次加载一行运算单元;北向数据在二维脉动阵列中按行从北向南传输。
26.也就是说,北向数据被北向数据加载预加载在矩阵乘法加速单元中最北侧一行运算单元(即第一行运算单元),经过运算之后,传输至矩阵乘法加速单元中最北侧一行运算单元南侧的一行运算单元(即为第二行运算单元),以此类推,在二维脉动阵列中的运算单元设置有m行,那么北向数据需要进行m-1次传输才能到达矩阵乘法加速单元最南侧的一行运算单元。
27.步骤s103:读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输;本发明的实施例中,西侧数据的传输实际上与北侧数据的传输是一起进行执行的,也就是向二维脉动阵列中传输数据进行同时运算,先将地局部存储器中的西向数据进行读取,在矩阵乘法加速单元的二维脉动阵列中进行由西向东的传输。
28.本发明的实施例中,读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输,具体包括:通过西向数据整形与加载读取本地局部存储器中的西向数据,并进行整形后缓存;将西向数据加载在矩阵乘法加速单元中最西侧一列,每次加载一列;西向数据在二维脉动阵列中按列从西向东传输。
29.与北向数据的传输类似,西向数据经过西向数据整形与加载进行读取并进行整形后缓存,然后加载在矩阵乘法加速单元中最西侧一列运算单元(即第一列运算单元),经过运算之后,传输至矩阵乘法加速单元中最西侧一列运算单元东侧的一列运算单元(即为第二列运算单元),以此类推,在二维脉动阵列中的运算单元设置有m列,那么北向数据需要进行n-1次传输才能到达矩阵乘法加速单元最东侧的一列运算单元。
30.步骤s104:在矩阵乘法加速单元中对西向数据和北向数据进行乘加操作;本发明的实施例中,北向数据由北向南的传输和西向数据由西向东的传输的运算方式是不相同的,但是运算执行是同时且相互交错进行操作的,矩阵乘法加速单元中每一个运算单元内都在进行数据计算,数据计算完毕之后,也都会向南侧和/或向东侧进行传输(最南侧的运算单元中的数据则不再向南侧进行传输,最东侧的运算单元中的数据则不再向东侧进行传输)。
31.本发明的实施例中,在矩阵乘法加速单元中对西向数据和北向数据进行乘加操作,具体包括:西向数据到达运算单元后与缓存在运算单元内部的北向数据进行乘法运算;乘法结果与北边运算单元传输进来的累加数据进行加法,即完成乘加操作;把乘加结果向南边运算单元传输,实现乘加结果从北向南传输。
32.并依次类推,最南侧的一行运算单元处会得到最后的乘加操作数据,这样,利用西向数据的流动驱动各运算单元内部的乘法运算,实现卷积运算与矩阵乘法加速。
33.步骤s105:累加器缓冲接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果,完成所有中间结果累加;本发明的实施例中,矩阵乘法加速单元最南侧的一行运算单元得到的数据不再主动向南侧进行传输,而是被累加器缓冲进行接收和读取,进行累加计算。
34.本发明的实施例中,累加器缓冲接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果,完成所有中间结果累加,具体包括:累加器缓冲接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果;将累加结果与缓存在累加缓冲中的中间结果进行累加求和并缓存;直至完成所有中间结果累加。
35.步骤s106:将累加器缓冲中的缓存结果写回至本地局部存储器中。
36.本发明的实施例中,累加器缓冲的数据是累加的数据,且累加的数据数量至少为n个,因为矩阵乘法加速单元中共有n列运算单元,也就是矩阵乘法加速单元最南侧的一行运算单元共有n个,累加器缓冲接收这n个运算单元累加的数据。
37.本发明的实施例中,将累加器缓冲中的缓存结果写回至本地局部存储器中时,通过累加结果写回电路将累加器缓冲中的缓存结果写回至本地局部存储器中。
38.需要注意的是,以上步骤中的“东”、“南”、“西”以及“北”,只是一个方位的称呼,并不代表实际的电学或者数据方向的意义,北侧也仅仅代表着矩阵乘法加速单元靠近北向数据预加载的一侧,南侧也仅仅代表着矩阵乘法加速单元靠近累加器缓冲的一侧;西侧则代表与北侧相邻的一侧,东侧则与西侧对应而已;数据由北向南传输,只是代表着数据从矩阵乘法加速单元中由靠近北向数据预加载的一侧向靠近累加器缓冲的一侧进行传输,而数据由西向东传输,只是代表着数据从矩阵乘法加速单元中靠近西向数据整形与加载的一侧向远离西向数据整形与加载的一侧进行传输。
39.本发明提供了一种支持不同精度累加结果写回硬件的方法,其运算精度灵活可配,支持多种精度运算,按照应用需求进行运算精度配置,可满足各种运算精度需求,实现训练(比如半精度浮点混合乘加运算)或推理(双字节定点混合乘加)矩阵乘法与卷积运算加速,提高了灵活性,扩展了适用性;同时累加结果写回电路支持写回精度灵活可配,按照可根据需要进行累加结果写回精度配置,支持北向数据、西向数据与累加结果写回精度匹配,保持了脉动阵列加载和写回结果数据的一致性,同时可以提高中间结果运算精度,避免了精度损失,提高了推理或训练准确度。
40.实施例二、仍如图1至3所示,仅为本发明的其中一个实施例,在实施例一的基础上,本发明一种支持不同精度累加结果写回硬件的方法中:在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列时,阵列构建方式包括:由一个行数为16行,列数为16列的阵列单元组成的阵列;和/或由两个行数为8行,列数为8列的阵列单元组成的阵列。
41.其中:当阵列构建方式为由一个行数为16行,列数为16列的阵列单元组成的阵列时,支持半精度浮点混合乘加(16位半精度*16位半精度+32位单精度浮点,结果为32位单精度浮点)和半字定点混合乘加(16位半字定点*16位半字定点+32位字定点,结果为32位字定点)两种精度的运算。
42.另外,当阵列构建方式为由两个行数为8行,列数为8列的阵列单元组成的阵列时,支持双字节定点混合乘加(可同时执行两个:8位字节定点*8位字节定点+16位半字定点,结果为两个16位半字定点)这个精度的运算。
43.以上三种精度运算,可根据需要进行选取,比如深度学习神经网络的推理运算时可以选择16*16+32或者双8*8+16定点混合乘加运算,而对于训练运算时,则可以选取16*16+32的半精度混合浮点乘加运算在这里,矩阵乘法加速单元中的运算单元支持16*16+32的半精度混合浮点乘加运算、16*16+32或者双8*8+16定点混合乘加运算可配,且则累加结果数据为32位单精度浮点、32位字定点或者双16位半字定点。
44.当然的,缓存至累加结果写回电路中的累加数据缓存后,通过按照运算模式和写回精度配置选择是否进行定点或者浮点数据转换、写回数据格式选择,控制写回ldm存储的累加数据精度,比如:1、对于推理运算,可以配置运算模式为双8*8+16定点混合乘加,累加结果数据为
双16位半字定点拼成的32位数据,在累加结果写回时,可以控制写回精度为双8位数据,即将两个16位半字累加结果转换为两个8位半字累加结果表示,再写回本地局部存储器;2、对于训练运算,可以配置运算模式为16*16+32的半精度混合浮点乘加,累加结果数据为32位单精度浮点,在累加结果写回时,可以控制写回精度为16位半精度浮点数据,即单精度浮点结果转换为半精度浮点累加结果表示,再写回本地局部存储器。
45.以上两种写回精度也是可配的,那么具有以下有点:1、西向数据和北向数据均为双8位定点或16位半精度浮点,写回累加结果也为双8位定点或16位半精度浮点,保持了脉动阵列加载和写回结果数据的一致性;2、在脉动阵列中累加结果数据一直为双16位半字定点或32位单精度浮点,提高了中间结果运算精度,避免了精度损失,提高了推理或训练准确度;3、此外,还可以根据需要将写回精度配置为双16位半字定点或32位单精度浮点,提高了累加结果写回精度的灵活性,扩展了适用范围,同时支持推理和训练矩阵乘法与卷积运算加速。
46.相应的,采用累加结果写回电路进行数据写回时,将累加器缓冲获得的累加数据进行缓存,然后分为定点数据转换或者浮点数据转换两类转换,分别通过写回精度控制,进行写回数据格式选择,并在格式选择时进行运算模式的配置,最后将选择好格式的写回数据进行写回至本地局部存储器中。
47.实施例三、如图4所示,根据本发明的第二方面,提供了一种支持不同精度累加结果写回硬件的装置,包括:阵列构建模块:在矩阵乘法加速单元中构建由多个同构的运算单元组成的二维脉动阵列;北向数据加载模块:读取本地局部存储器中的北向数据,预加载在矩阵乘法加速单元中从北向南传输;西向数据加载模块:读取本地局部存储器中的西向数据,加载在矩阵乘法加速单元中从西向东传输;乘加模块:在矩阵乘法加速单元中对西向数据和北向数据进行乘加操作;缓冲模块:接收矩阵乘法加速单元最南侧的一行运算单元传输下来的累加结果,完成所有中间结果累加;写回模块:将累加器缓冲中的缓存结果写回至本地局部存储器中。
48.可以理解的是,本发明实施例提供的装置均适用于实施例一和二中任一所述的方法,各个模块的具体功能可参照上述方法流程,此处不再赘述。
49.实施例四、根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例一和二任一项的所述方法步骤。
50.该电子设备用于实现实施例一和二任一所述的方法,电子设备可以包括:至少一个中央处理器,至少一个网络接口,控制接口,存储器,至少一个通信总线。
51.其中,通信总线用于实现各组件之间的连接通信,信息交互。
52.其中,网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
53.其中,控制接口用于根据指令输出控制操作。
54.其中,中央处理器可以包括一个或者多个处理核心。中央处理器利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,根据实施例一所述的方法执行终端的各种功能和处理数据。
55.其中,存储器可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器可用于存储指令、程序、代码、代码集或指令集。存储器可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述实施例一的方法等;存储数据区可存储上面各个方法实施例中涉及到的数据等。
56.本发明还有第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例一和二任一所述的方法。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、dvd、cd-rom、微型驱动器以及磁光盘、rom、ram、eprom、eeprom、dram、vram、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器ic),或适合于存储指令和/或数据的任何类型的媒介或设备。
57.本发明的有益效果为:本发明提供了一种支持不同精度累加结果写回硬件的方法及装置,运算精度灵活可配,支持多种精度运算,同时累加结果写回电路支持写回精度灵活可配;支持16*16+32的半精度混合浮点乘加运算、16*16+32或者双8*8+16定点混合乘加运算可配,则累加结果数据为32位单精度浮点、32位字定点或者双16位半字定点,保持了脉动阵列加载和写回结果数据的一致性;在脉动阵列中累加结果数据一直为双16位半字定点或32位单精度浮点,提高了中间结果运算精度,避免了精度损失,提高了推理或训练准确度;还可以根据需要将写回精度配置为双16位半字定点或32位单精度浮点,提高了累加结果写回精度的灵活性,扩展了适用范围,同时支持推理和训练矩阵乘法与卷积运算加速。
58.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
59.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
60.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可
以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
61.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
62.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
63.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read-only memory, rom)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
64.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(read-only memory, rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
65.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包含一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
66.以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1