基于ARMv8处理器的实数FFT实现与性能优化研究 |
| |
引用本文: | 赵翔,贾海鹏,张云泉,邓明森,张广婷,郭金鑫.基于ARMv8处理器的实数FFT实现与性能优化研究[J].计算机学报,2023(5):1003-1018. |
| |
作者姓名: | 赵翔 贾海鹏 张云泉 邓明森 张广婷 郭金鑫 |
| |
作者单位: | 1. 贵州财经大学信息学院;2. 中国科学院计算技术研究所处理器芯片全国重点实验室;3. 中移(杭州)信息技术有限公司 |
| |
基金项目: | 国家重点研发计划(2017YFB0202105);;国家自然科学基金(61972376);;北京自然科学基金(L182053)资助~~; |
| |
摘 要: | FFT(快速傅里叶变换)是离散傅里叶变换或其逆变换的一种常见快速算法,是高性能计算领域最重要的基础核心算法之一,在科学、工程和数学等领域的应用十分广泛.实数FFT算法,即输入或者输出为实数的FFT算法,其中包括R2C(Real-to-Complex)、C2R(Complex-to-Real)等变换类型.相比复数FFT算法,实数FFT算法在图形图像处理、数据压缩等领域有着不可替代的作用.传统实数FFT实现针对的是输入规模为偶数,一般转变为复数FFT进行运算.然而当前鲜有针对输入规模为奇数的实数FFT高效实现.对此,本文提出了一种实数FFT高效算法(DRFFT),并采用蝶形网络优化、蝶形计算优化、访存优化、SIMD优化以及数据转置等方法进行优化,大幅提升了实数FFT算法性能,最终构建了一种针对实数FFT的高性能算法库.实验结果表明,本文实现的DRFFT R2C变换在单双精度浮点数处理方面较FFTW库性能分别平均提升了37.6%和4.6%,较ARMPL库性能分别平均提升了67.6%和28.1%.DRFFT C2R变换在单双精度浮点数处理方面则较FFTW库性能分别平均提升了58.6%和10.8...
|
关 键 词: | ARMv8 FFT算法 R2C C2R FFTW |
|
|