CN102375805A - 面向向量处理器的基于simd的fft并行计算方法 - Google Patents
面向向量处理器的基于simd的fft并行计算方法 Download PDFInfo
- Publication number
- CN102375805A CN102375805A CN2011103377330A CN201110337733A CN102375805A CN 102375805 A CN102375805 A CN 102375805A CN 2011103377330 A CN2011103377330 A CN 2011103377330A CN 201110337733 A CN201110337733 A CN 201110337733A CN 102375805 A CN102375805 A CN 102375805A
- Authority
- CN
- China
- Prior art keywords
- butterfly
- butterfly coefficient
- simd
- fft
- memory
- 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
Landscapes
- Complex Calculations (AREA)
Abstract
本发明公开了一种面向向量处理器的基于SIMD的FFT并行计算方法,包括以下步骤:根据FFT变换的长度N和向量处理单元的数目M,确定迭代级数L和混洗级数K,并计算蝶形因子数目(N+M×(K-2));其中N=2L,M=2K;在向量存储体中分配两块存储区,其中,第一块存储区的大小为N×W,第二块存储区的大小为(N+M×(K-2))×W;从ASRAM中将待运算数据加载到第一块存储区,蝶形因子加载到第二块存储区;取出待运算数据和相应的蝶形因子,前(L-K)级,进行蝶形运算后结果返回到原存储位置,后K级数据经混洗后进行一级蝶形运算,再混洗,结果返回原存储位置。本发明原理简单且操作方便,能提高计算速度。
Description
技术领域
本发明涉及向量处理器以及数字信号处理领域,尤其涉及一种用于向量处理器的基于SIMD的FFT并行计算方法。
背景技术
随着4G无线通信技术,高清视频图像处理技术的发展,向量处理器得到了广泛的应用。图1为向量处理器的一般性结构示意图,其中向量处理器一般由M个向量处理单元(PE)组成,每个PE包含数个功能单元,一般包括ALU(算术逻辑单元)、MAC(乘法单元)、BP(移位单元)等,这些功能部件可以读写一组局部寄存器:每个PE包含一组局部寄存器,所有PE的同一编号的局部寄存器在逻辑上又组成一个向量寄存器。例如图1中PE_0~PE_M-1的所有R0寄存器在逻辑上组成了向量寄存器VR0,每个PE所对应的R0称为向量寄存器VR0的一个元素。向量处理器采用SIMD(单指令流多数据流,Single Instruction stream Multiple Datastreams)的方式,在同一条向量指令的控制下,M个PE同时对各自同一编号的局部寄存器进行相同的操作,用以开发应用程序的数据级并行性,其高效性在解决运算密集型的应用中具有很大的优势。而VLIW(Very Long Instruction Word,超长指令字)是指一种非常长的指令组合,它把许多条指令连在一起,增加了运算速度。
FFT(Fast Fourier Transform,快速傅里叶变换)算法大大减少了离散傅里叶变换(DFT)的计算量。例如,N点DFT变换,其计算量为N2,基2的FFT的计算量为Nlog2N,因此被经常被用来实现数据从时域到频域的转换,是OFDM(Orthogonal Frequency DivisionMultiplexing,正交频分复用)解调、图像信号处理、GPS卫星定位等许多系统中的核心算法,得到了越来越广泛的应用。传统的FFT算法的实现方法多种多样,一般采用通用处理器或单独的数字信号处理器来串行进行FFT运算。FFT对运算速度和数据的吞吐能力都有很高的要求,如何高效实现FFT算法一直是业界研究的热点问题。
根据FFT算法的特点,在每一级的所有FFT蝶形单元中,前后两个待运算数据是等间隔的,并进行同样结构的基本蝶形运算,如图2为按频率抽取基2FFT基本蝶形图,蝶形单元的数据间隔为N/2,且两数之和存回第一个数据的原位置,两数之差与蝶形因子的积存回第二个数据的原位置,这个特性非常适合进行数据的并行处理,因此提出一种在向量处理器上基于SIMD实现FFT并行计算的方法。
发明内容
本发明所要解决的技术问题是:针对现有技术存在的问题,本发明提供一种原理简单、操作方便、能充分利用向量处理器的多级并行性特点,提高计算速度的面向向量处理器的基于SIMD的FFT并行计算方法。
为解决上述技术问题,本发明采用以下技术方案:
一种面向向量处理器的基于SIMD的FFT并行计算方法,其特征在于包括以下步骤:
(1)根据FFT变换的长度N和向量处理单元的数目M,确定迭代级数L和混洗级数K,并计算蝶形因子数目J;其中N=2L,M=2K:
(2)在向量存储体中分配两块存储区,其中,第一块存储区的大小为N×W,第二块存储区的大小为J×W,其中W为待运算数据宽度;从ASRAM中将待运算数据加载到第一块存储区,蝶形因子加载到第二块存储区;
(3)从向量存储体中取出待运算数据和相应的蝶形因子,判断是否为前(L-K)级,若是,则基于VLIW和SIMD对待运算数据进行一级蝶形运算,并将运算结果返回到向量存储体中的原存储位置,转到步骤(5),否则,转到步骤(4);
(4)将待运算数据进行混洗操作,基于VLIW和SIMD对待运算数据进行一级蝶形运算,对运算结果进行混洗操作,并将操作结果返回到向量存储体中的原存储位置;
(5)判断是否已运算了L级,若没有,则返回步骤(3);若是,则完成并结束计算。
作为本发明的进一步改进:
所述向量存储体包括M个存储块,所述M个存储块与M个向量处理单元依次一一对应;M个存储块统一编址,按BANK交叉存放(指第一个字在第一个BANK存放,第二个字在第二个BANK存放,...,直到第M个字在第M个BANK存放。然后第M+1个字又在第一个BANK存放,...,依次类推);每个存储块分成上存储区和下存储区并支持同时进行两个向量访存操作。
所述步骤(2)中将待运算数据加载到第一块存储区,具体包括以下步骤:将待运算数据平均分为第一部分数据和第二部分数据,所述第一部分数据的存储地址结束于所述上存储区的最后端,所述第二部分数据的存储地址开始于所述下存储区的最前端,所述第一部分数据和第二部分数据的存储地址连续。
所述基于VLIW和SIMD对待运算数据进行蝶形运算时,采用3重循环控制,第1重循环控制迭代级数,第2重循环控制相同子序列个数,第3重控制单个子序列运算次数。
当第3重循环次数少于循环填充次数(循环体之外的填充次数)时,所述第2重循环和第3重循环的顺序互换。
所述步骤(2)中将蝶形因子加载到第二块存储区时,前(L-K)级蝶形因子连续存储,最后K级的蝶形因子存储时每级存储M个,蝶形因子数为M/2个的蝶形因子连续存储2次、蝶形因子数为M/4个的蝶形因子连续存储4次……依此类推,最后一级的蝶形因子不存储;则蝶形因子数目J=N+M×(K-2)。
前(L-K)级的蝶形因子存储时,只存储奇数级的蝶形因子;计算时,偶数级的蝶形因子与前一级的蝶形因子共用;最后K级的蝶形因子存储时每级存储M个,蝶形因子数为M/2个的蝶形因子连续存储2次、蝶形因子数为M/4个的蝶形因子连续存储4次……依此类推,最后一级的蝶形因子不存储;当(L-K)为偶数时,蝶形因子数目J=2×(N-M)/3+M×(K-1);当(L-K)为奇数时,蝶形因子数目J=2×(N-M/2)/3+M×(K-1)。
与现有技术相比,本发明的优点在于:
1、本发明的面向向量处理器的基于SIMD的FFT并行计算方法,每次前后连续取M个数据,M个PE并行进行蝶形运算,这种基于SIMD的面向向量处理器的向量化实现方法是提高FFT计算性能的有效方法。能够充分利用向量处理器的向量计算特点、挖掘向量处理器的多级并行性,充分开发了FFT算法的数据并行性,能够大幅度提高FFT的运算速度。
2、本发明的面向向量处理器的基于SIMD的FFT并行计算方法,待运算数据的存储方式,既保持了待运算数据前后部分的连续存储,便于数据共享和程序的循环控制,又最大程度减少了访存冲突,避免了不必要的开销。蝶形因子的存储方式,利用蝶形因子的可重用性,减少了蝶形因子的数量,节省了存储空间。待运算数据和蝶形因子在向量存储器中连续存储,且与向量处理单元的PE_0~PE_M-1一一对应,为M个PE提供高带宽的数据访问提高支持。
附图说明
图1是现有的向量处理器的结构示意图。
图2是本发明的按频率抽取基2FFT基本蝶形图。
图3是本发明的总流程图。
图4是本发明的向量存储体的结构示意图。
图5是本发明具体实施例的数据存储示意图。
图6是本发明具体实施例中以N=8点FFT为例的FFT运算的迭代示意图。
图7是本发明的混洗方式示意图。
图8是本发明具体实施例的混洗方式示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明作进一步详细说明。
如图3所示,本发明的一种面向向量处理器的基于SIMD的FFT并行计算方法,以按频率抽取2048点基2FFT为例,包括以下步骤:
1、根据FFT变换的长度N=2048和向量处理单元的数目M=16,确定迭代级数L=11和混洗级数K=4,并计算蝶形因子数目J,根据蝶形因子的存储方式不同,J有2种结果。以下以(N+M×(K-2))=2080为例进行说明。
2、在向量存储体中分配两块存储区,其中,第一块存储区的大小为2048×W,第二块存储区的大小为2080×W,其中W是待运算数据的宽度,包括实部和虚部。通过DMA从ASRAM(异步存储器)中将待运算数据加载到第一块存储区,蝶形因子加载到第二块存储区。
如图4所示,向量存储体由M=16个块(BANK_0~BANK_15)组成,且与向量处理单元的PE_0~PE_15一一对应,16个BANK统一编址,按BANK交叉存放,可以进行数据共享,为16个PE提供高带宽的数据访问;每个BANK按两组多体交叉组织形式支持多端口访问(多端口包括两个向量访存操作端口,还包括DMA端口和标量访存端口),即分成上下两个存储区,可同时支持两个向量访存操作。
本实施例中,如图5所示,加载待运算数据时,将2048点数据分为前后两部分,优先将两部分数据在BANK上下存储区的分界处前后存储,即BANK上存储区放前1024点数据,一直到BANK上存储区的最后端;BANK下存储区放后1024点数据,且从BANK下存储区的最前端开始,并使得两部分数据的地址连续;在能将两部分数据在BANK上下存储区的分界处前后存储的情况下,既可以进行数据共享,又有效避免了访存冲突的产生。本方法既保持了待运算数据前后部分的连续存储,便于数据共享和程序的循环控制,又最大程度减少了访存冲突,避免了不必要的开销。
本实施例中,存储待运算蝶形因子时,11级因子逐级存储,最后四级的不同蝶形因子个数分别为8个,4个,2个,1个;由于最后四级每级因子少于16个,我们采取8个因子连续存放两次;4个因子连续存放4次;2个因子连续存放8次,1个因子连续存放16次的方式存储,由于最后一级因子为1,为了节省存储空间和减少乘法运算次数,所以省略掉了,这样总的蝶形因子的个数为2080个(做为本发明的进一步改进,前7级还可以每两级存储一级的方式连续存储,即只需存储一,三,五,七级的因子,二,四,六级可以共用前一级的因子,即第一级存储1024个,接着存储第三级的256个,第五级的64个,第七级的16个;这样总的蝶形因子的个数减少为1408个)。本方法利用蝶形因子的可重用性,减少了蝶形因子的数量,节省了存储空间。
3、向量处理单元从向量存储体中取出待运算数据和相应的蝶形因子,判断是否为前7级,(当前级数用比较指令进行条件判断,即每运算1级L递减1,并与(L-K)进行比较,这里L=11,K=4),若是,则基于VLIW和SIMD对待运算数据进行一级蝶形运算,并直接将运算结果返回存储到向量存储体中的原存储位置,进行同址迭代,转到步骤5,否则,转到步骤4。
如图6所示,是以N=8点FFT为例的FFT运算的迭代示意图,每级进行原位运算,且每级蝶形单元数据间隔依次为N/2,N/4,N/8,…,直到N/N;N=2048时,每级蝶形单元数据间隔依次为1024,512,256,…,1。
4、后四级FFT运算时,向量处理单元从向量存储体中取出待运算数据并进行混洗操作,从向量存储体中取出蝶形因子,基于VLIW和SIMD对待运算数据进行一级蝶形运算,将运算结果进行混洗操作,将操作结果返回存储到向量存储体中的原存储位置。
本发明的混洗级数为K,其中K=log2M,M为向量处理器中向量处理单元PE的数目(本实施例中,M=16),一般为2的整数次幂。混洗操作通过混洗指令VEXC mode,VRi,VRj来实现,VRi和VRj用以指定要进行数据交换的两个向量寄存器,mode为模式编号,用来指定这两个向量寄存器之间数据交换的模式,mode的取值为0、1、2、…、2×K-1,各混洗模式下的交换方式由用户事先设定,并通过DMA提前加载到混洗模式存储器中。如图7所示,本发明的混洗方式,通过混洗指令和数据混洗单元,VRx和VRy任意PE中的元素Rx和Ry的值可以来自VRi和VRj任意PE中的局部寄存器Ri或Rj的值,即通过混洗操作可以在所有PE间进行数据交换。
图8是本实施例的混洗方式示意图,其中,Mode0-1为倒数第4级的混洗方式,Mode2-3为倒数第3级的混洗方式,Mode4-5为倒数第2级的混洗方式,Mode6-7为倒数第1级的混洗方式。通过混洗操作,在最后4级运算中分别一次性实现了2个16点、4个8点、8个4点、16个2点的蝶形单元的运算,能使16个PE同时工作,提高了运算效率。
5、判断是否已运算了L级,若没有,则返回步骤3;若是,则完成并结束计算。
上述步骤中,蝶形运算时,前5级共用3重循环程序,随着级数的增加,子序列个数呈指数增加到32个,单个子序列点数呈指数减少为64点,即第6级的内层为前后各32点的子序列,16个VPE只需运算两次,少于循环填充次数3次,所以我们单独抽出第6级,并对调第2重与第3重循环,这样,就变成了外层控制单个子序列运算次数,内层控制相同子序列个数的2重循环程序。这样,程序便可顺利地进行软件流水。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (7)
1.一种面向向量处理器的基于SIMD的FFT并行计算方法,其特征在于包括以下步骤:
(1)根据FFT变换的长度N和向量处理单元的数目M,确定迭代级数L和混洗级数K,并计算蝶形因子数目J;其中N=2L,M=2K;
(2)在向量存储体中分配两块存储区,其中,第一块存储区的大小为N×W,第二块存储区的大小为J×W,其中W为待运算数据宽度;从ASRAM中将待运算数据加载到第一块存储区,蝶形因子加载到第二块存储区;
(3)从向量存储体中取出待运算数据和相应的蝶形因子,判断是否为前(L-K)级,若是,则基于VLIW和SIMD对待运算数据进行一级蝶形运算,并将运算结果返回到向量存储体中的原存储位置,转到步骤(5),否则,转到步骤(4);
(4)将待运算数据进行混洗操作,基于VLIW和SIMD对待运算数据进行一级蝶形运算,对运算结果进行混洗操作,并将操作结果返回到向量存储体中的原存储位置;
(5)判断是否已运算了L级,若没有,则返回步骤(3);若是,则完成并结束计算。
2.根据权利要求1所述的面向向量处理器的基于SIMD的FFT并行计算方法,其特征在于,所述向量存储体包括M个存储块,所述M个存储块与M个向量处理单元依次一一对应;M个存储块统一编址,按BANK交叉存放;每个存储块分成上存储区和下存储区并支持同时进行两个向量访存操作。
3.根据权利要求1所述的面向向量处理器的基于SIMD的FFT并行计算方法,其特征在于,所述步骤(2)中将待运算数据加载到第一块存储区,具体包括以下步骤:将待运算数据平均分为第一部分数据和第二部分数据,所述第一部分数据的存储地址结束于所述上存储区的最后端,所述第二部分数据的存储地址开始于所述下存储区的最前端,所述第一部分数据和第二部分数据的存储地址连续。
4.根据权利要求1所述的面向向量处理器的基于SIMD的FFT并行计算方法,其特征在于,所述基于VLIW和SIMD对待运算数据进行蝶形运算时,采用3重循环控制,第1重循环控制迭代级数,第2重循环控制相同子序列个数,第3重控制单个子序列运算次数。
5.根据权利要求4所述的面向向量处理器的基于SIMD的FFT并行计算方法,其特征在于,当第3重循环次数少于循环填充次数时,所述第2重循环和第3重循环的顺序互换。
6.根据权利要求1~5中任一项所述的面向向量处理器的基于SIMD的FFT并行计算方法,其特征在于,所述步骤(2)中将蝶形因子加载到第二块存储区时,前(L-K)级蝶形因子连续存储,最后K级的蝶形因子存储时每级存储M个,蝶形因子数为M/2个的蝶形因子连续存储2次、蝶形因子数为M/4个的蝶形因子连续存储4次……依此类推,最后一级的蝶形因子不存储;则蝶形因子数目J=N+M×(K-2)。
7.根据权利要求1~5中任一项所述的面向向量处理器的基于SIMD的FFT并行计算方法,其特征在于,前(L-K)级的蝶形因子存储时,只存储奇数级的蝶形因子;计算时,偶数级的蝶形因子与前一级的蝶形因子共用;最后K级的蝶形因子存储时每级存储M个,蝶形因子数为M/2个的蝶形因子连续存储2次、蝶形因子数为M/4个的蝶形因子连续存储4次……依此类推,最后一级的蝶形因子不存储;当(L-K)为偶数时,蝶形因子数目J=2×(N-M)/3+M×(K-1);当(L-K)为奇数时,蝶形因子数目J=2×(N-M/2)/3+M×(K-1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110337733.0A CN102375805B (zh) | 2011-10-31 | 2011-10-31 | 面向向量处理器的基于simd的fft并行计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110337733.0A CN102375805B (zh) | 2011-10-31 | 2011-10-31 | 面向向量处理器的基于simd的fft并行计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102375805A true CN102375805A (zh) | 2012-03-14 |
CN102375805B CN102375805B (zh) | 2014-04-02 |
Family
ID=45794432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110337733.0A Active CN102375805B (zh) | 2011-10-31 | 2011-10-31 | 面向向量处理器的基于simd的fft并行计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102375805B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102637124A (zh) * | 2012-03-22 | 2012-08-15 | 中国电子科技集团公司第五十八研究所 | 一种基4fft算法的并行处理装置及方法 |
CN103678255A (zh) * | 2013-12-16 | 2014-03-26 | 合肥优软信息技术有限公司 | 一种基于龙芯3号处理器的fft高效并行实现优化方法 |
CN103699516A (zh) * | 2014-01-13 | 2014-04-02 | 中国人民解放军国防科学技术大学 | 向量处理器中基于simd的并行fft/ifft蝶形运算方法及装置 |
CN104142811A (zh) * | 2014-07-18 | 2014-11-12 | 中国电子科技集团公司第三十八研究所 | 一种基于数字信号处理的高效并行处理优化方法 |
CN104820581A (zh) * | 2015-04-14 | 2015-08-05 | 广东工业大学 | 一种fft和ifft逆序数表的并行处理方法 |
CN104969215A (zh) * | 2013-03-13 | 2015-10-07 | 高通股份有限公司 | 具有用于提供多模基-2x蝶形向量处理电路的可编程数据路径的向量处理引擎以及相关的向量处理器、系统和方法 |
CN104994097A (zh) * | 2015-07-03 | 2015-10-21 | 孙艳君 | 一种计算机网络信息安全控制装置 |
CN105445546A (zh) * | 2015-12-31 | 2016-03-30 | 杭州海兴电力科技股份有限公司 | 一种具有谐波检测功能的光纤接入式电能表 |
CN106933777A (zh) * | 2017-03-14 | 2017-07-07 | 中国科学院软件研究所 | 基于国产申威26010处理器的基2一维fft的高性能实现方法 |
CN107408103A (zh) * | 2015-02-02 | 2017-11-28 | 优创半导体科技有限公司 | 配置成使用一个或多个复数算术指令对可变长度向量进行操作的向量处理器 |
CN109117183A (zh) * | 2017-10-30 | 2019-01-01 | 上海寒武纪信息科技有限公司 | 人工智能处理器及使用处理器执行向量交换指令的方法 |
CN111857831A (zh) * | 2020-06-11 | 2020-10-30 | 海光信息技术有限公司 | 一种存储体冲突优化方法、并行处理器及电子设备 |
CN112230995A (zh) * | 2020-10-13 | 2021-01-15 | 广东省新一代通信与网络创新研究院 | 一种指令的生成方法、装置以及电子设备 |
CN112631595A (zh) * | 2019-10-09 | 2021-04-09 | 安徽寒武纪信息科技有限公司 | 混洗方法、装置、计算机设备及可读存储介质 |
CN112631597A (zh) * | 2019-10-09 | 2021-04-09 | 中科寒武纪科技股份有限公司 | 混洗方法及计算装置 |
US11990137B2 (en) | 2018-09-13 | 2024-05-21 | Shanghai Cambricon Information Technology Co., Ltd. | Image retouching method and terminal device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060200513A1 (en) * | 2005-02-12 | 2006-09-07 | Jin-Hee Cheon | Fast Fourier transform processor and method capable of reducing size of memories |
CN101238455A (zh) * | 2005-08-11 | 2008-08-06 | 科莱索尼克公司 | 包括配置为执行复矢量指令的集群式simd微体系结构的可编程数字信号处理器 |
CN101438239A (zh) * | 2006-02-13 | 2009-05-20 | 爱特梅尔公司 | 微处理器中的紧缩加减运算 |
CN102012893A (zh) * | 2010-11-25 | 2011-04-13 | 中国人民解放军国防科学技术大学 | 一种可扩展向量运算簇 |
CN102200964A (zh) * | 2011-06-17 | 2011-09-28 | 孙瑞琛 | 基于并行处理的fft装置及其方法 |
-
2011
- 2011-10-31 CN CN201110337733.0A patent/CN102375805B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060200513A1 (en) * | 2005-02-12 | 2006-09-07 | Jin-Hee Cheon | Fast Fourier transform processor and method capable of reducing size of memories |
CN101238455A (zh) * | 2005-08-11 | 2008-08-06 | 科莱索尼克公司 | 包括配置为执行复矢量指令的集群式simd微体系结构的可编程数字信号处理器 |
CN101438239A (zh) * | 2006-02-13 | 2009-05-20 | 爱特梅尔公司 | 微处理器中的紧缩加减运算 |
CN102012893A (zh) * | 2010-11-25 | 2011-04-13 | 中国人民解放军国防科学技术大学 | 一种可扩展向量运算簇 |
CN102200964A (zh) * | 2011-06-17 | 2011-09-28 | 孙瑞琛 | 基于并行处理的fft装置及其方法 |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102637124A (zh) * | 2012-03-22 | 2012-08-15 | 中国电子科技集团公司第五十八研究所 | 一种基4fft算法的并行处理装置及方法 |
CN102637124B (zh) * | 2012-03-22 | 2015-09-30 | 中国电子科技集团公司第五十八研究所 | 一种基4fft算法的并行处理装置及方法 |
CN104969215A (zh) * | 2013-03-13 | 2015-10-07 | 高通股份有限公司 | 具有用于提供多模基-2x蝶形向量处理电路的可编程数据路径的向量处理引擎以及相关的向量处理器、系统和方法 |
CN104969215B (zh) * | 2013-03-13 | 2017-12-01 | 高通股份有限公司 | 具有用于提供蝶形向量处理电路的可编程数据路径的向量处理引擎以及相关的向量处理器、系统和方法 |
US9275014B2 (en) | 2013-03-13 | 2016-03-01 | Qualcomm Incorporated | Vector processing engines having programmable data path configurations for providing multi-mode radix-2x butterfly vector processing circuits, and related vector processors, systems, and methods |
TWI601066B (zh) * | 2013-03-13 | 2017-10-01 | 高通公司 | 具有用於提供多模基-2x蝶形向量處理電路的可程式設計資料路徑的向量處理引擎以及相關的向量處理器、系統和方法 |
CN103678255A (zh) * | 2013-12-16 | 2014-03-26 | 合肥优软信息技术有限公司 | 一种基于龙芯3号处理器的fft高效并行实现优化方法 |
CN103699516B (zh) * | 2014-01-13 | 2017-02-15 | 中国人民解放军国防科学技术大学 | 向量处理器中基于simd的并行fft/ifft蝶形运算方法及装置 |
CN103699516A (zh) * | 2014-01-13 | 2014-04-02 | 中国人民解放军国防科学技术大学 | 向量处理器中基于simd的并行fft/ifft蝶形运算方法及装置 |
CN104142811A (zh) * | 2014-07-18 | 2014-11-12 | 中国电子科技集团公司第三十八研究所 | 一种基于数字信号处理的高效并行处理优化方法 |
CN104142811B (zh) * | 2014-07-18 | 2017-02-01 | 中国电子科技集团公司第三十八研究所 | 一种基于数字信号处理的高效并行处理优化方法 |
US11544214B2 (en) | 2015-02-02 | 2023-01-03 | Optimum Semiconductor Technologies, Inc. | Monolithic vector processor configured to operate on variable length vectors using a vector length register |
US10824586B2 (en) | 2015-02-02 | 2020-11-03 | Optimum Semiconductor Technologies Inc. | Vector processor configured to operate on variable length vectors using one or more complex arithmetic instructions |
CN107408103A (zh) * | 2015-02-02 | 2017-11-28 | 优创半导体科技有限公司 | 配置成使用一个或多个复数算术指令对可变长度向量进行操作的向量处理器 |
CN107408103B (zh) * | 2015-02-02 | 2021-07-06 | 优创半导体科技有限公司 | 配置成使用一个或多个复数算术指令对可变长度向量进行操作的向量处理器 |
US10922267B2 (en) | 2015-02-02 | 2021-02-16 | Optimum Semiconductor Technologies Inc. | Vector processor to operate on variable length vectors using graphics processing instructions |
US10846259B2 (en) | 2015-02-02 | 2020-11-24 | Optimum Semiconductor Technologies Inc. | Vector processor to operate on variable length vectors with out-of-order execution |
CN104820581A (zh) * | 2015-04-14 | 2015-08-05 | 广东工业大学 | 一种fft和ifft逆序数表的并行处理方法 |
CN104820581B (zh) * | 2015-04-14 | 2017-10-10 | 广东工业大学 | 一种fft和ifft逆序数表的并行处理方法 |
CN104994097A (zh) * | 2015-07-03 | 2015-10-21 | 孙艳君 | 一种计算机网络信息安全控制装置 |
CN105445546B (zh) * | 2015-12-31 | 2018-08-21 | 杭州海兴电力科技股份有限公司 | 一种具有谐波检测功能的光纤接入式电能表 |
CN105445546A (zh) * | 2015-12-31 | 2016-03-30 | 杭州海兴电力科技股份有限公司 | 一种具有谐波检测功能的光纤接入式电能表 |
CN106933777B (zh) * | 2017-03-14 | 2019-03-19 | 中国科学院软件研究所 | 基于国产申威26010处理器的基2一维fft的高性能实现方法 |
CN106933777A (zh) * | 2017-03-14 | 2017-07-07 | 中国科学院软件研究所 | 基于国产申威26010处理器的基2一维fft的高性能实现方法 |
CN109117183A (zh) * | 2017-10-30 | 2019-01-01 | 上海寒武纪信息科技有限公司 | 人工智能处理器及使用处理器执行向量交换指令的方法 |
US12050887B2 (en) | 2017-10-30 | 2024-07-30 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
US11922132B2 (en) | 2017-10-30 | 2024-03-05 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
US12094456B2 (en) | 2018-09-13 | 2024-09-17 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and system |
US12057110B2 (en) | 2018-09-13 | 2024-08-06 | Shanghai Cambricon Information Technology Co., Ltd. | Voice recognition based on neural networks |
US12057109B2 (en) | 2018-09-13 | 2024-08-06 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
US11996105B2 (en) | 2018-09-13 | 2024-05-28 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
US11990137B2 (en) | 2018-09-13 | 2024-05-21 | Shanghai Cambricon Information Technology Co., Ltd. | Image retouching method and terminal device |
CN112631597A (zh) * | 2019-10-09 | 2021-04-09 | 中科寒武纪科技股份有限公司 | 混洗方法及计算装置 |
CN112631595B (zh) * | 2019-10-09 | 2024-03-01 | 安徽寒武纪信息科技有限公司 | 混洗方法、装置、计算机设备及可读存储介质 |
WO2021068758A1 (zh) * | 2019-10-09 | 2021-04-15 | 安徽寒武纪信息科技有限公司 | 混洗方法、装置、计算机设备及可读存储介质 |
CN112631595A (zh) * | 2019-10-09 | 2021-04-09 | 安徽寒武纪信息科技有限公司 | 混洗方法、装置、计算机设备及可读存储介质 |
CN111857831B (zh) * | 2020-06-11 | 2021-07-20 | 成都海光微电子技术有限公司 | 一种存储体冲突优化方法、并行处理器及电子设备 |
CN111857831A (zh) * | 2020-06-11 | 2020-10-30 | 海光信息技术有限公司 | 一种存储体冲突优化方法、并行处理器及电子设备 |
CN112230995B (zh) * | 2020-10-13 | 2024-04-09 | 广东省新一代通信与网络创新研究院 | 一种指令的生成方法、装置以及电子设备 |
CN112230995A (zh) * | 2020-10-13 | 2021-01-15 | 广东省新一代通信与网络创新研究院 | 一种指令的生成方法、装置以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102375805B (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102375805B (zh) | 面向向量处理器的基于simd的fft并行计算方法 | |
KR102443546B1 (ko) | 행렬 곱셈기 | |
CN103699516B (zh) | 向量处理器中基于simd的并行fft/ifft蝶形运算方法及装置 | |
CN103049241B (zh) | 一种提高cpu+gpu异构装置计算性能的方法 | |
CN103262058B (zh) | 利用simd进行冲突检测的方法、装置和系统 | |
TWI331300B (en) | System and method for processing thread groups in a simd architecture | |
EP3161616A2 (en) | System and methods for expandably wide operand instructions | |
CN103336758A (zh) | 一种稀疏矩阵的存储方法CSRL及基于该方法的SpMV实现方法 | |
CN104699624B (zh) | 面向fft并行计算的无冲突存储访问方法 | |
CN102200964A (zh) | 基于并行处理的fft装置及其方法 | |
CN102495721A (zh) | 一种支持fft加速的simd向量处理器 | |
CN117785480B (zh) | 处理器、归约计算方法及电子设备 | |
CN109146065A (zh) | 二维数据的卷积运算方法及装置 | |
CN107391439A (zh) | 一种可配置快速傅里叶变换的处理方法 | |
JPWO2016024508A1 (ja) | マルチプロセッサ装置 | |
CN104050148A (zh) | 快速傅里叶变换加速器 | |
CN117633418A (zh) | 基于矩阵运算的多维快速傅立叶变换加速方法 | |
CN202217276U (zh) | 基于并行处理的fft装置 | |
Nakano | Asynchronous memory machine models with barrier synchronization | |
CN102012802B (zh) | 面向向量处理器数据交换的方法及装置 | |
CN103262067B (zh) | 一种数据处理方法、数据处理装置和通信系统 | |
Zheng | Encrypted cloud using GPUs | |
CN102231624B (zh) | 面向向量处理器的浮点复数块fir的向量化实现方法 | |
Giles | Jacobi iteration for a Laplace discretisation on a 3D structured grid | |
CN113890508A (zh) | 一种批处理fir算法的硬件实现方法和硬件系统 |
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 |