In order to meet the requirements of high-performance fast Fourier transform (FFT) in embedded real-time operating systems(RTOS), an investigation was conducted on the native implementation and acceleration of FFT based on the domestic FT2000/4 processor platform. The comparison of FFT support parameters, core algorithm implementation, and compilation features between the open-source library FFTW and the ARM-specific library Ne10 were highlighted. Performance tests were carried out on the FT2000 platform under the Reworks system, evaluating different data scales and single instruction multiple data (SIMD) acceleration conditions. The results show that without SIMD, FFTW significantly outperforms Ne10 in algorithmic optimization and memory management, with a maximum performance lead of 467%. After SIMD is enabled, Ne10 demonstrates the advantage of architecture-specific customization, achieving a maximum performance improvement of 525%, and also exhibits high efficiency in certain scales of radix 3 and radix 5. It is can be seen that the realization of FFT library and the key influence of SIMD acceleration on computing performance, providing theoretical and practical guidance for selecting FFT approaches in embedded systems.
LI Xue-wei, SHI Wei, YUE Shi-xin, WANG Shao-yu.
FFT Library Performance and SIMD Acceleration Analysis on FT2000 Platform under Reworks System[J].
Science Technology and Engineering, 2026, 26(8): 3359-3366 DOI:10.12404/j.issn.1671-1815.2503039
在实际工程实践中,FFT的点数越来越长,且对计算的实时性要求越来越高,开发者开始利用特定的模型或库实现FFT加速。业界已经开发出多种成熟的FFT库。如西方最快傅里叶变换(the fastest Fourier transform in the west,FFTW),被认为是最优秀的开源FFT库之一;Kiss FFT,以简单和轻量著称,适用于嵌入式内存和计算能力有限的设备;OpenBLAS,开源的高性能线性代数库;Ne10库,特别针对ARM优化的库;CMSIS-DSP:针对ARM Cortex-M系列处理器优化的丰富DSP函数库,其中包含高效的FFT实现。另外ARMPL(arm performance libraries)、MKL(intel math kernel library)库中也有FFT实现。这些库各有特点,有的侧重于平台优化,有的注重跨平台兼容性。不同的实现方案也会对性能产生影响,因此在实际应用中,选择适合目标平台特性的FFT库十分关键。
YuanQuan, GuoZiqi, YaoQian, et al. Highly effective FFT algorithm based on parallel techniques[J]. Science Technology and Engineering, 2008, 8(16): 4709-4714.
LeiYuanwu, ChenXiaowen, PengYuanxi, et al. A high energy efficiency FFT accelerator on DSP chip[J]. Journal of Computer Research and Development, 2016, 53(7): 1438-1446.
HuangHe, RenJian, YuQing, et al. Design andoptimizaition of memory logging service based on Reworks[J]. Computer Applications and Software, 2023, 40(1): 273-279.
ChenTun, LiZhihao, JiaHaipeng, et al. Multi-dimensional FFT implementation and optimization on ARM V8 platform[J]. Chinese Journal of Computers, 2019, 42(11): 2384-2402.
ZhaoXiang, JiaHaipeng, ZhangYunquan, et al. Real FFT implementation and performance optimization based on ARMv8 CPUs[J]. Chinese Journal of Computers, 2023, 46(5): 1003-1018.
GuoJun, LiuPeng, YangXiyao, et al. Parallel optimization of large-point FFT on “Sunway 26010”[J]. Journal of Zhejiang University (Engineering Science), 2024, 58(1): 78-86.
LiFengjiao, GuNaijie, QiDongsheng, et al. Vectorization study for FFT algorithm based on ARM SVE[J]. Journal of Chinese Computer Systems, 2022, 43(10): 2017-2021.
PanYu, TianYinghui, LiuZhizhe, et al. ASIC implementation offloating-point like and point configurable FFT processors based on mixed-radix[J]. Modern Electronics Technique, 2024, 47(1): 163-170.
GuoJinxin, ZhangGuangting, ZhangYunquan, et al. High-performance implementation and optimization of Cooley-Tukey FFT algorithm[J]. Journal of Frontiers of Computer Science and Technology, 2022, 16(6): 1304-1315.
[23]
胡江平. 数字化样机平台计算中间件的研究与设计[D]. 西安: 西安电子科技大学, 2021.
[24]
HuJiangping. Research and design of computing middleware on digital prototype platform[D]. Xi’an: Xidian University, 2021.
[25]
MatteoF, StevenG J. FFTW[EB/OL]. (2020-12-10)[2025-04-27]. http://www.fftw.org/fftw3.pdf.
[26]
ARMCorporation. Ne10:an open-source library for DSP on ARM[EB/OL]. (2012-03-08)[2025-04-27].https://github.com/projectNe10/Ne10.
[27]
樊明. 基于SIMD架构的信号处理算法性能优化[D]. 南京: 东南大学, 2014.
[28]
FanMing. Performance optimization of signal processing algorithms based on SIMD architecture[D]. Nanjing: Southeast University, 2014.
[29]
向宏卫. 面向多核向量处理器的FFT算法设计与实现[D]. 长沙: 国防科学技术大学, 2014.
[30]
XiangHongwei. Design and implementation of FFTs based on multicore vector processor[D]. Changsha: National University of Defense Technology, 2014.
FanLilin, QiaoYihang, LiJunfei, et al. CP2K software porting and optimization based on domestic c86 processor[J]. Computer Science, 2023, 50(6): 58-65.