当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于矩阵乘法阵列上的可分离卷积过滤器操作的方法和装置制造方法及图纸

技术编号:37857345 阅读:12 留言:0更新日期:2023-06-15 20:47
描述了涉及矩阵乘法阵列上的可分离卷积过滤器操作的方法和装置。在实施例中,逻辑电路基于二维卷积核来生成第一卷积核和第二卷积核。矩阵处理阵列包括多个融合乘加FMA块,该矩阵处理阵列在第一轮次期间将第一卷积核应用于输入数据来生成中间数据,并且该矩阵处理阵列将第二卷积核应用于中间数据来生成输出数据。还公开并要求保护其他实施例。数据。还公开并要求保护其他实施例。数据。还公开并要求保护其他实施例。

【技术实现步骤摘要】
用于矩阵乘法阵列上的可分离卷积过滤器操作的方法和装置


[0001]本公开总体上涉及电子学领域。更具体地,实施例涉及矩阵乘法阵列上的可分离卷积过滤器操作。

技术介绍

[0002]矩阵处理阵列在基于人工智能(Artificial Intelligence,AI)的加速器中变得越来越受欢迎(例如,充当脉动阵列体系结构的特殊情况),并且由此具有有限的内部通信网络和执行能力。矩阵处理脉动阵列一般可以通过仅支持对两个输入数组的简单的通用矩阵

矩阵(General Matrix

Matrix,GEMM)操作来获得性能。然而,此种方式无法高效地支持图像处理过滤器,这是由于图像处理过滤器的操作涉及在每个时间步长中将过滤器移位单个元素,导致输入图像的集合很大。
[0003]尽管由于每个维度上递增移位的性质、此类方式可能允许大量数据的重新使用并且可能允许对同一元素执行多个操作,但是至少部分地由于输入数组/图像的大小,缓存操作和重新使用可能无法以高效地方式可用。
[0004]相应地,此类技术可能引起性能、复杂性和/或功耗问题。
附图说明
[0005]参考所附附图提供详细描述。在附图中,附图标记最左边的(一个或多个)数字标识该附图标记在其中首次出现的附图。相同的附图标记在不同附图中的使用指示类似或相同的项。
[0006]图1图示可在各实施例中利用的样本融合乘加(Fused Multiply

Add,FMA)块的电路图。
[0007]图2图示根据实施例的、具有对图像处理过滤器的跨通道输入支持的矩阵处理阵列的框图。
[0008]图3图示根据实施例的样本可分离卷积操作。
[0009]图4图示根据实施例的、图像处理过滤器阵列上的样本3
×
3可分离卷积过滤器的实现和操作。
[0010]图5A是图示根据实施例的示例性指令格式的框图。
[0011]图5B是图示根据一个实施例的指令格式中构成完整操作码字段的字段的框图。
[0012]图5C是图示根据一个实施例的指令格式中构成寄存器索引字段的字段的框图。
[0013]图5D是图示根据一个实施例的指令格式中构成扩充操作字段的字段的框图。
[0014]图6是根据一个实施例的寄存器体系结构的框图。
[0015]图7A是图示出根据实施例的示例性有序管线以及示例性寄存器重命名、乱序发出/执行管线两者的框图。
[0016]图7B是图示根据实施例的要包括在处理器中的有序体系结构核心的示例性实施例和示例性的寄存器重命名、乱序发出/执行体系结构核心两者的框图。
[0017]图8图示根据实施例的SOC(System On Chip,片上系统)封装的框图。
[0018]图9是根据实施例的处理系统的框图。
[0019]图10是根据一些实施例的具有一个或多个处理器核心的处理器的实施例的框图。
[0020]图11是根据实施例的图形处理器的框图。
具体实施方式
[0021]在下列描述中,阐述了众多特定细节以便提供对各实施例的透彻理解。然而,在没有这些特定细节的情况下,也可实施各实施例。在其他实例中,未详细描述公知的方法、过程、组件和电路,以免使特定实施例变得模糊。此外,实施例的各方面可使用各种手段来执行,诸如集成半导体电路(“硬件”)、组织成一个或多个程序的计算机可读指令(“软件”)、或硬件与软件的某种组合。出于本公开的目的,对“逻辑”的引用将意指硬件(诸如,逻辑电路或更一般地说,电路系统或电路)、软件、固件或它们的某种组合。
[0022]如上文所提及,矩阵处理阵列在基于人工智能(Artificial Intelligence,AI)的加速器中变得越来越受欢迎(例如,充当脉动阵列体系结构的特殊情况),由此具有有限的内部通信网络和执行能力。用于矩阵处理脉动阵列的操作一般可以通过仅支持对两个输入数组的简单的通用矩阵

矩阵(General Matrix

Matrix,GEMM)操作来获得性能。然而,此种体系结构不支持图像处理过滤器,这是由于图像处理过滤器的操作涉及在每个时间步长中将过滤器移位单个元素,导致输入图像的集合很大。
[0023]然而,此种体系结构既不支持图像处理过滤器作为二维(two

dimensional,2D)操作也不支持其作为矩阵

向量解决方案(诸如,可分离卷积过滤器),这是因为它们的操作涉及在每个时间步长中将过滤器移位单个元素,导致输入图像的集合很大、全部基于同一原始图像、各自随后被移位一个元素。这跨图像的宽度继续,随后整个操作针对图像的每个随后的行被重复,每次向下移位一个元素。尽管由于每个维度上递增移位的性质、此类算法可以重新使用大量数据并对同一元素执行多个操作,但是部分地由于输入数组/图像的大小,缓存操作和重新使用以合理的方式实现可以是不可能的。
[0024]为了解决这些问题中的至少一些问题,一个或多个实施例提供用于矩阵乘法阵列上的可分离卷积过滤器操作的技术。如本文中所讨论,“卷积过滤器操作”一般是指图像与过滤器核(kernel)(例如,采用矩阵的形式)之间的卷积操作。在实施例中,过滤器核可以被分解为相当的可分离卷积过滤器/核(参见,例如图2)。至少一个实施例提供用于支持矩阵处理阵列上的可分离卷积算法的高效的方法和/或装置,其支持多种派生类型的图像处理过滤器。在矩阵处理阵列上支持(一个或多个)可分离卷积核可以实现超出最先进的基于向量的方式的指数级性能。如本文中所讨论,“卷积核”一般是指用于修改输入信号的频率响应的小型矩阵。作为示例,卷积核可以被用来跨多个应用和/或域进行模糊、锐化、边缘检测和其他矩阵处理功能。
[0025]进一步地,在一些实施例中,可利用一个或多个指令在矩阵处理阵列上配置、加载、执行和/或存储(一个或多个)可分离过滤器。在至少一些实施例中,本文中所讨论的指令中的一者或多者可遵循参考图5A

图5D所讨论的指令格式。
[0026]相较之下,一些实现方式可涉及2D矩阵操作到所定义的处理器上所支持的向量指令的序列的分解。此类实现方式涉及操作从矩阵

矩阵算法到向量操作的序列的分解。这涉
及大量指令的执行(诸如,针对算法的每一个融合乘加(FMA)操作存在一个指令),这相比于脉动方式显著更慢。另外,要求存储和重新加载中间值,这生成延迟,消耗相当大量的功率和面积来用于(一个或多个)操作以及(一个或多个)存储器存储任务/(一个或多个)存储器存储块两者。
[0027]在一个实施例中,提供用于高效地支持矩阵处理阵列上的图像处理过滤器的指令集体系结构(Instruction Set Architecture,ISA)或更一般地,指令和/或微体系结构。实施例通过在FMA单元之间添加单向跨通道通信、中间行存储操作以及用于配置和执行过滤器操作的指令来扩本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于在矩阵乘法阵列上提供可分离卷积过滤器操作的装置,所述装置包括:逻辑电路,用于基于二维卷积核来生成第一卷积核和第二卷积核;矩阵处理阵列,包括多个融合乘加FMA块以在第一轮次期间将所述第一卷积核应用于输入数据来生成中间数据;并且所述矩阵处理阵列用于将所述第二卷积核应用于所述中间数据来生成输出数据。2.如权利要求1所述的装置,其中,所述输入数据包括图像数据。3.如权利要求1所述的装置,其中,所述第一卷积核和所述第二卷积核各自包括一维向量。4.如权利要求1所述的装置,其中,对于N
×
N二维卷积核,所述逻辑电路用于生成N
×
1卷积核和1
×
N卷积核。5.如权利要求1所述的装置,其中,所述多个FMA块的子集耦合至存储器以存储一个或多个核值。6.如权利要求1所述的装置,其中,所述矩阵处理阵列包括其中每个列元素垂直地耦合至所述每个列元素相邻的下游FMA元件的所述多个FMA块的二维矩阵,其中,数据用于在最后的FMA元件操作之后被存储。7.如权利要求1所述的装置,其中,具有一个或多个处理器核心的处理器包括所述逻辑电路。8.如权利要求7所述的装置,其中,所述处理器包括图形处理单元和/或通用处理器。9.如权利要求1所述的装置,其中,一个或多个指令用于被执行以在所述矩阵处理阵列上配置、加载、执行和/或存储所述第一卷积核和所述第二卷积核。10.如权利要求1所述的装置,其中,所述矩阵处理阵列用于应用所述第一卷积核和所述第二卷积核,以执行以下各项中的一项或多项中的操作:图像处理、数据过滤、以及数据编码或解码。11.如权利要求1所述的装置,其中,所述矩阵处理阵列包括脉动阵列。12.一种用于在矩阵乘法阵列上提供可分离卷积过滤器操作的装置,所述装置包括:逻辑电路,用于基于二维卷积核来生成第一卷积核和第二卷积核;解码电路,用于对指令解码,所述指令具有用于操作对象值的字段;以及执行电路,用于执行经解码的指令以在矩阵处理阵列上执行一个或多个操作,其中,矩阵处理阵列包括多个融合乘加FM...

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

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

1