CN1862524A - 数字信号处理器中执行多个向量稀疏卷积方法与*** - Google Patents
数字信号处理器中执行多个向量稀疏卷积方法与*** Download PDFInfo
- Publication number
- CN1862524A CN1862524A CNA2006100916066A CN200610091606A CN1862524A CN 1862524 A CN1862524 A CN 1862524A CN A2006100916066 A CNA2006100916066 A CN A2006100916066A CN 200610091606 A CN200610091606 A CN 200610091606A CN 1862524 A CN1862524 A CN 1862524A
- Authority
- CN
- China
- Prior art keywords
- vector
- convolution
- primary
- null value
- stepping
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
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
本发明提供一种于数字信号处理器中执行多个向量的稀疏卷积的方法,其中一第一向量具有多个向量元素,而利用至少一个第二向量对至少一个第一向量执行卷积。该方法包括识别所述第一向量中不具有零值的向量元素,并针对所述第一向量中不具有零值的向量元素以所述第二向量进行卷积的运算。
Description
技术领域
本发明涉及多个向量的卷积(convolution)运算,特别是涉及数字信号处理器中多个向量的稀疏卷积运算的方法与***。
背景技术
数字信号处理(Digital Signal Processing;简称DSP)是一种关于电子信号的数字表示的检查与操作。使用数字信号处理来进行处理的数字信号通常是来自于真实世界的声频和/或视频的数字表示。
数字信号处理器为针对数字信号的处理最佳化而专用的微处理器。数字信号处理器一般设计成实时处理数字信号,例如,藉由使用一种实时操作***(Real-Time Operating System;以下简称RTOS)。RTOS为一种当接收多项任务时可同时处理多项任务的操作***,RTOS一般会赋予任务各种优先权等级,并允许高优先权的任务中断低优先权的任务。RTOS一般会按照以下方式来管理存储器:使一存储器单元被一特定任务锁定的时间长度最小化并使被锁定的该存储器单元的尺寸最小化,以便可异步地执行任务,同时使多项任务尝试同时存取相同存储器区块的机会最小化。
数字信号处理器常用于嵌入式***(embedded systems)中。嵌入式***为一种整合至较大装置中的专用计算机。嵌入式***一般是使用于针对特定目的而加以定制的小型RTOS。数字信号处理通常使用包含一数字信号处理器与一RTOS的嵌入式***来实施。
数字信号处理器一般而言是一种复杂的装置,其可能包括一个或多个微处理器、存储器组以及其它电子组件。连同数字信号处理器,嵌入式***可包含诸如子***处理器/加速器、固件和/或其它微处理器与集成电路的类的额外组件。
在处理数字信号(例如数字声频信号数据)时,数字信号处理器会频繁地对一种称为数据向量的数字信号数据区块执行函数。向量为数据值的阵列。
向量可为预定长度的线性阵列。例如,向量可为32位长的线性阵列,例如:
0001 | 1101 | 0000 | 0000 | 0000 | 1101 | 1100 | 0001 |
或者,向量可为预定长度与宽度的多维阵列。例如,向量可为32位长与4位宽的矩阵:
1101 | 1101 | 0010 | 0000 | 0000 | 1101 | 1100 | 0101 |
0001 | 1101 | 1100 | 0000 | 0000 | 0000 | 1100 | 0101 |
0011 | 0100 | 0000 | 0000 | 0000 | 0000 | 1100 | 1100 |
0001 | 1101 | 0000 | 0000 | 0000 | 1101 | 1100 | 1111 |
举例而言,可使用多维数据向量来表示多信道数字声频信号。
使用向量可同时对若干大的数据区块进行处理。当对相同的数据向量执行多种函数和/或对多个数据向量执行相同的函数时(其系数字信号处理中常见的情形),此种数字表示法特别有用。
系数向量为一种可用于处理数据向量的向量。例如,一个或多个系数向量可与一个或多个数据向量进行卷积的运算。卷积为一种数学运算,其中可将多个向量合并成为一向量,其为所述多个向量的重迭。卷积的定义见下式:
f(t)=h(t)g(t)=∫h(τ)g(t-τ)dτ
其中将f(t)定义为卷积的向量,h(t)与g(t)为欲卷积的多个向量。对于离散的向量,例如数字信号处理器所处理的向量,卷积可以下式来表示:
对于一预定长度N的线性向量h与g,卷积可简单地由下式来表示:
在数字信号处理中,通常可以将单个数据向量与多个系数向量进行卷积。如果g(j)(i)表示多个系数向量,即g1(i),g2(i),g3(i),...,gK(i),则卷积运算可藉由下式来表示:
用于计算预定长度N的数据向量h与K个系数向量g的卷积的程序代码可为:
for(k=0;k<K;k++){
sum=0;
for(i=0;i<N;i++)
sum=sum+VecH[i]*VecG[k][i];}
当在数字信号处理器(例如one-mac DSP)上执行上述程序代码时,可能需要大约K*N个处理周期来计算该卷积。可能需要额外的周期和/或指令来作为设定地址、指针与循环缓存器的开销。
在典型的DSP中,卷积计算(例如使用上述程序代码之类的程序代码)的每一处理周期可能需要执行一个或多个步骤。例如,在每一处理周期期间可采取若干步骤来计算一数据向量(VecH)与多个系数向量(VecG)的卷积。在此范例中,将VecH储存于一存储器X中,其中由指标x_ptr来指向VecH的每一元素(其具有x_oper值)。将VecG储存于一存储器Y中,其中由指标y_ptr来指向VecG的每一元素(其具有y_oper值)。首先,可使用适当的存储器指针,例如x_ptr,针对目前的i值从存储器X中撷取VecH元素x_oper。且可使用适当的存储器指针,例如y_ptr,针对目前的i值从存储器Y撷取VecG元素y_oper。接着可使指针x_ptr前进一个缓存器步进,例如x_ptr=x_ptr+x_step,其中x_step为单独的一个缓存器。藉由使指针x_ptr前进一个缓存器步进的方式,即可在卷积中使用每一缓存器步进。还可使指针y_ptr前进一个缓存器步进,例如y_ptr=y_ptr+y_step,其中y_step为单独的一个缓存器。可计算x_oper与y_oper的乘积,例如prod=x_oper*y_oper。可将先前累积的结果加上x_oper与y_oper的乘积,例如acr=acr+prod,其中acr为累积器的结果缓存器。
从上述步骤可看出,计算多个向量的卷积可能是一项运算量大而要求严格的工作。若有大量的系数向量皆是与相同的数据向量进行卷积运算的状况下,则尤其如此。
因此,需要使用一种更有效的方法和/或***来对多个向量进行卷积,举例而言,在数字信号处理器中,可藉由使用更有效的方法和/或***,增强该数字信号处理器的性能。
发明内容
本发明提供一种于数字信号处理器中执行多个向量的稀疏卷积的方法,其中一第一向量具有多个向量元素,而利用至少一个第二向量对至少一个第一向量执行卷积。该方法包括识别所述第一向量中不具有零值的向量元素,并针对所述第一向量中不具有零值的向量元素以所述第二向量进行卷积的运算。
本发明还提供一种于数字信号处理器中执行多个向量的稀疏卷积的***,其中一第一向量具有多个向量元素,而利用至少一个第二向量对至少一个第一向量执行卷积。该***包括一识别单元,其用于识别所述第一向量中不具有零值的向量元素;以及一卷积单元,其用于针对所述第一向量中不具有零值的向量元素以所述第二向量进行卷积的运算。
本发明还提供一种计算机***包括一处理器以及一可由该处理器读取的程序储存装置,该程序储存装置包含可由该处理器执行的一指令程序执行对包括多个向量元素的至少一第一向量使用至少一个第二向量以执行卷积的方法步骤。该方法包括识别所述第一向量中不具有零值的向量元素,并针对所述第一向量中不具有零值的向量元素以所述第二向量进行卷积的运算。
附图说明
对于本发明更为完整的了解及其许多附带的好处将可在结合附图以及以上的详细说明之后而更好地了解,其中:
图1为说明根据本发明的一具体实施例的稀疏卷积的方法流程图;
图2A为说明根据本发明的一具体实施例而用于执行卷积的***方块图;
图2B为说明根据本发明的另一具体实施例而用于执行卷积的***方块图;
图2C为说明根据本发明的另一具体实施例而用于执行卷积的***方块图;
图2D为说明根据本发明的另一具体实施例而用于执行卷积的***方块图;
图2E为说明根据本发明的另一具体实施例而用于执行卷积的***方块图;以及
图3为说明可实施本发明的方法与***的一计算机***的范例方块图。
附图符号说明
201 识别单元
202 第二向量
203 第一向量
204 卷积单元
205 产生单元
206 乘法单元
207 加法单元
208 第一撷取单元
209 第二撷取单元
210 第一前进单元
211 第二前进单元
212 计算单元
213 加法单元
214 标准卷积单元
1000 ***
1001 中央处理单元
1002 内部总线
1003 网络控制器
1004 随机存取存储器
1005 局域网络(LAN)数据传输控制器
1006 LAN界面
1007 链接
1008 硬盘
1009 输入装置
1010 打印机接口
1011 显示单元
具体实施方式
在说明附图中所解说的本发明的较佳具体实施例时,为清晰起见,使用特定的术语。然而,本发明不希望受限于如此选定的特定术语,并且应了解,每一特定组件包括所有以类似方式运作的技术等效物。
向量包含零丛集的状况,可说是在真实世界中对于表示视频和/或声频信号的数据向量的真实情况。在计算卷积时,向量内的零丛集可能导致在多个处理周期中执行多个处理步骤,但这些执行过程的结果其实对卷积的累积没有任何贡献。因此,本发明的具体实施例是寻求避免多个处理步骤在多个处理周期中仅处理被识别为具有零值的多个向量元素。
根据本发明的一具体实施例,可针对至少一个系数向量与至少一个数据向量来计算卷积,同时可省略多个具有零值的向量元素在计算一乘积上的处理周期和/或步骤。省略这些周期和/或步骤的卷积可称为稀疏卷积(sparseconvolution)。
稀疏卷积可减少计算卷积所需的周期和/或步骤(计算)数量。结果,可使每秒执行数百万条指令(millions of instructions per second;mips)的数字信号处理器可有效增加计算能力,因为仅需较少的指令即可处理卷积。而且,稀疏卷积可使数字信号处理器制造商使用较不昂贵的数字信号处理器来实现相同的结果,同时可可减少电源的使用。
根据本发明的一具体实施例,计算一预定长度N的一数据向量h与K个系数向量g(其中M等于预定长度N减去数据向量h中所出现的零的数目)的卷积的程序代码范例可为:
for(k=0;k<K;k++){
sum=j=0;
for(i=0;i<M;i++){
j=j+StepVec[i]
sum=sum+VecH[j]*VecG[k][j];
}}
图1为根据本发明的一具体实施例的稀疏卷积的方法流程图。在此范例中,将一数据向量(VecH)与多个系数向量(VecG)进行卷积运算。将VecH储存于一存储器X中,其中由指标x_ptr来指向VecH的每一元素(其具有值x_oper)。将多个向量VecG储存于一存储器Y中,其中由指标y_ptr来指向每个向量的每一元素(其具有值y_oper)。
首先,可使用适当的第一向量存储器指针,例如x_ptr,从存储器X撷取目前值j所表示的第一向量VecH的元素x_oper(步骤S11)。可使用适当的第二向量存储器指针,例如y_ptr,从存储器Y撷取目前值j所表示的第二向量VecG的元素y_oper(步骤S12)。指针x_ptr可前进若干缓存器步进,其是由一步进向量函数StepVec[i]决定。例如x_ptr=x_ptr+StepVec[i],其中StepVec[i]指定需要于何时前进以及前进多少缓存器步进来跳过VecH数据向量内具有零值的任何元素(步骤S13)。藉由使指标x_ptr前进StepVec[i]个缓存器步进,无需如已知技术那样在卷积中使用每一缓存器步进,藉以避免若干无谓的计算。按照与x_ptr相同的方式使指标y_ptr前进,例如y_ptr=y_ptr+StepVec[i](步骤S14)。可计算x_oper与y_oper的乘积,例如prod=x_oper*y_oper(步骤S15)。可将累积的结果加上x_oper与y_oper的乘积,例如acr=acr+prod,其中acr为累积器结果缓存器(步骤S16)。
如上所述,步进向量函数StepVec[i]提供作为j值之前进缓存器步进数目,以使数据向量VecH(j)的每一元素都不等于零。藉由使用该步进向量StepVec[i]来使所述指标前进,而非使所述指标一次仅前进一缓存器步进,可跳过VecH中等于零的值。藉由跳过VecH中等于零的值,VecH(数据向量)以及VecG(多个系数向量)中多数个值即无需被定位与从存储器读取,并且亦无需将其用于卷积计算中。以此方式,可避免多个处理步骤。例如,存储器存取的数目将从2*K*N下降至2*K*M,其中M=N-(VecH内零值的数目)。
例如,若VecH为以下向量:
VecH[0] | VecH[1] | VecH[2] | VecH[3] | VecH[4] | VecH[5] | VecH[6] | VecH[7] |
0001 | 1101 | 0000 | 0000 | 0000 | 1101 | 1100 | 0001 |
StepVec[i]可为:
StepVec[0] | StepVec[1] | StepVec[2] | StepVec[3] |
1 | 4 | 1 | 1 |
以便在计算VecH与VecG的卷积时,可使用VecH[j=0]=0001(以乘上VecG[k][j],而将乘积加到累积的卷积结果上)。接着,将j递增StepVec[i=0]=1的值,以使j的新值为1。接下来可使用VecH[j=1]=1101。接着,可将j递增StepVec[i=1]=4的值,以使j的新值为5。接下来可使用VecH[j=5]=1101。接着,将j递增StepVec[i=2]=1的值,以使j的新值为6。接下来可使用VecH[j=6]=1100。接着,将j递增StepVec[i=3]=1的值,以使j的新值为7。最后可使用VecH[j=7]=0001。因此,在此范例中,使用VecH的五个元素,而非全部八个元素。
举例而言,本发明的StepVec步进向量可藉由数字信号处理器在实施一卷积循环之前来产生,例如,可藉由检查该数据向量的元素以识别需要多少步进增量来跳过该数据向量中具有零值的一个或多个元素,而产生StepVec步进向量。StepVec步进向量的产生过程可视为用于实施本发明所需的额外实施部分。
其中,该StepVec步进向量可为一4位阵列,以使StepVec向量的每一元素为一4位字符,其可指示欲递增的缓存器的正确数目,藉由指示有多少缓存器元素而将不具有零值的每一向量缓存器元素分开。如果StepVec步进向量的每一元素为一4位字符,则每一元素可具有介于1与16之间的值。因而,可跳过的零值元素的最大数目为15。或者,StepVec步进向量可为较大字符的阵列,以允许跳过较大的元素区块。
其中,产生StepVec的数字信号处理器可为地址产生器(AddressGenerator;简称AG)的一部分。另外,可使用AG来产生该数字信号处理器所使用的地址。亦可将AG实施为一缓存器组(register bank)。
由于本发明的具体实施例可藉由额外实施,例如,产生StepVec步进向量以及M(数据向量内的非零值元素的数目),故当使用更多的系数向量来对相同的数据向量进行卷积时,还可彰显本发明的优点。因此,本发明的某些具体实施例在具有相对较少数目的系数向量时可使用标准的卷积,而当具有相对较大数目的系数向量时可使用稀疏卷积。例如,当仅有单独一个系数向量时,可使用标准的卷积进行运算;而当具有多个系数向量时,可使用稀疏卷积进行运算。
根据本发明的另一具体实施例,可使用至少一个具有多个向量元素的系数向量并使用至少一个数据向量来执行卷积。这些具体实施例包含识别所述系数向量中不具有零值的所述向量元素,且可针对上述识别出的系数向量以至少一个数据向量进行卷积的运算。
在该具体实施例中,可按照类似于前述的具体实施例,针对数据向量来识别其内含零值的方式对系数向量亦进行解析以识别该系数向量内含的零值。
图2A为根据本发明的一具体实施例而用于执行卷积的***方块图。在本发明的具体实施例中,可使用至少一个第二向量(202)对至少一个具有多个向量元素的第一向量(203)执行卷积(图2A至2E举例说明具有多个第二向量以及具有单个第一向量的具体实施例)。可提供一识别单元(201)来识别所述第一向量(203)中不具有零值的向量元素。可提供一卷积单元(204)来针对所识别出的所述第一向量(203)中不具有零值的向量元素与所述第二向量(202)进行卷积运算。
图2B为说明根据本发明的另一具体实施例而用于执行卷积的***方块图。在此具体实施例中,该识别单元(201)可包括一产生单元(205),其用于产生一步进向量,该步进向量可指示有多少元素间隔出所述第一向量(203)不具有零值的向量元素。
图2C为根据本发明的另一具体实施例而用于执行卷积的***方块图。在此具体实施例中,该卷积单元(204)可包括一乘法单元(206),其用于将所述第一向量(203)中每一不具有零值的向量元素与所述第二向量(202)相乘,以形成多个乘积。该卷积单元(204)可额外地包括一加法单元(207),其用于将所述乘积加到一累积器(未示出)上。
图2D为根据本发明的另一具体实施例而用于执行卷积的***方块图。在此具体实施例中,该卷积单元(204)可包括一第一撷取单元(208),其利用第一向量指标处撷取一第一向量元素。该卷积单元(204)亦可包括一第二撷取单元(209),其利用第二向量指标处撷取一第二向量元素。该卷积单元(204)亦可包括一第一前进单元(210),其使用一步进向量来使该第一向量指标前进。该卷积单元(204)亦可包括一第二前进单元(211),其使用该步进向量来使该第二向量指标前进。该卷积单元(204)亦可包括一计算单元(212),其用于计算该第一向量元素与该第二向量元素的乘积。该卷积单元(204)亦可包括一加法单元(213),其用于将该乘积加到一累积的结果上。该步进向量可指示有多少元素间隔出所述第一向量不具有零值的向量元素。
图2E为根据本发明的另一具体实施例而用于执行卷积的***方块图。在此具体实施例中,当具有相对较大数目的第二向量(202)时,该识别单元(201)与该卷积单元(204)亦可为被使用。当具有相对较少数目的第二向量时,可另外包括一标准卷积单元(214),用于针对所述第一向量中所有向量元素以所述第二向量(202)进行卷积运算。
图3为说明可实施本发明的方法与***的计算机***的范例方块图。可以运行于一计算机***(例如一主机、个人计算机(PC)、手持计算机、服务器等)上的软件应用程序的形式来实施本发明的***与方法。可将该软件应用程序储存于可由该计算机***进行本地存取以及可经由与网络(例如局域网络或因特网)的硬线或无线连接进行存取的记录媒体上。
该计算机***(一般称为***1000)可包括,例如,一中央处理单元(CPU)1001、随机存取存储器(RAM)1004、一打印机接口1010、一显示单元1011、一局域网络(LAN)数据传输控制器1005、一LAN接口1006、一网络控制器1003、一内部总线1002以及一个或多个输入装置1009,例如,一键盘、鼠标等。如图所示,可经由一链接1007将该***1000连接至一数据储存装置,例如一硬盘1008。
上述特定具体实施例是说明性的,并且可对这些具体实施例进行许多变化,而不致脱离本发明的精神或权利要求的范畴。例如,可在本发明与权利要求的范畴内将不同说明性具体实施例的组件和/或特征彼此组合和/或彼此替代。
Claims (9)
1.一种数字信号处理器中执行多个向量的稀疏卷积的方法,包含:
识别出至少一个第一向量中至少一个不具有零值的向量元素;以及
针对识别出的所述第一向量中的所述不具有零值的向量元素以至少一个第二向量进行卷积运算。
2.如权利要求1所述的方法,其中所述第一向量为数据向量,所述第二向量为系数向量。
3.如权利要求1所述的方法,其中所述第一向量为系数向量,并且所述第二向量为数据向量。
4.如权利要求1所述的方法,还包括产生一步进向量,该步进向量是指示有多少元素间隔出所述第一向量不具有零值的向量元素。
5.如权利要求1所述的方法,还包括:
相乘所述第一向量中的每一不具有零值的向量元素与所述第二向量,以形成多个乘积;以及
累加所述乘积。
6.如权利要求1所述的方法,还包括:
在一第一向量指标处撷取一第一向量元素;
在一第二向量指标处撷取一第二向量元素;
使用一步进向量来使该第一向量指标前进;
使用该步进向量来使该第二向量指标前进;
计算该第一向量元素与该第二向量元素的一乘积;以及
将该乘积加到一累积结果上,其中该步进向量是指示有多少元素间隔出所述第一向量不具有零值的向量元素。
7.如权利要求6所述的方法,其中重复针对所述第一向量的所述不具有零值的向量元素以所述第二向量进行卷积的步骤,直至针对所述第一向量中每一不具有零值的向量元素与每一第二向量皆将相乘的该乘积添加至该累积结果为止。
8.如权利要求1所述的方法,是在具有相对较大数目的第二向量时执行,而在具有相对较小数目的第二向量时执行时,则针对所述第一向量的所有向量元素以所述第二向量进行卷积运算。
9.如权利要求8所述的方法,其中该具有相对较小数目的第二向量仅包含单独一个第二向量,而该具有相对较大数目的第二向量则包含多于单个的第二向量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/145,893 | 2005-06-06 | ||
US11/145,893 US20060277041A1 (en) | 2005-06-06 | 2005-06-06 | Sparse convolution of multiple vectors in a digital signal processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1862524A true CN1862524A (zh) | 2006-11-15 |
CN100435138C CN100435138C (zh) | 2008-11-19 |
Family
ID=37389956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100916066A Active CN100435138C (zh) | 2005-06-06 | 2006-06-06 | 数字信号处理器中执行多个向量稀疏卷积方法与*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060277041A1 (zh) |
CN (1) | CN100435138C (zh) |
TW (1) | TW200643742A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923534B (zh) * | 2009-06-10 | 2012-02-01 | 新奥特(北京)视频技术有限公司 | 应用sse指令集对视音频信号的对称卷积核进行卷积的方法 |
CN107527090A (zh) * | 2017-08-24 | 2017-12-29 | 中国科学院计算技术研究所 | 应用于稀疏神经网络的处理器和处理方法 |
CN108073981A (zh) * | 2016-11-07 | 2018-05-25 | 三星电子株式会社 | 处理卷积神经网络的方法和设备 |
CN109840585A (zh) * | 2018-01-10 | 2019-06-04 | 中国科学院计算技术研究所 | 一种面向稀疏二维卷积的运算方法和*** |
CN110494867A (zh) * | 2017-03-23 | 2019-11-22 | 三星电子株式会社 | 用于操作机器学习的电子装置和用于操作机器学习的方法 |
CN113127210A (zh) * | 2019-12-31 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 一种分布式***的存储管理方法、装置及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008029952A1 (de) * | 2008-06-26 | 2009-12-31 | Wincor Nixdorf International Gmbh | Verfahren und Vorrichtung zum Erkennen von Transportbehältnissen |
US9858304B2 (en) * | 2014-04-15 | 2018-01-02 | Raytheon Company | Computing cross-correlations for sparse data |
TWI645335B (zh) * | 2016-11-14 | 2018-12-21 | 耐能股份有限公司 | 卷積運算裝置及卷積運算方法 |
TWI616813B (zh) * | 2016-11-14 | 2018-03-01 | 耐能股份有限公司 | 卷積運算方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5187745A (en) * | 1991-06-27 | 1993-02-16 | Motorola, Inc. | Efficient codebook search for CELP vocoders |
US5450083A (en) * | 1994-03-09 | 1995-09-12 | Analog Devices, Inc. | Two-stage decimation filter |
KR19990022657A (ko) * | 1995-06-01 | 1999-03-25 | 나시모토 류조 | 이산코사인변환 연산회로 |
US5768553A (en) * | 1995-10-30 | 1998-06-16 | Advanced Micro Devices, Inc. | Microprocessor using an instruction field to define DSP instructions |
US6052766A (en) * | 1998-07-07 | 2000-04-18 | Lucent Technologies Inc. | Pointer register indirectly addressing a second register in the processor core of a digital processor |
US7245651B1 (en) * | 1999-12-20 | 2007-07-17 | Intel Corporation | Dual mode filter for mobile telecommunications |
GB0003571D0 (en) * | 2000-02-17 | 2000-04-05 | Secr Defence Brit | Signal processing technique |
US6714956B1 (en) * | 2000-07-24 | 2004-03-30 | Via Technologies, Inc. | Hardware accelerator for normal least-mean-square algorithm-based coefficient adaptation |
US6895421B1 (en) * | 2000-10-06 | 2005-05-17 | Intel Corporation | Method and apparatus for effectively performing linear transformations |
EP1332429B1 (en) * | 2000-11-06 | 2011-02-09 | Broadcom Corporation | Reconfigurable processing system and method |
-
2005
- 2005-06-06 US US11/145,893 patent/US20060277041A1/en not_active Abandoned
-
2006
- 2006-06-01 TW TW095119338A patent/TW200643742A/zh unknown
- 2006-06-06 CN CNB2006100916066A patent/CN100435138C/zh active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923534B (zh) * | 2009-06-10 | 2012-02-01 | 新奥特(北京)视频技术有限公司 | 应用sse指令集对视音频信号的对称卷积核进行卷积的方法 |
CN108073981A (zh) * | 2016-11-07 | 2018-05-25 | 三星电子株式会社 | 处理卷积神经网络的方法和设备 |
US11508146B2 (en) | 2016-11-07 | 2022-11-22 | Samsung Electronics Co., Ltd. | Convolutional neural network processing method and apparatus |
CN108073981B (zh) * | 2016-11-07 | 2023-09-05 | 三星电子株式会社 | 处理卷积神经网络的方法和设备 |
CN110494867A (zh) * | 2017-03-23 | 2019-11-22 | 三星电子株式会社 | 用于操作机器学习的电子装置和用于操作机器学习的方法 |
US11907826B2 (en) | 2017-03-23 | 2024-02-20 | Samsung Electronics Co., Ltd | Electronic apparatus for operating machine learning and method for operating machine learning |
CN110494867B (zh) * | 2017-03-23 | 2024-06-07 | 三星电子株式会社 | 用于操作机器学习的电子装置和用于操作机器学习的方法 |
CN107527090A (zh) * | 2017-08-24 | 2017-12-29 | 中国科学院计算技术研究所 | 应用于稀疏神经网络的处理器和处理方法 |
CN109840585A (zh) * | 2018-01-10 | 2019-06-04 | 中国科学院计算技术研究所 | 一种面向稀疏二维卷积的运算方法和*** |
CN109840585B (zh) * | 2018-01-10 | 2023-04-18 | 中国科学院计算技术研究所 | 一种面向稀疏二维卷积的运算方法和*** |
CN113127210A (zh) * | 2019-12-31 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 一种分布式***的存储管理方法、装置及存储介质 |
CN113127210B (zh) * | 2019-12-31 | 2024-03-29 | 阿里巴巴集团控股有限公司 | 一种分布式***的存储管理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20060277041A1 (en) | 2006-12-07 |
TW200643742A (en) | 2006-12-16 |
CN100435138C (zh) | 2008-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1862524A (zh) | 数字信号处理器中执行多个向量稀疏卷积方法与*** | |
CN1774709A (zh) | 使用simd寄存器的小矩阵有效乘法 | |
Liu et al. | Estimation of genomic characteristics by analyzing k-mer frequency in de novo genome projects | |
CN1755633A (zh) | 用于电子表格链式计算的多线程处理的方法和*** | |
Buchfink et al. | Fast and sensitive protein alignment using DIAMOND | |
US20180330239A1 (en) | Apparatus and method for compression coding for artificial neural network | |
CN1773459A (zh) | 从同步冗余设备选择状态数据的方法和*** | |
CN1892636A (zh) | 双模计算机处理器中索引式载入及储存操作的***及方法 | |
CN1734448A (zh) | 对用户指定电子表格函数的支持 | |
KR20190066473A (ko) | 뉴럴 네트워크에서 컨볼루션 연산을 처리하는 방법 및 장치 | |
Bailey | Discovering novel sequence motifs with MEME | |
CN1655118A (zh) | 处理器和编译器 | |
CN1150847A (zh) | 使用神经网络的计算机和使用该神经网络的方法 | |
CN1914597A (zh) | 处理单元的动态加载和卸载 | |
CN1783054A (zh) | 处理器 | |
CN1961284A (zh) | 使用n位乘加操作实现不变量除数的整数除法的方法和*** | |
CN1278931A (zh) | 特别适于译码数字音频信号的数字信号处理器 | |
CN1707438A (zh) | 使用动态规则集扩展离散帧技术行为的方法和设备 | |
CN111639699A (zh) | 一种图像特征提取的方法、***、设备及可读存储介质 | |
CN1790310A (zh) | 用于单指令、多数据执行引擎标志寄存器的评估单元 | |
CN1959643A (zh) | 用于重新分配客户端的设备、***和方法 | |
CN1949184A (zh) | 一种芯片验证的方法及*** | |
CN1650254A (zh) | 计算模数乘法之结果的装置及方法 | |
CN1295778C (zh) | 一种验证芯片硬件行为与软件模拟行为的一致性的方法 | |
CN1103082C (zh) | 图像识别装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |