当前位置: 首页 > 专利查询>辉达公司专利>正文

内核系数量化制造技术

技术编号:28450650 阅读:22 留言:0更新日期:2021-05-15 21:13
本发明专利技术公开了内核系数量化,具体公开了在执行矩阵运算时优化存储器使用的装置、系统和技术。在至少一个实施例中,优化矩阵以限制存储器和存储要求,同时最小化矩阵成员之和的精度损失。度损失。度损失。

【技术实现步骤摘要】
内核系数量化


[0001]本申请总地涉及在数据表示方案之间的大数据集的转换中优化处理资源并最小化信息损失。例如,至少一个实施例涉及用于将存储为实数表示的值的矩阵转换为定点表示的处理器或计算机系统,而矩阵内的值之和的损失最小。

技术介绍

[0002]从实数到定点表示的矩阵转换是在多种领域和应用中发生的常见操作。这些过滤器内核可以具有任意尺寸,并且可以具有或可以不具有对称性。在许多情况下,内核系数之和是特别重要的属性,尤其是在该和为整数的情况下。除了获得所需用法的所需过滤器参数外,这是一个增加的约束。
[0003]附图标记
[0004]图1示出了实数矩阵的表示;
[0005]图2示出了具有水平和垂直对称性的实数矩阵的表示;
[0006]图3示出了具有水平对称性、垂直对称性和对角线对称性的实数矩阵的表示;
[0007]图4示出了一个或更多个实施例的流程图。
[0008]图5示出了一个或更多个实施例的流程图。
[0009]图6示出了根据至少一个实施例的数据中心系统;以及
[0010]图7示出了根据至少一个实施例的计算机系统。
具体实施方式
[0011]在一组内核系数中,数值可以以多种不同的格式表示,每种格式具有单独的存储约束。例如,对于给定的大数字,对一种存储格式(例如,实数格式)的选择具有可以在存储器中表示该数字的范围。但是,在许多应用程序中,执行其他运算时可能需要特定的数字格式,或者可能导致更有效地使用计算机资源。例如,可以将最初存储为实数的数字转换为定点表示,以便执行矩阵操作所需的计算机资源更少。但是,在数字格式之间进行转换时,精度损失可能会很大。此外,在对转换后的值执行附加运算之后,结果的误差值可能包括不希望的附加误差。例如,将值从浮点转换为定点表示会引入误差。
[0012]用于线性子空间之间的转换的一组内核系数通常包括非常大的量。内核系数通常由可以具有任意维度的矩阵表示,具体取决于应用。因为系数是具有高精度的非常大的数,并且矩阵可能具有大维度,所以可能需要大量的存储空间。此外,与以较低的精度存储的相同数字的相同数值操作相比,对系数执行的数学运算通常使用更多的处理资源。存储值以便使用更少的位存储每个系数可以优化资源要求,但会降低精度。
[0013]在一些实施例中,接收矩阵。矩阵可以包括多个值,每个值可以由尾数和指数表示,例如浮点值。在一些实施例中,可以接收矩阵,对矩阵执行一个或更多个运算。例如,可以接收具有执行矩阵加法和/或减法的请求的矩阵。由于这些运算可能需要大量资源才能对浮点值执行,因此一个或更多个组件可以基于矩阵的大小和维度确定执行该运算所需的
资源超过阈值。可以将矩阵转换为更有利于加法、减法和/或乘法的格式,例如定点表示。转换后,可以再次检查矩阵以确定所需资源是否是可接受的。如果是,则可以执行该运算,并返回结果。因为矩阵值的之和对于某些应用通常是重要的值,所以执行转换以保留该和且误差最小。
[0014]本实施例假定将每个都表示为浮点值的值的矩阵转换为定点值。执行转换,以便以最小的误差项保留值之和。对于每个初始值,实数均表示为浮点值,并带有尾数和指数。尾数可以存储为一组位数的带符号2的补码整数。指数值也具有一组位数。所得的定点值均由整数值和分数值表示,每个值均具有固定的位数。
[0015]作为示例,可以使用标准单精度浮点表示来存储数字。该表示形式允许值介于1.2X10

38
和3.4X10
38
之间,并且可以由32位表示,其为尾数位。在该表示中,可以以32位的精度存储数字,并且带有可以以8位存储的指数。因此,利用符号位,可以将数字以总共32位存储。对于定点表示,相同的存储量会导致精度大大降低,因此值的范围会小得多。但是,对定点表示执行的算术运算比对浮点表示执行的相同运算要更加有效。
[0016]对于本实施例,以下等式用于值的矩阵(例如,系数的过滤器内核)的边界(metes)和界限(bounds)。为了便于说明,描述了5X5的二维数组。然而,相同的实施例适用于任何尺寸或维度的矩阵。
[0017]每个内核系数可以存储为尾数m和指数e。对于具有B
m
位的尾数的给定表示,第i个内核系数m
i
的整数尾数界限如下:
[0018]M
min
≤m
i
≤M
max
,其中
[0019]M
min


2^(B
m

1)和
[0020]M
max
≡(2^(B
m

1))
‑1[0021]此外,第i个内核系数的指数e
i
被界限到以下范围:
[0022](E
g

E
i
)≤e
i
≤E
g
[0023]E
gmin
≤E
g
<E
gmax
[0024]其中,E
g
是整个内核共享的全局整数比例因子,并且E
i
是任何系数的最大整数比例因子调整。因此,对于第i个内核系数,C
i
可定义为:
[0025][0026]该等式可以解释为具有2的指数的幂的整数尾数。正是这些C值被用来保留矩阵,其中转换后的值之和的误差最小。
[0027]参考图1,示出了大小为5X5的内核系数矩阵100的表示。每个单元105包括标记为K0至K
24
的浮点值,每个浮点值都将被转换为定点值。对于每个值,可以计算C值(例如,从K0计算出C0,从K1计算出C1)。
[0028]图1的矩阵包含每个单元格的唯一值。然而,在一些实施例中,矩阵可以具有水平对称性、垂直对称性和/或对角线对称性,特别是当矩阵具有内核系数时。例如,参考图2,示出了具有垂直对称性和水平对称性的矩阵200。如图所示,区域205包括唯一(only)单元值,其对于矩阵是独特(unique)的。其余单元具有这些值之一,以使矩阵的左侧是矩阵的右侧的镜像,具有垂直对称性的特性。此外,矩阵的上半部分是矩阵的下半部分的镜像,具有水平对称性的特性。参考图3,示出了具有对角线对称性的矩阵。在矩阵300中,两个方向的对角线都围绕矩阵的中心镜像,标记为K
12
,并显示为阴影单元。区域305中的值是矩阵中唯一
独特值。
[0029]对于任何矩阵,可以计算r
i
的值,定义为:
[0030][0031]对于没有对称性且没有重复值的矩阵,例如矩阵100,由于20=1,所有r值将为0。对于对称矩阵,r值将反映每个值的出现次数。例如,对于矩阵200,因为K0在矩阵中出现四次,所以r0=2。类似地,矩阵200的r值为:
[0032]r0=2...

【技术保护点】

【技术特征摘要】
1.一种用于优化矩阵转换的方法,包括:接收实数矩阵,其中每个实数由尾数和指数表示;识别要对所述矩阵执行的数学运算;基于所述矩阵与所述数学运算,确定计算资源需求;确定所需的计算资源需求超过阈值;将所述矩阵转换为转换后的矩阵,其中所述转换后的矩阵使所述矩阵之和与所述转换后的矩阵之和之间的误差最小;基于所述数学运算与所述转换后的矩阵生成结果;以及提供所述结果。2.根据权利要求1所述的方法,其中所述矩阵是滤波器内核。3.根据权利要求1所述的方法,其中所述矩阵具有水平对称性、垂直对称性或对角线对称性中的至少一种,并且其中至少部分地基于所述矩阵的对称性来转换所述矩阵。4.根据权利要求1所述的方法,其中将所述矩阵转换为转换后的矩阵包括:裁剪一个或更多个系数以减少所述一个或更多个系数的存储位的数目,并且其中裁剪后的存储位用于确定所述误差。5.根据权利要求4所述的方法,其中裁剪所述一个或更多个系数包括:减少一个或更多个系数的尾数的存储位的数目。6.根据权利要求1所述的方法,还包括:基于所述转换后的矩阵与所述数学运算,确定第二计算资源需求;以及确定所需的第二计算资源需求未超过所述阈值。7.根据权利要求1所述的方法,其中所述转换后的矩阵包括被表示为定点数的条目。8.根据权利要求1所述的方法,其中基于所述矩阵的大小、所述矩阵的最大存储限制以及对所述矩阵执行所述运算的最大计算时间中的至少一个来确定所需的计算资源需求超过阈值。9.根据权利要求1所述的方法,还包括:接收第二实数矩阵;确定要对所述矩阵与所述第二矩阵执行所述数学运算;以及将所述第二矩阵转换为第二转换后的矩阵,其中所述第二转换后的矩阵使所述第二矩阵之和与所述第二转换后的矩阵之和之间的误差最小;其中生成所述结果还基于所述第二转换后的矩阵。10.一种系统,包括:一个或更多个处理器,所述一个或更多个处理器包括数学处理器;数学处理存储器,能够操作为执行一个或更多个数学运算;以及存储器,所述存储器包含指令,所述指令在由所述一个或更多个处理器执行时使得所述系统:接收实数矩阵,其中每个实数由尾数和指数表示;识别由所述数学处理器使用所述数学处理存储器对所述矩阵要执行的数学运算;至少基于所述矩阵与所述数学运算确定计算资源需求;基于所述数学处理存储器和所述数学处理器中的至少一个,确定所需的计算...

【专利技术属性】
技术研发人员:M
申请(专利权)人:辉达公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1