CN112559952B - 基于序列分层的异构众核快速傅里叶变换方法 - Google Patents
基于序列分层的异构众核快速傅里叶变换方法 Download PDFInfo
- Publication number
- CN112559952B CN112559952B CN201910918627.8A CN201910918627A CN112559952B CN 112559952 B CN112559952 B CN 112559952B CN 201910918627 A CN201910918627 A CN 201910918627A CN 112559952 B CN112559952 B CN 112559952B
- Authority
- CN
- China
- Prior art keywords
- core
- size
- sequence
- layer
- computing
- 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
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/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开一种基于序列分层的异构众核快速傅里叶变换方法,包括以下步骤:S1、将待转序列按FFT运算层序进行分块,分块大小为当前运算层一次基本运算的子序列大小,即第1次分块时,每个分块的大小为2,即将输入序列分成大小为2的若干个小块;第2次分块时,每个分块的大小为4,即将输入序列分成大小为4的若干个小块;以此类推,第n次分块时,每个分块的大小为2n,即将输入序列分成大小为2n的若干个小块;一直分到每个分块的大小与输入序列的长度相同为止;S2、将每一层的分块并行地利用异构众核架构进行加速运算,通过片上网络实现分块内部的众核加速。本发明提高大规模数据的FFT算法性能。
Description
技术领域
本发明属于信号分析技术领域,尤其涉及一种基于序列分层的异构众核快速傅里叶变换方法。
背景技术
快速傅立叶变换(FFT)算法是科学与工程研究中最重要的算法之一,它使得傅立叶变换(DFT)的计算复杂度大为减少,从而使数字信号处理进入了实用阶段,快速傅立叶变换(FFT)在计算机图像、核磁共振成像算法以及音视频处理领域中都起着至关重要的作用。
目前我们面临的科技问题,数据规模极其庞大,已经达到TB甚至PB级,通用处理器的处理能力以及存储带宽具有局限性,其对大规模数据的FFT性能很难满足实际应用需要,面对迅速发展的现代通信技术,如何提高FFT算法性能,编写灵活高效的加速算法成为关键。
发明内容
本发明目的在于提供一种基于序列分层的异构众核快速傅里叶变换方法,该变换方法基于申威众核架构的FFT并行优化方法,能够提升大规模数据的FFT性能。
为达到上述目的,本发明采用的技术方案是:一种基于序列分层的异构众核快速傅里叶变换方法,包括以下步骤:
S1、将待转序列按FFT运算层序进行分块,分块大小为当前运算层一次基本运算的子序列大小,即第1次分块时,每个分块的大小为2,即将输入序列分成大小为2的若干个小块;第2次分块时,每个分块的大小为4,即将输入序列分成大小为4的若干个小块;以此类推,第n次分块时,每个分块的大小为2n,即将输入序列分成大小为2n的若干个小块;一直分到每个分块的大小与输入序列的长度相同为止;
S2、将每一层的分块并行地利用异构众核架构进行加速运算,通过片上网络实现分块内部的众核加速;
S21、将S1中每一层的分块依次加载到异构众核架构的计算核心上,若一个计算核心的缓存装满,则加载到下一个计算核心上,直到将异构众核架构的所有计算核心全部装满,每个计算核心根据自己的编号计算自己计算的数据在控制核心内存中的位置,实现输入序列到整个计算核心阵列的映射,根据计算结果从控制核心将结果加载到自己的缓存中;
S22、当计算核心全部装满后,若当前运算层每一个分块的大小不大于每个计算核心缓存大小,则计算核心开始计算缓存中的数据,否则,计算核心根据自己缓存中数据在当前分层中的位置和计算核心编号计算需要的数据所在的计算核心编号。对相互需要数据的两个计算核心配对并通过片上网络实现配对计算核心间的相互通信,使每个计算核心均得到相应的数据,然后每个计算核心计算各自缓存内的数据;
S3、利用异构众核的远程数据访问机制,每个计算核心将自己的运算结果写回到控制核心内存中的对应位置,完成后重复S1开始下一层运算,直到完成所有运算层的计算;
S4、当所有运算层计算结束后,控制核心等待每个运算核心将运算结果写回控制核心的内存,完成后即完成输入的输入序列的FFT运算。
上述技术方案中进一步改进的技术方案如下:
1. 上述方案中,所述步骤S1中每一次分块即为一个FFT运算层,在实际运算中,按运算层逐层进行运算。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明基于序列分层的异构众核快速傅里叶变换方法,该变换方法提出一种分层的分块方式对序列进行分块,结合异构众核架构特点提出众核的并行优化方法,从而提高大规模数据的FFT算法性能;适用于绝大多数采用FFT算法计算软件,涵盖领域广泛,包括:航空航天,汽车设计,船舶,气候变化模拟,核模拟等,并拥有超高的大规模FFT计算效率。
附图说明
附图1为本发明FFT算法示意图;
附图2为本发明从核通信配对关系示意图;
附图3为本发明基于序列分层的异构众核快速傅里叶变换方法流程图。
具体实施方式
下面结合实施例对本发明作进一步描述:
实施例:一种基于序列分层的异构众核快速傅里叶变换方法,包括以下步骤:
S1、将待转序列按FFT运算层序进行分块,分块大小为当前运算层一次基本运算的子序列大小,即第1次分块时,每个分块的大小为2,即将输入序列分成大小为2的若干个小块;第2次分块时,每个分块的大小为4,即将输入序列分成大小为4的若干个小块;以此类推,第n次分块时,每个分块的大小为2n,即将输入序列分成大小为2n的若干个小块;一直分到每个分块的大小与输入序列的长度相同为止;
S2、将每一层的分块并行地利用异构众核架构进行加速运算,通过片上网络实现分块内部的众核加速;
S21、将S1中每一层的分块依次加载到异构众核架构的计算核心上,若一个计算核心的缓存装满,则加载到下一个计算核心上,直到将异构众核架构的所有计算核心全部装满,每个计算核心根据自己的编号计算自己计算的数据在控制核心内存中的位置,实现输入序列到整个计算核心阵列的映射,根据计算结果从控制核心将结果加载到自己的缓存中;
S22、当计算核心全部装满后,若当前运算层每一个分块的大小不大于每个计算核心缓存大小,则计算核心开始计算缓存中的数据,否则,计算核心根据自己缓存中数据在当前分层中的位置和计算核心编号计算需要的数据所在的计算核心编号。对相互需要数据的两个计算核心配对并通过片上网络实现配对计算核心间的相互通信,使每个计算核心均得到相应的数据,然后每个计算核心计算各自缓存内的数据;
S3、利用异构众核的远程数据访问机制,每个计算核心将自己的运算结果写回到控制核心内存中的对应位置,完成后重复S1开始下一层运算,直到完成所有运算层的计算;
S4、当所有运算层计算结束后,控制核心等待每个运算核心将运算结果写回控制核心的内存,完成后即完成输入的输入序列的FFT运算。
上述步骤S1中每一次分块即为一个FFT运算层,在实际运算中,按运算层逐层进行运算
本发明上述内容进一步解释如下:
如图1~2所示,每一层计算时需要根据本层的计算特征对待转序列进行分块,每个分块的大小均为2的整幂次;计算时,将异构众核在逻辑上划分为一维排布,每一个计算核心首先计算加载到自已内部的数据,等所有计算核心完成各自计算后利用片上网络实现异构众核整体的加速运算,从而完成整个序列的计算。
采用上述基于序列分层的异构众核快速傅里叶变换方法时,其提出一种分层的分块方式对序列进行分块,结合异构众核架构特点提出众核的并行优化方法,从而提高大规模数据的FFT算法性能;适用于绝大多数采用FFT算法计算软件,涵盖领域广泛,包括:航空航天,汽车设计,船舶,气候变化模拟,核模拟等,并拥有超高的大规模FFT计算效率。
为了便于更好的理解本发明,下面将对本文中使用的术语进行简要的解释:
离散傅立叶变换:英文为Discrete Fourier Transform,将时域信号的采样变换为在频域的采样。
快速傅里叶变换:英文为Fast Fourier Transform,一种傅立叶变换(DFT)的快速算法。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (2)
1.一种基于序列分层的异构众核快速傅里叶变换方法,其特征在于:包括以下步骤:
S1、将待转序列按FFT运算层序进行分块,分块大小为当前运算层一次基本运算的子序列大小,即第1次分块时,每个分块的大小为2,即将输入序列分成大小为2的若干个小块;第2次分块时,每个分块的大小为4,即将输入序列分成大小为4的若干个小块;以此类推,第n次分块时,每个分块的大小为2n,即将输入序列分成大小为2n的若干个小块;一直分到每个分块的大小与输入序列的长度相同为止;
S2、将每一层的分块并行地利用异构众核架构进行加速运算,通过片上网络实现分块内部的众核加速;
S21、将S1中每一层的分块依次加载到异构众核架构的计算核心上,若一个计算核心的缓存装满,则加载到下一个计算核心上,直到将异构众核架构的所有计算核心全部装满,每个计算核心根据自己的编号计算自己计算的数据在控制核心内存中的位置,实现输入序列到整个计算核心阵列的映射,根据计算结果从控制核心将结果加载到自己的缓存中;
S22、当计算核心全部装满后,若当前运算层每一个分块的大小不大于每个计算核心缓存大小,则计算核心开始计算缓存中的数据,否则,计算核心根据自己缓存中数据在当前分层中的位置和计算核心编号计算需要的数据所在的计算核心编号;
对相互需要数据的两个计算核心配对并通过片上网络实现配对计算核心间的相互通信,使每个计算核心均得到相应的数据,然后每个计算核心计算各自缓存内的数据;
S3、利用异构众核的远程数据访问机制,每个计算核心将自己的运算结果写回到控制核心内存中的对应位置,完成后重复S1开始下一层运算,直到完成所有运算层的计算;
S4、当所有运算层计算结束后,控制核心等待每个运算核心将运算结果写回控制核心的内存,完成后即完成输入序列的FFT运算。
2.根据权利要求1所述的一种基于序列分层的异构众核快速傅里叶变换方法,其特征在于:所述步骤S1中每一次分块即为一个FFT运算层,在实际运算中,按运算层逐层进行运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910918627.8A CN112559952B (zh) | 2019-09-26 | 2019-09-26 | 基于序列分层的异构众核快速傅里叶变换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910918627.8A CN112559952B (zh) | 2019-09-26 | 2019-09-26 | 基于序列分层的异构众核快速傅里叶变换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112559952A CN112559952A (zh) | 2021-03-26 |
CN112559952B true CN112559952B (zh) | 2023-07-07 |
Family
ID=75029883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910918627.8A Active CN112559952B (zh) | 2019-09-26 | 2019-09-26 | 基于序列分层的异构众核快速傅里叶变换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559952B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378109B (zh) * | 2021-04-22 | 2023-09-12 | 浙江大学 | 一种基于存内计算的混合基快速傅里叶变换计算电路 |
CN113655986B9 (zh) * | 2021-08-27 | 2023-10-10 | 中国人民解放军国防科技大学 | 一种基于numa亲和性的fft卷积算法并行实现方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020773A (zh) * | 2016-05-13 | 2016-10-12 | 中国人民解放军信息工程大学 | 异构众核架构中有限差分算法的优化方法 |
CN107451097A (zh) * | 2017-08-04 | 2017-12-08 | 中国科学院软件研究所 | 国产申威26010众核处理器上多维fft的高性能实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101770234B1 (ko) * | 2013-10-03 | 2017-09-05 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 소프트웨어 프로그램의 연산 블록을 멀티-프로세서 시스템의 코어에 할당하는 방법 및 시스템 |
-
2019
- 2019-09-26 CN CN201910918627.8A patent/CN112559952B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020773A (zh) * | 2016-05-13 | 2016-10-12 | 中国人民解放军信息工程大学 | 异构众核架构中有限差分算法的优化方法 |
CN107451097A (zh) * | 2017-08-04 | 2017-12-08 | 中国科学院软件研究所 | 国产申威26010众核处理器上多维fft的高性能实现方法 |
Non-Patent Citations (1)
Title |
---|
阵列众核处理器上的高效归并排序算法;石嵩;李宏亮;朱巍;;计算机研究与发展(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112559952A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102492477B1 (ko) | 행렬 곱셈기 | |
KR102316670B1 (ko) | 연산 가속기 | |
CN108805266B (zh) | 一种可重构cnn高并发卷积加速器 | |
CN110262901B (zh) | 一种数据处理方法及数据处理系统 | |
CN111461311B (zh) | 基于众核处理器的卷积神经网络运算加速方法及装置 | |
WO2021109699A1 (zh) | 人工智能加速器、设备、芯片及数据处理方法 | |
US20220360428A1 (en) | Method and Apparatus for Configuring a Reduced Instruction Set Computer Processor Architecture to Execute a Fully Homomorphic Encryption Algorithm | |
CN112559952B (zh) | 基于序列分层的异构众核快速傅里叶变换方法 | |
WO2019085709A1 (zh) | 一种应用于卷积神经网络的池化处理的方法及系统 | |
CN115221102B (zh) | 用于优化片上系统的卷积运算操作的方法和相关产品 | |
CN112703511B (zh) | 运算加速器和数据处理方法 | |
US20140337401A1 (en) | Data access method and device for parallel fft computation | |
CN110837483B (zh) | 张量维度变换的方法以及装置 | |
CN112686379B (zh) | 集成电路装置、电子设备、板卡和计算方法 | |
CN117785480B (zh) | 处理器、归约计算方法及电子设备 | |
Manasi et al. | NeuPart: Using analytical models to drive energy-efficient partitioning of CNN computations on cloud-connected mobile clients | |
CN114764615A (zh) | 卷积运算的实现方法、数据处理方法及装置 | |
CN114003201A (zh) | 矩阵变换方法、装置及卷积神经网络加速器 | |
CN110766136B (zh) | 一种稀疏矩阵与向量的压缩方法 | |
WO2021135572A1 (zh) | 神经网络的卷积实现方法、卷积实现装置及终端设备 | |
WO2021026196A1 (en) | Configuring a reduced instruction set computer processor architecture to execute a fully homomorphic encryption algorithm | |
US20190324909A1 (en) | Information processing apparatus and information processing method | |
Chang et al. | HDSuper: Algorithm-Hardware Co-design for Light-weight High-quality Super-Resolution Accelerator | |
CN115344526A (zh) | 一种数据流架构的硬件加速方法及装置 | |
Huang et al. | A low-bit quantized and hls-based neural network fpga accelerator for object detection |
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 |