CN113641952B - 卷积设备、卷积方法、矩阵拆聚装置以及矩阵拆聚方法 - Google Patents

卷积设备、卷积方法、矩阵拆聚装置以及矩阵拆聚方法 Download PDF

Info

Publication number
CN113641952B
CN113641952B CN202111195064.8A CN202111195064A CN113641952B CN 113641952 B CN113641952 B CN 113641952B CN 202111195064 A CN202111195064 A CN 202111195064A CN 113641952 B CN113641952 B CN 113641952B
Authority
CN
China
Prior art keywords
matrix
sub
split
regions
matrices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111195064.8A
Other languages
English (en)
Other versions
CN113641952A (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Bilin Technology Development Co ltd
Shanghai Bi Ren Technology Co ltd
Original Assignee
Beijing Bilin Technology Development Co ltd
Shanghai Biren Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Bilin Technology Development Co ltd, Shanghai Biren Intelligent Technology Co Ltd filed Critical Beijing Bilin Technology Development Co ltd
Priority to CN202111195064.8A priority Critical patent/CN113641952B/zh
Publication of CN113641952A publication Critical patent/CN113641952A/zh
Application granted granted Critical
Publication of CN113641952B publication Critical patent/CN113641952B/zh
Priority to US17/958,441 priority patent/US20230117626A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供一种卷积设备、卷积方法、矩阵拆聚装置以及矩阵拆聚方法。卷积设备包括数据存储器、矩阵拆聚装置以及卷积运算装置。矩阵拆聚装置将存储在数据存储器的第一矩阵拆分为s*s个第二矩阵(或是将存储在数据存储器的s*s个第二矩阵聚合为第一矩阵),其中s大于1。在第一矩阵的每一个s*s子区域中的元素一对一地作为这些第二矩阵的元素。卷积运算装置将步长为s的卷积运算的卷积核拆分为s*s个子核。卷积运算装置使用任一个子核对一个对应第二矩阵进行步长为1的卷积运算。卷积运算装置累加这些第二矩阵的运算结果作为对第一矩阵进行步长为s的卷积运算的运算结果。

Description

卷积设备、卷积方法、矩阵拆聚装置以及矩阵拆聚方法
技术领域
本发明涉及一种矩阵计算,且特别涉及一种卷积设备、卷积方法、矩阵拆聚装置以及矩阵拆聚方法。
背景技术
在人工智能(artificial intelligence, AI)中,或是类神经网络(neuralnetwork),往往会执行大量的矩阵乘法计算。作为实例,自然语言处理(natural languageprocessing,NLP)模型有大量通用矩阵乘法(General Matrix Multiplication,GEMM)计算。基于GEMM,在计算机视觉(computer vision,CV)模型中也有大量卷积(convolution)运算。基于实际应用,处理单元可以使用卷积核(convolution kernel)对目标矩阵进行步长(stride)为1、2或其他数值的卷积运算。步长为1的卷积运算为公知运算,故在此不予赘述。在对m*n的目标矩阵完成步长为1的卷积运算后,处理单元可以产生另一个m*n的矩阵作为卷积运算结果。
在对m*n的目标矩阵完成步长为2的卷积运算后,处理单元可以产生一个(m/2)*(n/2)的矩阵作为卷积运算结果。对于步长为2的卷积运算,公知处理单元是先对m*n的目标矩阵进行步长为1的卷积运算来产生m*n的运算结果矩阵,然后丢弃在运算结果矩阵中3/4的元素来产生(m/2)*(n/2)的矩阵作为步长为2的卷积运算结果。可想而知,运算结果矩阵的m*n个元素的每一个的产生都需要花费算力与时间。元素的丢弃意味着算力与时间的浪费。如何更有效率地对矩阵执行步长大于1的卷积运算,是本技术领域的重要技术课题之一。
发明内容
本发明提供一种卷积(convolution)设备、卷积方法、矩阵拆聚装置以及矩阵拆聚方法,以有效率地对矩阵执行步长大于1的卷积运算。
在根据本发明的实施例中,所述卷积设备用以进行步长(stride)大于1的卷积运算。卷积设备包括数据存储器、矩阵拆聚装置以及卷积运算装置。矩阵拆聚装置耦接至数据存储器。矩阵拆聚装置用以将存储在数据存储器的第一矩阵拆分(unknit)为s*s个第二矩阵或是将存储在数据存储器的s*s个第二矩阵聚合(knit)为第一矩阵,其中所述s为大于1的整数且为卷积运算的步长。所述第一矩阵被分为多个s*s子区域。在这些s*s子区域的每一个中的s*s个元素一对一地作为所述s*s个第二矩阵的一个元素。卷积运算装置耦接至数据存储器。卷积运算装置将用于对第一矩阵进行步长为s的卷积运算的卷积核(convolution kernel)根据所述s*s个元素拆分为s*s个子核,其中所述s*s个子核一对一地适用于所述s*s个第二矩阵。卷积运算装置使用所述s*s个子核的任一个对所述s*s个第二矩阵中的一个对应第二矩阵进行步长为1的卷积运算以产生第一运算结果。卷积运算装置累加所述s*s个第二矩阵的每一个的所述第一运算结果作为对第一矩阵进行步长为s的卷积运算的第二运算结果。
在根据本发明的实施例中,所述卷积方法用以进行步长大于1的卷积运算。卷积方法包括:由矩阵拆聚装置将存储在数据存储器的第一矩阵拆分为s*s个第二矩阵或是将存储在数据存储器的s*s个第二矩阵聚合为第一矩阵,其中所述s为大于1的整数且为卷积运算的步长,第一矩阵被分为多个s*s子区域,以及在所述多个s*s子区域的每一个中的s*s个元素一对一地作为所述s*s个第二矩阵的一个元素;由卷积运算装置将用于对第一矩阵进行步长为s的卷积运算的卷积核根据所述s*s个元素拆分为s*s个子核,其中所述s*s个子核一对一地适用于所述s*s个第二矩阵;由卷积运算装置使用所述s*s个子核的任一个对所述s*s个第二矩阵中的一个对应第二矩阵进行步长为1的卷积运算,以产生第一运算结果;以及由卷积运算装置累加所述s*s个第二矩阵的每一个的所述第一运算结果作为对第一矩阵进行步长为s的卷积运算的第二运算结果。
在根据本发明的实施例中,所述矩阵拆聚装置包括临时寄存器以及执行单元。临时寄存器用以从数据存储器读取第一矩阵或是s*s个第二矩阵。执行单元耦接至临时寄存器。执行单元用以将存储在临时寄存器的第一矩阵拆分为s*s个第二矩阵或是将存储在临时寄存器的s*s个第二矩阵聚合为第一矩阵,其中所述s为大于1的整数。第一矩阵被分为多个s*s子区域,以及在所述多个s*s子区域的每一个中的s*s个元素一对一地作为所述s*s个第二矩阵的一个元素。
在根据本发明的实施例中,所述矩阵拆聚方法包括:由临时寄存器从数据存储器读取第一矩阵或是s*s个第二矩阵;以及由执行单元将存储在临时寄存器的第一矩阵拆分为s*s个第二矩阵或是将存储在临时寄存器的s*s个第二矩阵聚合为第一矩阵,其中所述s为大于1的整数,第一矩阵被分为多个s*s子区域,以及在所述多个s*s子区域的每一个中的s*s个元素一对一地作为所述s*s个第二矩阵的一个元素。
基于上述,本发明诸实施例所述卷积设备先利用矩阵拆聚装置对矩阵进行拆聚。例如,矩阵拆聚装置可以将第一矩阵拆分为s*s个第二矩阵。或者,矩阵拆聚装置可以将s*s个第二矩阵聚合为第一矩阵。其中,所述s为卷积运算的步长且为大于1的整数。此外,卷积运算装置还可以将卷积运算的卷积核根据所述s*s个元素拆分为s*s个子核,其中这些子核一对一地适用于这些第二矩阵。基于第一矩阵与卷积核的拆分,卷积运算装置可以使用任一个子核对一个对应第二矩阵进行步长为1的卷积运算。卷积运算装置可以累加这些第二矩阵的每一个的运算结果作为对第一矩阵进行步长为s的卷积运算的运算结果。因此,所述卷积设备可以有效率地对矩阵执行步长大于1的卷积运算。
附图说明
图1是依照本发明的一实施例的一种卷积设备的电路方块(circuit block)示意图。
图2是依照本发明的一实施例的一种卷积方法的流程示意图。
图3是依照本发明的一实施例所绘示,一个8*8矩阵的具体范例示意图。
图4是依照本发明的一实施例所绘示,图3所示8*8矩阵被拆分为4个第二矩阵的具体范例示意图。
图5是依照本发明的一实施例所绘示,一个3*3矩阵的具体范例示意图。
图6是依照本发明的一实施例所绘示,图5所示3*3矩阵被拆分为4个子核的具体范例示意图。
图7是依照本发明的另一实施例所绘示,一个9*9矩阵的具体范例示意图。
图8是依照本发明的一实施例所绘示,图7所示9*9矩阵被拆分为9个第二矩阵的具体范例示意图。
图9是依照本发明的一实施例所绘示,图1所示矩阵拆聚装置的电路方块示意图。
图10是依照本发明的一实施例的一种矩阵拆聚方法的流程示意图。
图11是依照本发明的另一实施例的一种矩阵拆聚方法的流程示意图。
附图标记说明
100:卷积设备
110:矩阵拆聚装置
111:临时寄存器
112:执行单元
120:数据存储器
130:卷积运算装置
CK:卷积核
CK_1、CK_2、CK_3、CK_4:子核
CMD:指令
Ka、Kb、Kc、Kd、Ke、Kf、Kg、Kh、Ki:元素
LL:左下元素
LM:左中元素
LU:左上元素
M1、M3:第一矩阵
M2_1、M2_2、M2_3、M2_4、M4_1、M4_2、M4_3、M4_4、M4_5、M4_6、M4_7、M4_8、M4_9:经拆分矩阵(第二矩阵)
ML:中下元素
MM:中中元素
MU:中上元素
RL:右下元素
RM:右中元素
RU:右上元素
S210、S220、S230、S240、S1010、S1020、S1110、S1120:步骤。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在附图和描述中用来表示相同或相似部分。
在本案说明书全文(包括权利要求)中所使用的“耦接(或连接)”一词可指任何直接或间接的连接手段。举例而言,若文中描述第一装置耦接(或连接)于第二装置,则应该被解释成该第一装置可以直接连接于该第二装置,或者该第一装置可以透过其他装置或某种连接手段而间接地连接至该第二装置。本案说明书全文(包括权利要求)中提及的“第一”、“第二”等用语是用以命名组件(element)的名称,而并非用来限制组件数量的上限或下限,亦非用来限制组件的次序。另外,凡可能之处,在附图及实施方式中使用相同标号的组件/构件/步骤代表相同或类似部分。不同实施例中使用相同标号或使用相同用语的组件/构件/步骤可以相互参照相关说明。
图1是依照本发明的一实施例的一种卷积(convolution)设备100的电路方块(circuit block)示意图。图1所示卷积设备100包括矩阵拆聚装置110、数据存储器120以及卷积运算装置130。矩阵拆聚装置110耦接至数据存储器120。矩阵拆聚装置110可以将存储在数据存储器120的第一矩阵拆分(unknit)为s*s个第二矩阵。或是,矩阵拆聚装置110可以将存储在数据存储器120的s*s个第二矩阵聚合(knit)为所述第一矩阵。其中,所述s为大于1的整数,且s为卷积运算装置130所进行的卷积运算的步长(stride)。卷积运算的步长s可以依照实际设计来决定。
图2是依照本发明的一实施例的一种卷积方法的流程示意图。请参照图1与图2。在步骤S210中,矩阵拆聚装置110可以将存储在数据存储器120的第一矩阵拆分为s*s个第二矩阵(或是将存储在数据存储器120的s*s个第二矩阵聚合为第一矩阵)。其中,所述第一矩阵被分为多个s*s子区域。所谓s*s子区域意指一个s*s子矩阵,亦即一个子区域具有s*s个元素。在这些s*s子区域的每一个中的s*s个元素一对一地作为这些第二矩阵的一个元素。举例来说,矩阵拆聚装置110可以从数据存储器120读取第一矩阵。矩阵拆聚装置110可以将所述第一矩阵切分为多个s*s子区域。矩阵拆聚装置110可以收集在这些s*s子区域中的一个相同位置的元素作为这些第二矩阵的其中一个的s*s个元素。因此,矩阵拆聚装置110可以将一个第一矩阵拆分为s*s个第二矩阵。矩阵拆聚装置110可以收集在这些s*s子区域中的一个相同位置的元素作为一个第二矩阵的s*s个元素。因此,矩阵拆聚装置110可以将一个第一矩阵拆分为s*s个第二矩阵。
作为实例,卷积运算的步长s可以是2。图3是依照本发明的一实施例所绘示,一个8*8矩阵的具体范例示意图。图3所示8*8矩阵可以作为第一矩阵M1。图3所示横轴标示了第一矩阵M1的列(column)序号1~8,而图3所示纵轴标示了第一矩阵M1的行(row)序号1~8。矩阵拆聚装置110可以从数据存储器120读取第一矩阵M1。基于卷积运算的步长s为2,矩阵拆聚装置110可以将第一矩阵M1切分为多个2*2子区域(亦即图3所示多个实线方框)。在这些2*2子区域中的一个相同位置被标示一个相同图式符号,而且在一个子区域中的不同位置被标示不同图式符号。在图3所示实施例中,在这些子区域(亦即图3所示实线方框)的每一个中的2*2个元素包括左上元素LU、右上元素RU、左下元素LL与右下元素RL。须注意的是,被标上相同图式符号(例如LU)的元素不代表具有相同(或不同)数值。图式符号LU、RU、LL与RL无关于元素数值。矩阵拆聚装置110可以收集在这些2*2子区域中的一个相同位置的元素作为一个第二矩阵的元素。因此,第一矩阵M1可以被拆分为2*2个第二矩阵。
图4是依照本发明的一实施例所绘示,图3所示8*8矩阵被拆分为4个第二矩阵的具体范例示意图。图4所示4个第二矩阵分别为经拆分矩阵M2_1、经拆分矩阵M2_2、经拆分矩阵M2_3与经拆分矩阵M2_4。这些经拆分矩阵M2_1~M2_4都是4*4矩阵。矩阵拆聚装置110可以收集在第一矩阵M1的这些2*2子区域中的相同位置的左上元素LU作为经拆分矩阵M2_1(第二矩阵)的元素。图4所示横轴标示了经拆分矩阵M2_1的列序号1~4,其中括号中的列序号表示图3所示第一矩阵M1的列序号。图4所示纵轴标示了经拆分矩阵M2_1的行序号1~4,其中括号中的行序号表示图3所示第一矩阵M1的行序号。经拆分矩阵M2_2、经拆分矩阵M2_3与经拆分矩阵M2_4可以参照经拆分矩阵M2_1的相关说明加以类推,故不再赘述。
请参照图1与图2。在步骤S220中,图1所示卷积运算装置130耦接至数据存储器120。卷积运算装置130可以将用于对第一矩阵进行步长为s的卷积运算的卷积核(convolution kernel)根据所述s*s个元素拆分为s*s个子核。其中,这些子核一对一地适用于所述s*s个第二矩阵。所述卷积核可以是一个矩阵。卷积核的列数量与行数量可以依照实际设计来决定。
作为实例,卷积运算的步长s可以是2,而所述卷积核可以是一个3*3矩阵。图5是依照本发明的一实施例所绘示,一个3*3矩阵的具体范例示意图。图3所示3*3矩阵可以作为卷积核CK。卷积核CK具有元素Ka、Kb、Kc、Kd、Ke、Kf、Kg、Kh与Ki。卷积核的这些元素Ka~Ki的数值可以依照实际设计来决定。卷积运算装置130可以将用于对第一矩阵M1进行步长为2的卷积运算的卷积核CK拆分为2*2个子核。
图6是依照本发明的一实施例所绘示,图5所示3*3矩阵被拆分为4个子核的具体范例示意图。在卷积运算的步长s为2的情况下,图5所示卷积核CK可以被拆分为图6所示4个子核,亦即子核CK_1、子核CK_2、子核CK_3与子核CK_4。子核CK_1为2*2矩阵且包含卷积核CK的左上元素Ka、右上元素Kc、左下元素Kg与右下元素Ki。子核CK_2为2*1矩阵且包含卷积核CK的中上元素Kb与中下元素Kh。子核CK_3为1*2矩阵且包含卷积核CK的左中元素Kd与右中元素Kf。子核CK_4为1*1矩阵包含卷积核CK的中中元素Ke。
请参照图1与图2。在步骤S230中,卷积运算装置130可以使用所述s*s个子核的任一个对所述s*s个第二矩阵中的一个对应第二矩阵进行步长为1的卷积运算,以产生第一运算结果。步长为1的卷积运算过程为公知运算,故在此不予赘述。在步骤S240中,卷积运算装置130可以累加所述s*s个第二矩阵的每一个的所述第一运算结果,并将累加结果作为对所述第一矩阵进行步长为s的卷积运算的运算结果(第二运算结果)。
作为实例,对图3所示第一矩阵M1所进行卷积运算的步长s可以是2,而所述卷积核可以是一个3*3矩阵。请参照图3至图6。卷积运算装置130可以使用图6所示子核CK_1对图4所示经拆分矩阵M2_1(对应第二矩阵)进行步长为1的卷积运算,以产生一个4*4矩阵(经拆分矩阵M2_1的第一运算结果)。步长为1的卷积运算过程为公知运算,故在此不予赘述。卷积运算装置130可以使用图6所示子核CK_2对图4所示经拆分矩阵M2_2(对应第二矩阵)进行步长为1的卷积运算,以产生另一个4*4矩阵(经拆分矩阵M2_2的第一运算结果)。卷积运算装置130可以使用图6所示子核CK_3对图4所示经拆分矩阵M2_3(对应第二矩阵)进行步长为1的卷积运算,以产生又一个4*4矩阵(经拆分矩阵M2_3的第一运算结果)。卷积运算装置130可以使用图6所示子核CK_4对图4所示经拆分矩阵M2_4(对应第二矩阵)进行步长为1的卷积运算,以产生再一个4*4矩阵(经拆分矩阵M2_4的第一运算结果)。卷积运算装置130可以累加这些经拆分矩阵M2_1~M2_4的这些第一运算结果,以产生一个4*4矩阵(累加结果)。卷积运算装置130可以将累加结果作为,使用图5所示卷积核CK对图3所示第一矩阵M1所进行步长为2的卷积运算的运算结果(第二运算结果)。
须强调的是,依照实际设计,卷积运算的步长s可以大于2。作为实例,卷积运算的步长s可以是3。图7是依照本发明的另一实施例所绘示,一个9*9矩阵的具体范例示意图。图7所示9*9矩阵可以作为第一矩阵M3。图7所示横轴标示了第一矩阵M3的列序号1~9,而图7所示纵轴标示了第一矩阵M3的行序号1~9。矩阵拆聚装置110可以从数据存储器120读取第一矩阵M3。基于卷积运算的步长s为3,矩阵拆聚装置110可以将第一矩阵M3切分为多个3*3子区域(亦即图7所示多个实线方框)。在这些3*3子区域中的一个相同位置被标示一个相同图式符号,而且在一个子区域中的不同位置被标示不同图式符号。在图7所示实施例中,在这些子区域(亦即图7所示实线方框)的每一个中的3*3个元素包括左上元素LU、中上元素MU、右上元素RU、左中元素LM、中中元素MM、右中元素RM、左下元素LL、中下元素ML与右下元素RL。须注意的是,被标上相同图式符号(例如LU)的元素不代表具有相同(或不同)数值。图式符号LU、MU、RU、LM、MM、RM、LL、ML与RL无关于元素数值。矩阵拆聚装置110可以收集在这些3*3子区域中的一个相同位置的元素作为一个第二矩阵的元素。因此,第一矩阵M3可以被拆分为3*3个第二矩阵。
图8是依照本发明的一实施例所绘示,图7所示9*9矩阵被拆分为9个第二矩阵的具体范例示意图。图8所示9个第二矩阵分别为经拆分矩阵M4_1、经拆分矩阵M4_2、经拆分矩阵M4_3、经拆分矩阵M4_4、经拆分矩阵M4_5、经拆分矩阵M4_6、经拆分矩阵M4_7、经拆分矩阵M4_8与经拆分矩阵M4_9。这些经拆分矩阵M4_1~M4_9都是3*3矩阵。矩阵拆聚装置110可以收集在第一矩阵M3的这些3*3子区域中的相同位置的左上元素LU作为经拆分矩阵M4_1(第二矩阵)的元素。图8所示横轴标示了经拆分矩阵M4_1的列序号1~3,其中括号中的列序号表示图7所示第一矩阵M3的列序号。图8所示纵轴标示了经拆分矩阵M4_1的行序号1~3,其中括号中的行序号表示图7所示第一矩阵M3的行序号。经拆分矩阵M4_2、经拆分矩阵M4_3、经拆分矩阵M4_4、经拆分矩阵M4_5、经拆分矩阵M4_6、经拆分矩阵M4_7、经拆分矩阵M4_8与经拆分矩阵M4_9可以参照经拆分矩阵M4_1的相关说明加以类推,故不再赘述。
图3与图4说明矩阵拆分操作的一个实施例,而图7与图8说明矩阵拆分操作的另一个实施例。对应于矩阵拆聚装置110的矩阵拆分操作,卷积运算装置130可以将卷积运算的卷积核CK拆分为s*s个子核,其中这些子核一对一地适用于不同经拆分矩阵(第二矩阵)。基于第一矩阵与卷积核CK的拆分,卷积运算装置可以使用任一个子核对一个对应第二矩阵进行步长为1的卷积运算。卷积运算装置可以累加这些第二矩阵的运算结果,作为使用卷积核CK对第一矩阵进行步长为s的卷积运算的运算结果。因此,所述卷积设备可以有效率地对矩阵执行步长大于1的卷积运算。从上述实施范例的相关说明可以类推,矩阵拆聚装置110可以将存储在数据存储器120的s*s个第二矩阵聚合(knit)为第一矩阵。举例来说,矩阵拆聚装置110可以从数据存储器120读取所述s*s个第二矩阵。矩阵拆聚装置110可以将所述第一矩阵切分为多个s*s子区域。矩阵拆聚装置110可以收集在所述s*s个第二矩阵中的一个相同位置的元素作为所述第一矩阵的这些s*s子区域的其中一个的元素,以将这些第二矩阵聚合为所述第一矩阵。
图9是依照本发明的一实施例所绘示,图1所示矩阵拆聚装置110的电路方块示意图。图1所示矩阵拆聚装置110包括临时寄存器111以及执行单元112。临时寄存器111可以从数据存储器120读取第一矩阵(例如图3所示第一矩阵M1或是图7所示第一矩阵M3)或是s*s个第二矩阵(例如图4所示第二矩阵M2_1~M2_4或是图8所示第二矩阵M4_1~M4_9)。执行单元112可以执行指令CMD。基于指令CMD的执行,执行单元112可以将存储在临时寄存器111的所述第一矩阵拆分为所述s*s个第二矩阵,或是将存储在临时寄存器111的所述s*s个第二矩阵聚合为所述第一矩阵。其中,所述s为大于1的整数。在其他实施例中,执行单元112可以通过其他控制方式将存储在临时寄存器111的所述第一矩阵拆分为所述s*s个第二矩阵,或是将存储在临时寄存器111的所述s*s个第二矩阵聚合为所述第一矩阵。
图10是依照本发明的一实施例的一种矩阵拆聚方法的流程示意图。请参照图9与图10。在步骤S1010中,临时寄存器111可以从数据存储器120读取第一矩阵(例如图3所示第一矩阵M1或是图7所示第一矩阵M3)。在步骤S1020中,执行单元112可以执行指令CMD,以将存储在临时寄存器111的所述第一矩阵拆分为s*s个第二矩阵(例如图4所示第二矩阵M2_1~M2_4或是图8所示第二矩阵M4_1~M4_9)。举例来说,执行单元112可以从临时寄存器111读取第一矩阵M1,然后将第一矩阵M1切分为多个s*s子区域(例如图3所示多个2*2子区域,亦即图3所示多个实线方框)。执行单元112可以收集在这些2*2子区域中的一个相同位置的元素,作为图4所示第二矩阵M2_1~M2_4的其中一个的元素。例如,执行单元112可以收集在第一矩阵M1的这些2*2子区域中的相同位置的左上元素LU作为经拆分矩阵M2_1(第二矩阵)的元素。因此,执行单元112可以将第一矩阵M1拆分为第二矩阵M2_1~M2_4。类似于对图3与图4的说明,时寄存器111以及执行单元112亦可以将图7所示第一矩阵M3拆分为图8所示第二矩阵M4_1~M4_9。
图11是依照本发明的另一实施例的一种矩阵拆聚方法的流程示意图。请参照图9与图11。在步骤S1110中,临时寄存器111可以从数据存储器120读取s*s个第二矩阵(例如图4所示第二矩阵M2_1~M2_4或是图8所示第二矩阵M4_1~M4_9)。在步骤S1120中,执行单元112可以执行指令CMD,以将存储在临时寄存器111的所述s*s个第二矩阵聚合为第一矩阵(例如图3所示第一矩阵M1或是图7所示第一矩阵M3)。举例来说,执行单元112可以从临时寄存器111读取第二矩阵M2_1~M2_4,然后将所述第一矩阵切分为多个s*s子区域。执行单元112可以收集在这些第二矩阵M2_1~M2_4中的一个相同位置的元素作为第一矩阵M1的这些s*s子区域的其中一个的元素。例如,执行单元112可以将第一矩阵M1的行列地址(1,1)、(1,2)、(2,1)与(2,2)定义为一个子区域(在此称为目标子区域)。执行单元112可以收集在这些第二矩阵M2_1~M2_4中的相同行列地址(1,1)的四个元素LU、RU、LL、与RL作为在第一矩阵M1的所述目标子区域中的左上元素LU、右上元素RU、左下元素LL与右下元素RL。因此,执行单元112可以将这些第二矩阵M2_1~M2_4聚合为第一矩阵M1。类似于对图3与图4的说明,时寄存器111以及执行单元112亦可以将图8所示第二矩阵M4_1~M4_9聚合为图7所示第一矩阵M3。
依照不同的设计需求,上述矩阵拆聚装置110、执行单元112以及(或是)卷积运算装置130的实现方式可以是硬件(hardware)、固件(firmware)、软件(software,即程序)或是前述三者中的多者的组合形式。以硬件形式而言,上述矩阵拆聚装置110、执行单元112以及(或是)卷积运算装置130可以实现于集成电路(integrated circuit)上的逻辑电路。上述矩阵拆聚装置110、执行单元112以及(或是)卷积运算装置130的相关功能可以利用硬件描述语言(hardware description languages,例如Verilog HDL或VHDL)或其他合适的编程语言来实现为硬件。举例来说,上述矩阵拆聚装置110、执行单元112以及(或是)卷积运算装置130的相关功能可以被实现于一或多个控制器、微控制器、微处理器、特殊应用集成电路(Application-specific integrated circuit, ASIC)、数字信号处理器(digitalsignal processor, DSP)、场可程序逻辑门阵列(Field Programmable Gate Array,FPGA)及/或其他处理单元中的各种逻辑区块、模块和电路。以软件形式及/或固件形式而言,上述矩阵拆聚装置110、执行单元112以及(或是)卷积运算装置130的相关功能可以被实现为编程码(programming codes)。例如,利用一般的编程语言(programming languages,例如C、C++或汇编语言)或其他合适的编程语言来实现上述矩阵拆聚装置110、执行单元112以及(或是)卷积运算装置130。所述编程码可以被记录/存放在「非临时的计算机可读取媒体(non-transitory computer readable medium)」中。在一些实施例中,所述非临时的计算机可读取媒体例如包括带(tape)、碟(disk)、卡(card)、半导体内存、可程序设计的逻辑电路以及(或是)存储装置。所述存储装置包括硬盘(hard disk drive,HDD)、固态硬盘(Solid-state drive,SSD)或是其他存储装置。中央处理器(Central Processing Unit,CPU)、控制器、微控制器或微处理器可以从所述非临时的计算机可读取媒体中读取并执行所述编程码,从而实现上述矩阵拆聚装置110、执行单元112以及(或是)卷积运算装置130的相关功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (20)

1.一种卷积设备,用以进行步长大于1的卷积运算,其特征在于,所述卷积设备包括:
数据存储器;
矩阵拆聚装置,耦接至所述数据存储器,用以将存储在所述数据存储器的第一矩阵拆分为s*s个第二矩阵或是将存储在所述数据存储器的所述s*s个第二矩阵聚合为所述第一矩阵,其中所述s为大于1的整数且为所述卷积运算的步长,所述第一矩阵被分为多个s*s子区域,以及在所述多个s*s子区域的每一个中的s*s个元素一对一地作为所述s*s个第二矩阵的一个元素;以及
卷积运算装置,耦接至所述数据存储器,其中所述卷积运算装置将用于对所述第一矩阵进行步长为s的所述卷积运算的卷积核根据所述s*s个元素拆分为s*s个子核,所述s*s个子核一对一地适用于所述s*s个第二矩阵,所述卷积运算装置使用所述s*s个子核的任一个对所述s*s个第二矩阵中的一个对应第二矩阵进行步长为1的卷积运算以产生第一运算结果,以及所述卷积运算装置累加所述s*s个第二矩阵的每一个的所述第一运算结果作为对所述第一矩阵进行步长为s的所述卷积运算的第二运算结果;
其中,所述矩阵拆聚装置从所述数据存储器读取所述第一矩阵,所述矩阵拆聚装置将所述第一矩阵切分为所述多个s*s子区域,以及所述矩阵拆聚装置收集在所述多个s*s子区域中的一个相同位置的元素作为所述s*s个第二矩阵的其中一个的元素,以将所述第一矩阵拆分为所述s*s个第二矩阵。
2.根据权利要求1所述的卷积设备,其特征在于,所述矩阵拆聚装置从所述数据存储器读取所述s*s个第二矩阵,所述矩阵拆聚装置将所述第一矩阵切分为所述多个s*s子区域,以及所述矩阵拆聚装置收集在所述s*s个第二矩阵中的一个相同位置的元素作为所述第一矩阵的所述多个s*s子区域的其中一个的元素,以将所述s*s个第二矩阵聚合为所述第一矩阵。
3.根据权利要求1所述的卷积设备,其特征在于,所述卷积运算的所述步长s为2,所述第一矩阵被分为多个2*2子区域,在所述多个2*2子区域的每一个中的2*2个元素包括左上元素、右上元素、左下元素与右下元素,2*2个第二矩阵包括第一经拆分矩阵、第二经拆分矩阵、第三经拆分矩阵与第四经拆分矩阵,所述多个2*2子区域的左上元素作为所述第一经拆分矩阵的元素,所述多个2*2子区域的右上元素作为所述第二经拆分矩阵的元素,所述多个2*2子区域的左下元素作为所述第三经拆分矩阵的元素,以及所述多个2*2子区域的右下元素作为所述第四经拆分矩阵的元素。
4.根据权利要求1所述的卷积设备,其特征在于,所述卷积运算的所述步长s为3,所述第一矩阵被分为多个3*3子区域,在所述多个3*3子区域的每一个中的3*3个元素包括左上元素、中上元素、右上元素、左中元素、中中元素、右中元素、左下元素、中下元素与右下元素,3*3个第二矩阵包括第一经拆分矩阵、第二经拆分矩阵、第三经拆分矩阵、第四经拆分矩阵、第五经拆分矩阵、第六经拆分矩阵、第七经拆分矩阵与、第八经拆分矩阵与第九经拆分矩阵,所述多个3*3子区域的左上元素作为所述第一经拆分矩阵的元素,所述多个3*3子区域的中上元素作为所述第二经拆分矩阵的元素,所述多个3*3子区域的右上元素作为所述第三经拆分矩阵的元素,所述多个3*3子区域的左中元素作为所述第四经拆分矩阵的元素,所述多个3*3子区域的中中元素作为所述第五经拆分矩阵的元素,所述多个3*3子区域的右中元素作为所述第六经拆分矩阵的元素,所述多个3*3子区域的左下元素作为所述第七经拆分矩阵的元素,所述多个3*3子区域的中下元素作为所述第八经拆分矩阵的元素,所述多个3*3子区域的右下元素作为所述第九经拆分矩阵的元素。
5.根据权利要求1所述的卷积设备,其特征在于,所述卷积运算的所述步长s为2,所述卷积核为3*3矩阵,所述卷积核被拆分为第一子核、第二子核、第三子核与第四子核,第一子核为2*2矩阵且包含所述卷积核的左上元素、右上元素、左下元素与右下元素,第二子核为2*1矩阵且包含所述卷积核的中上元素与中下元素,第三子核为1*2矩阵且包含所述卷积核的左中元素与右中元素,第四子核为1*1矩阵包含所述卷积核的中中元素。
6.根据权利要求1所述的卷积设备,其特征在于,所述矩阵拆聚装置包括:
临时寄存器,用以从所述数据存储器读取所述第一矩阵或是所述s*s个第二矩阵;以及
执行单元,耦接至所述临时寄存器,用以将存储在所述临时寄存器的所述第一矩阵拆分为所述s*s个第二矩阵或是将存储在所述临时寄存器的所述s*s个第二矩阵聚合为所述第一矩阵。
7.一种卷积方法,用以进行步长大于1的卷积运算,其特征在于,所述卷积方法包括:
由矩阵拆聚装置将存储在数据存储器的第一矩阵拆分为s*s个第二矩阵或是将存储在所述数据存储器的所述s*s个第二矩阵聚合为所述第一矩阵,其中所述s为大于1的整数且为所述卷积运算的步长,所述第一矩阵被分为多个s*s子区域,以及在所述多个s*s子区域的每一个中的s*s个元素一对一地作为所述s*s个第二矩阵的一个元素;
由卷积运算装置将用于对所述第一矩阵进行步长为s的所述卷积运算的卷积核根据所述s*s个元素拆分为s*s个子核,其中所述s*s个子核一对一地适用于所述s*s个第二矩阵;
由所述卷积运算装置使用所述s*s个子核的任一个对所述s*s个第二矩阵中的一个对应第二矩阵进行步长为1的卷积运算,以产生第一运算结果;
由所述卷积运算装置累加所述s*s个第二矩阵的每一个的所述第一运算结果作为对所述第一矩阵进行步长为s的所述卷积运算的第二运算结果;
由所述矩阵拆聚装置从所述数据存储器读取所述第一矩阵;
由所述矩阵拆聚装置将所述第一矩阵切分为所述多个s*s子区域;以及
由所述矩阵拆聚装置收集在所述多个s*s子区域中的一个相同位置的元素作为所述s*s个第二矩阵的其中一个的元素,以将所述第一矩阵拆分为所述s*s个第二矩阵。
8.根据权利要求7所述的卷积方法,其特征在于,所述卷积方法还包括:
由所述矩阵拆聚装置从所述数据存储器读取所述s*s个第二矩阵;
由所述矩阵拆聚装置将所述第一矩阵切分为所述多个s*s子区域;以及
由所述矩阵拆聚装置收集在所述s*s个第二矩阵中的一个相同位置的元素作为所述第一矩阵的所述多个s*s子区域的其中一个的元素,以将所述s*s个第二矩阵聚合为所述第一矩阵。
9.根据权利要求7所述的卷积方法,其特征在于,所述卷积运算的所述步长s为2,所述第一矩阵被分为多个2*2子区域,在所述多个2*2子区域的每一个中的2*2个元素包括左上元素、右上元素、左下元素与右下元素,2*2个第二矩阵包括第一经拆分矩阵、第二经拆分矩阵、第三经拆分矩阵与第四经拆分矩阵,所述多个2*2子区域的左上元素作为所述第一经拆分矩阵的元素,所述多个2*2子区域的右上元素作为所述第二经拆分矩阵的元素,所述多个2*2子区域的左下元素作为所述第三经拆分矩阵的元素,以及所述多个2*2子区域的右下元素作为所述第四经拆分矩阵的元素。
10.根据权利要求7所述的卷积方法,其特征在于,所述卷积运算的所述步长s为3,所述第一矩阵被分为多个3*3子区域,在所述多个3*3子区域的每一个中的3*3个元素包括左上元素、中上元素、右上元素、左中元素、中中元素、右中元素、左下元素、中下元素与右下元素,3*3个第二矩阵包括第一经拆分矩阵、第二经拆分矩阵、第三经拆分矩阵、第四经拆分矩阵、第五经拆分矩阵、第六经拆分矩阵、第七经拆分矩阵与、第八经拆分矩阵与第九经拆分矩阵,所述多个3*3子区域的左上元素作为所述第一经拆分矩阵的元素,所述多个3*3子区域的中上元素作为所述第二经拆分矩阵的元素,所述多个3*3子区域的右上元素作为所述第三经拆分矩阵的元素,所述多个3*3子区域的左中元素作为所述第四经拆分矩阵的元素,所述多个3*3子区域的中中元素作为所述第五经拆分矩阵的元素,所述多个3*3子区域的右中元素作为所述第六经拆分矩阵的元素,所述多个3*3子区域的左下元素作为所述第七经拆分矩阵的元素,所述多个3*3子区域的中下元素作为所述第八经拆分矩阵的元素,所述多个3*3子区域的右下元素作为所述第九经拆分矩阵的元素。
11.根据权利要求7所述的卷积方法,其特征在于,所述卷积运算的所述步长s为2,所述卷积核为3*3矩阵,所述卷积核被拆分为第一子核、第二子核、第三子核与第四子核,第一子核为2*2矩阵且包含所述卷积核的左上元素、右上元素、左下元素与右下元素,第二子核为2*1矩阵且包含所述卷积核的中上元素与中下元素,第三子核为1*2矩阵且包含所述卷积核的左中元素与右中元素,第四子核为1*1矩阵包含所述卷积核的中中元素。
12.根据权利要求7所述的卷积方法,其特征在于,所述卷积方法还包括:
由临时寄存器从所述数据存储器读取所述第一矩阵或是所述s*s个第二矩阵;以及
由执行单元将存储在所述临时寄存器的所述第一矩阵拆分为所述s*s个第二矩阵或是将存储在所述临时寄存器的所述s*s个第二矩阵聚合为所述第一矩阵。
13.一种矩阵拆聚装置,用以进行步长大于1的卷积运算,其特征在于,所述矩阵拆聚装置包括:
临时寄存器,用以从数据存储器读取第一矩阵或是s*s个第二矩阵;以及
执行单元,耦接至所述临时寄存器,用以将存储在所述临时寄存器的所述第一矩阵拆分为所述s*s个第二矩阵或是将存储在所述临时寄存器的所述s*s个第二矩阵聚合为所述第一矩阵,其中所述s为大于1的整数且为所述卷积运算的步长,所述第一矩阵被分为多个s*s子区域,以及在所述多个s*s子区域的每一个中的s*s个元素一对一地作为所述s*s个第二矩阵的一个元素;
其中,所述执行单元从所述临时寄存器读取所述第一矩阵,所述执行单元将所述第一矩阵切分为所述多个s*s子区域,以及所述执行单元收集在所述多个s*s子区域中的一个相同位置的元素作为所述s*s个第二矩阵的其中一个的元素,以将所述第一矩阵拆分为所述s*s个第二矩阵。
14.根据权利要求13所述的矩阵拆聚装置,其特征在于,所述执行单元从所述临时寄存器读取所述s*s个第二矩阵,所述执行单元将所述第一矩阵切分为所述多个s*s子区域,以及所述执行单元收集在所述s*s个第二矩阵中的一个相同位置的元素作为所述第一矩阵的所述多个s*s子区域的其中一个的元素,以将所述s*s个第二矩阵聚合为所述第一矩阵。
15.根据权利要求13所述的矩阵拆聚装置,其特征在于,所述s为2,所述第一矩阵被分为多个2*2子区域,在所述多个2*2子区域的每一个中的2*2个元素包括左上元素、右上元素、左下元素与右下元素,2*2个第二矩阵包括第一经拆分矩阵、第二经拆分矩阵、第三经拆分矩阵与第四经拆分矩阵,所述多个2*2子区域的左上元素作为所述第一经拆分矩阵的元素,所述多个2*2子区域的右上元素作为所述第二经拆分矩阵的元素,所述多个2*2子区域的左下元素作为所述第三经拆分矩阵的元素,以及所述多个2*2子区域的右下元素作为所述第四经拆分矩阵的元素。
16.根据权利要求13所述的矩阵拆聚装置,其特征在于,所述s为3,所述第一矩阵被分为多个3*3子区域,在所述多个3*3子区域的每一个中的3*3个元素包括左上元素、中上元素、右上元素、左中元素、中中元素、右中元素、左下元素、中下元素与右下元素,3*3个第二矩阵包括第一经拆分矩阵、第二经拆分矩阵、第三经拆分矩阵、第四经拆分矩阵、第五经拆分矩阵、第六经拆分矩阵、第七经拆分矩阵与、第八经拆分矩阵与第九经拆分矩阵,所述多个3*3子区域的左上元素作为所述第一经拆分矩阵的元素,所述多个3*3子区域的中上元素作为所述第二经拆分矩阵的元素,所述多个3*3子区域的右上元素作为所述第三经拆分矩阵的元素,所述多个3*3子区域的左中元素作为所述第四经拆分矩阵的元素,所述多个3*3子区域的中中元素作为所述第五经拆分矩阵的元素,所述多个3*3子区域的右中元素作为所述第六经拆分矩阵的元素,所述多个3*3子区域的左下元素作为所述第七经拆分矩阵的元素,所述多个3*3子区域的中下元素作为所述第八经拆分矩阵的元素,所述多个3*3子区域的右下元素作为所述第九经拆分矩阵的元素。
17.一种矩阵拆聚方法,用以进行步长大于1的卷积运算,其特征在于,所述矩阵拆聚方法包括:
由临时寄存器从数据存储器读取第一矩阵或是s*s个第二矩阵;以及
由执行单元将存储在所述临时寄存器的所述第一矩阵拆分为所述s*s个第二矩阵或是将存储在所述临时寄存器的所述s*s个第二矩阵聚合为所述第一矩阵,其中所述s为大于1的整数且为所述卷积运算的步长,所述第一矩阵被分为多个s*s子区域,以及在所述多个s*s子区域的每一个中的s*s个元素一对一地作为所述s*s个第二矩阵的一个元素;
由所述执行单元从所述临时寄存器读取所述第一矩阵;
由所述执行单元将所述第一矩阵切分为所述多个s*s子区域;以及
由所述执行单元收集在所述多个s*s子区域中的一个相同位置的元素作为所述s*s个第二矩阵的其中一个的元素,以将所述第一矩阵拆分为所述s*s个第二矩阵。
18.根据权利要求17所述的矩阵拆聚方法,其特征在于,所述矩阵拆聚方法还包括:
由所述执行单元从所述临时寄存器读取所述s*s个第二矩阵;
由所述执行单元将所述第一矩阵切分为所述多个s*s子区域;以及
由所述执行单元收集在所述s*s个第二矩阵中的一个相同位置的元素作为所述第一矩阵的所述多个s*s子区域的其中一个的元素,以将所述s*s个第二矩阵聚合为所述第一矩阵。
19.根据权利要求17所述的矩阵拆聚方法,其特征在于,所述s为2,所述第一矩阵被分为多个2*2子区域,在所述多个2*2子区域的每一个中的2*2个元素包括左上元素、右上元素、左下元素与右下元素,2*2个第二矩阵包括第一经拆分矩阵、第二经拆分矩阵、第三经拆分矩阵与第四经拆分矩阵,所述多个2*2子区域的左上元素作为所述第一经拆分矩阵的元素,所述多个2*2子区域的右上元素作为所述第二经拆分矩阵的元素,所述多个2*2子区域的左下元素作为所述第三经拆分矩阵的元素,以及所述多个2*2子区域的右下元素作为所述第四经拆分矩阵的元素。
20.根据权利要求17所述的矩阵拆聚方法,其特征在于,所述s为3,所述第一矩阵被分为多个3*3子区域,在所述多个3*3子区域的每一个中的3*3个元素包括左上元素、中上元素、右上元素、左中元素、中中元素、右中元素、左下元素、中下元素与右下元素,3*3个第二矩阵包括第一经拆分矩阵、第二经拆分矩阵、第三经拆分矩阵、第四经拆分矩阵、第五经拆分矩阵、第六经拆分矩阵、第七经拆分矩阵与、第八经拆分矩阵与第九经拆分矩阵,所述多个3*3子区域的左上元素作为所述第一经拆分矩阵的元素,所述多个3*3子区域的中上元素作为所述第二经拆分矩阵的元素,所述多个3*3子区域的右上元素作为所述第三经拆分矩阵的元素,所述多个3*3子区域的左中元素作为所述第四经拆分矩阵的元素,所述多个3*3子区域的中中元素作为所述第五经拆分矩阵的元素,所述多个3*3子区域的右中元素作为所述第六经拆分矩阵的元素,所述多个3*3子区域的左下元素作为所述第七经拆分矩阵的元素,所述多个3*3子区域的中下元素作为所述第八经拆分矩阵的元素,所述多个3*3子区域的右下元素作为所述第九经拆分矩阵的元素。
CN202111195064.8A 2021-10-14 2021-10-14 卷积设备、卷积方法、矩阵拆聚装置以及矩阵拆聚方法 Active CN113641952B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111195064.8A CN113641952B (zh) 2021-10-14 2021-10-14 卷积设备、卷积方法、矩阵拆聚装置以及矩阵拆聚方法
US17/958,441 US20230117626A1 (en) 2021-10-14 2022-10-03 Convolution apparatus, convolution method, matrix unknit-knit device and matrix unknit-knit method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111195064.8A CN113641952B (zh) 2021-10-14 2021-10-14 卷积设备、卷积方法、矩阵拆聚装置以及矩阵拆聚方法

Publications (2)

Publication Number Publication Date
CN113641952A CN113641952A (zh) 2021-11-12
CN113641952B true CN113641952B (zh) 2022-02-08

Family

ID=78426732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111195064.8A Active CN113641952B (zh) 2021-10-14 2021-10-14 卷积设备、卷积方法、矩阵拆聚装置以及矩阵拆聚方法

Country Status (2)

Country Link
US (1) US20230117626A1 (zh)
CN (1) CN113641952B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114764615A (zh) * 2021-01-13 2022-07-19 华为技术有限公司 卷积运算的实现方法、数据处理方法及装置
CN114579925A (zh) * 2022-03-04 2022-06-03 奥比中光科技集团股份有限公司 一种卷积运算方法及装置和卷积核拆分方法及单元
CN117634711B (zh) * 2024-01-25 2024-05-14 北京壁仞科技开发有限公司 张量维度切分方法、系统、设备和介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190051697A (ko) * 2017-11-07 2019-05-15 삼성전자주식회사 뉴럴 네트워크의 디컨벌루션 연산을 수행하는 장치 및 방법
KR102065672B1 (ko) * 2018-03-27 2020-01-13 에스케이텔레콤 주식회사 합성곱 연산을 위한 장치 및 방법
CN110399591B (zh) * 2019-06-28 2021-08-31 苏州浪潮智能科技有限公司 基于卷积神经网络的数据处理方法和装置

Also Published As

Publication number Publication date
US20230117626A1 (en) 2023-04-20
CN113641952A (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
CN113641952B (zh) 卷积设备、卷积方法、矩阵拆聚装置以及矩阵拆聚方法
US9298760B1 (en) Method for shard assignment in a large-scale data processing job
EP2972920B1 (en) Methods and apparatuses for providing data received by a state machine engine
Lee et al. Hardware context-switch methodology for dynamically partially reconfigurable systems
CN114647635B (zh) 数据处理系统
CN104516828A (zh) 用于移除缓存数据的方法和设备
EP3686760A1 (en) Convolution operation method and apparatus, computer device, and computer-readable storage medium
JP6570156B2 (ja) データベースシステム最適化の方法、システム、電子装置及び記憶媒体
Sun et al. Rm-ssd: In-storage computing for large-scale recommendation inference
CN112181522A (zh) 数据处理的方法、装置以及电子设备
US9384449B2 (en) Parallel hardware searching system for building artificial intelligent computer
WO2022068328A1 (zh) 数据迁移的方法、装置、处理器和计算设备
US10013393B2 (en) Parallel computer system, parallel computing method, and program storage medium
CN104951442A (zh) 一种确定结果向量的方法和装置
CN104317554B (zh) 用于simd处理器的寄存器文件数据读写装置和方法
CN115686789A (zh) 一种离散事件并行处理方法、终端设备及存储介质
KR102425596B1 (ko) 로우 레이턴시 하드웨어 메모리 관리를 위한 시스템 및 방법
CN113722623A (zh) 数据处理方法、装置、电子设备及存储介质
CN116420136A (zh) 共享操作数的垂直和水平广播
JP2021051448A (ja) 情報処理装置、疎行列格納方法及びプログラム
CN104536800A (zh) 一种虚拟机放置方法及装置
CN117648338B (zh) 一种时空数据范围索引过滤优化方法、装置、设备及介质
KR102561205B1 (ko) 분산 sram 아키텍쳐를 가지는 모바일넷 하드웨어 가속기 및 상기 가속기의 채널 정상 데이터 플로우 설계 방법
CN114489671A (zh) 产生统一中介码的机器可读介质与计算机系统
CN117852655A (zh) 利用大模型进行推理的方法和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room 0106-508, 1st floor, No.26, shangdixin Road, Haidian District, Beijing 100085

Patentee after: Beijing Bilin Technology Development Co.,Ltd.

Country or region after: China

Patentee after: Shanghai Bi Ren Technology Co.,Ltd.

Address before: Room 0106-508, 1st floor, No.26, shangdixin Road, Haidian District, Beijing 100085

Patentee before: Beijing Bilin Technology Development Co.,Ltd.

Country or region before: China

Patentee before: Shanghai Bilin Intelligent Technology Co.,Ltd.

CP03 Change of name, title or address