首页 | 本学科首页   官方微博 | 高级检索  
     

基于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
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号