电子技术、通信技术Reworks系统下FT2000平台的FFT库性能与SIMD加速分析

李雪伟 ,  石炜 ,  岳世鑫 ,  王绍宇

科学技术与工程 ›› 2026, Vol. 26 ›› Issue (8) :3359-3366

PDF (5262KB)
科学技术与工程 ›› 2026, Vol. 26 ›› Issue (8) :3359-3366 DOI: 10.12404/j.issn.1671-1815.2503039
电子技术、通信技术

电子技术、通信技术Reworks系统下FT2000平台的FFT库性能与SIMD加速分析

作者信息 +

FFT Library Performance and SIMD Acceleration Analysis on FT2000 Platform under Reworks System

Author information +
文章历史 +

摘要

针对嵌入式实时操作系统(real-time operating systems,RTOS)的高性能快速傅里叶变换(fast Fourier transform,FFT)需求,开展基于国产FT2000/4处理器平台的本地实现和FFT性能加速研究。重点介绍了开源库FFTW和ARM专用库Ne10对FFT的支持参数、核心算法实现、编译支持情况及各自特点等,对比了两种库在不同数据规模和单指令多数据(single instruction multiple data,SIMD)加速条件下的计算性能,并在Reworks系统下的FT2000平台上进行测试实验。结果表明:在未启用SIMD场景下,FFTW凭借算法的优化和内存管理性能显著优于Ne10,最高是Ne10的467%,启用SIMD后,Ne10展现出架构定制化的优势,最高实现525%的性能提升,在基3和基5的部分长度中,Ne10也表现出较高的性能。可见FFT库的实现以及SIMD加速对计算性能的关键影响,为嵌入式系统FFT的选择提供理论与实践依据。

Abstract

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.

Graphical abstract

关键词

快速傅里叶变换(FFT) / 单指令多数据(SIMD)加速 / FFTW / Ne10 / Reworks系统

Key words

fast Fourier transform(FFT) / single instruction multiple data(SIMD) acceleration / FFTW / Ne10 / Reworks system

引用本文

引用格式 ▾
李雪伟, 石炜, 岳世鑫, 王绍宇. 电子技术、通信技术Reworks系统下FT2000平台的FFT库性能与SIMD加速分析[J]. 科学技术与工程, 2026, 26(8): 3359-3366 DOI:10.12404/j.issn.1671-1815.2503039
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

登录浏览全文

4963

注册一个新账户 忘记密码

离散傅里叶变换(discrete Fourier transform, DFT)作为现代信号处理的数学基础,其计算复杂度随数据规模呈O(N2)增长。快速傅里叶变换(fast Fourier transform, FFT)提出一种高效计算DFT及其逆变换的方法,主要利用分治法思想,将一个大规模的DFT问题分解成多个规模较小的DFT问题进行递归求解,提供了将时间信号快速转换为频率成分的能力,显著减少了信号处理中的计算量,使其在实时应用中变得可行[1-2]。由于其高效的计算能力,FFT在多个科学和工程领域得到了广泛应用。如在信号处理、数据通信与网络、音频与声音处理、医学成像、金融与经济分析、地质勘探等[3],为众多科学和技术领域提供了强大的支持,成为现代信号处理中不可或缺的一部分。
在实际工程实践中,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库十分关键。
FT2000/4是一款国产高性能嵌入式处理器,主要面向桌面应用及高端嵌入式领域。FT2000/4处理器采用4核设计,兼容ARMv8指令系统[4]。该芯片支持Neon扩展架构,提供了丰富的向量运算指令,包括加法、减法、乘法、位操作,ARMv8有32个128位寄存器v0~v31,是ARMv7的两倍,能够有效地加速FFT的计算。Reworks系统是一种国产嵌入式实时操作系统(real-time operating system, RTOS),支持多种处理器如ARM、龙芯、飞腾等主流架构,有着高安全、强实时的特点[5],Reworks系统可以运行在FT2000/4平台上运行FFT任务,为实时信号处理提供可靠的支持。
FFT的算法优化、处理器指令集并行和内存访问模式等均对FFT计算性能有着较大的影响。陈暾等[6]对FFT蝶形运算、SIMD等过程进行优化,使用ARM Cortex A57 CPU为试验平台,Ubuntu 15.04操作系统,该研究提升了ARMv8平台下FFT计算的性能,但未实现双精度实数FFT计算。赵翔等[7]专注于实数高效FFT算法,使用鲲鹏920处理器,在单双精度计算较两种常用FFT库性能均有一定提升。郭俊等[8]主要针对大点数FFT进行并行优化,通过旋转因子、SIMD等过程优化,在国产申威26010处理器使用单核组从核并行程序实现较高的加速比。李凤娇等[9]基于SVE指令集进行FFT算法实现,在向量长度为1 024位时,性能有5~8倍的提升。由此可见,当前研究主要集中在针对特定处理器架构、指定计算输入类型或指定数据类型FFT计算进行性能优化,但缺少FFT库在RTOS上的实现,特别是国产FT2000平台上的SIMD性能表现情况测试分析。
鉴于此,现分析FFTW和Ne10两种库的基本情况,并在FT2000/4平台Rework系统上进行本地实现并进行FFT性能测试,特别是单指令多数据(single instruction multiple data, SIMD)对FFT性能的提升测试,为嵌入式和高性能计算提供参考。

1 FFT计算与SIMD技术

FFT计算通过将问题分解为更小的部分并利用对称性和周期性特性,将复杂度降低到O(NlogN),因此当N较大时,FFT比传统方法快得多。FFT的核心算法是蝶形运算,蝶形运算是FFT算法的最小计算单元,是一种将两个复数输入转换为两个输出的基本运算,通过递归的方式不断分解问题规模[10-11],如基2的FFT蝶形运算示意图如图1所示,其中,x(0)~x(7)为输入的点数,${W}_{N}^{k}$为旋转因子,X(0)~X(7)为FFT计算的结果,通过蝶形运算不断地将数据分成两部分分别进行处理,最终完成整个变换过程。

SIMD是一种处理器指令类型,能够在单一指令周期内对多个数据进行相同的运算,从而实现并行计算[12]。SIMD能够有效提升处理性能,特别是在处理大量相同操作的数据时。FFT计算中的蝶形运算涉及大量重复的操作,SIMD指令可以同时执行多个复数乘法和加法运算,图2展示了SIMD的工作原理。

通过SIMD技术,可以将FFT的运算并行化,提高处理速度,从而加快FFT中的关键计算[7]。

2 FFTW与Ne10库架构与优化策略

2.1 FFTW库

FFTW是一个广泛使用的高效计算DFT及其逆变换的库,由麻省理工学院计算机科学实验室超级计算技术组开发,是目前最通用的FFT实现算法库之一,最新开源的版本是3.3.10(截至2025年1月16日)。但是需要注意的是,FFTW库开源的部分是预编译的文件,不提供实现的开源源码。

FFTW支持float、double、long double、quad double(float128)4种数据精度。FFTW可以计算任意长度的、实数或复数输入的、一维或多维的DFT,对素数长度输入的也使用了O(NlogN)算法。FFTW还支持许多特殊情况的FFT变换,如实数到复数 (real-to-complex,R2C)变换,复数到实数(complex-to-real,C2R)变换。

FFTW的核心思想是选择性的使用不同的算法进行FFT计算,常使用的算法是库利-图基(Cooly-Tukey)算法,这是基于分治法的快速傅里叶变换算法,将大的傅里叶变换问题分解成小的问题,每次递归时,通过蝶形运算合并子问题的结果,另外还有素数因子(Prime Factor)算法、针对质数长度的雷德(Rader)算法,以及分裂基数算法[13]。FFTW能够根据具体的硬件环境和输入的变换参数等生成合适的FFT算法,选择最佳的实现方式。针对如非2的幂次方特定长度的FFT计算,FFTW使用混合基数算法来适应不同的基数,它们的大小可以被分解为小的质数(2、3、5、7以及通过快速的C程序(codelets)生成特定的因子)并选择最优的基数组合,进一步优化计算效率,最终实现任意长度FFT计算复杂度均为O(NlogN)。FFTW会对输入数据进行了预处理,包括重新排列和内存对齐等操作,以提高缓存效率,这些预处理步骤有助于减少内存访问时间,并充分利用硬件的并行计算能力。FFTW支持就地(in-place)和非就地(out-of-place)的数据转换,使用者可根据内存需求和计算效率做选择。

FFTW支持对多种平台优化,可在不同的操作系统和硬件平台上进行编译和运行,特别是3.3.1版本引入ARM Neon扩展的支持,在主流ARM芯片上的计算速度得到进一步提升,结合自适应算法和编译时优化,在多种处理器架构上提供最优的执行效率。另外,FFTW可以利用多核处理器的并行性进行加速,支持单机多线程并行计算和分布式并行计算。官方在大部分环境下不推荐多线程,因为得益于算法极致的优化,在小规模(长度小于221)下单线程完全可以工作的很好,使用多线程时,必须使用线程锁,在创建和使用的时候开销比较大,得不偿失,但在计算规模比较大的时候,多线程引入便变得十分有必要。

FFTW使用过程主要分为以下4个步骤,具体如下。

步骤1 准备计算数据。FFTW支持多种输入和输出数据格式,甚至是栅格数据,在计算时,FFTW会自动处理输入数据的格式。FFTW有自己独特的内存管理方法,特别是对大规模数据,通过fftw_malloc提供内存的对齐,优化数据的访问速度,另外FFTW支持输入和输出数据可以共享相同的内存空间(即in-place),从而避免多次分配和释放内存。

步骤2 创建计划(plan)。FFTW会通过计划机制来优化计算过程,创建最快变换的数据结构(fftw_plan),该计划可以多次使用。计划是一种事先对数据和算法进行分析并生成相应执行代码的方式,是整个FFT计算的核心,计划的创建具体取决于输入数据的大小、维度、硬件特征等因素,FFTW创建计划提供了优化标志(如FFTW_ESTIMATE、FFTW_MEASURE)来控制计划的生成,其中ESTIMATE快速生成估计算法,不做优化,适用于调试和开发阶段,MEASURE对计划进行深度优化,生成最优的执行方案,但是可能会花费更多的时间。

步骤3 执行变换。通过fftw_execute()执行之前通过fftw_plan创建的计划,得到FFT计算结果。

步骤4 通过fftw_destroy_plan()销毁计划,释放资源。FFTW还可以通过wisdom机制保存已优化的计划,供下次调用时直接加载,从而减少计划开销。

FFTW最常用的编译方式是通过标准的configure脚本进行配置,configure脚本使用autoconf工具由configure.ac生成,使用automake将Makefile.am生成Makefile.in脚本,后续执行configure脚本会根据Makefile.in脚本生成Makefile.txt脚本。configure脚本支持多种平台,允许用户定制编译选项,支持不同精度选项、启用不同的SIMD选项、启用多线程环境、生成静态库或动态库、启用不同架构的目标平台等选项。配置完成后,执行make和make install完成编译和安装。另外FFTW还支持Cmake编译,可以根据自身需求修改CMakeList.txt配置并编译。

FFTW提供了丰富的API,支持多种编程语言,包括C、Fortran等。FFTW允许用户自定义数据类型、内存布局和计算参数。这种高度可定制化的接口设计使得FFTW在嵌入式系统、高性能计算和大数据处理中得到了广泛应用。但是由于FFTW复杂性和高度定制化的要求,需要根据目标平台进行配置,学习和使用门槛较高。

2.2 Ne10库

Ne10是一个高效的跨平台C/C++数学运算库,提供了多种高级数学功能,适用于游戏图形渲染、机器学习和嵌入式系统等场景。Ne10提供了4个功能模块:数字信号处理(DSP)模块,主要包含FFT及各种滤波器算法实现;基础数学运算(Math)模块,包含优化的基础数学函数,如矩阵加法、乘法、转置、求逆等操作;图像处理(Image)模块,包含图像缩放、旋转等操作;物理模拟(Physics)模块,包括碰撞检测和相关算法。Ne10库专为ARM SIMD优化,特别针对ARMv7/v8直接支持Neon,广泛用于需要高性能计算的嵌入式设备及各种支持的ARM的硬件平台,ARM Cortex-A系列或ARM Cortex-R52。Ne10当前在ARMv7下功能模块的支持是完善的,而aarch64还未支持math和physics模块,最新的版本是1.2.1(截至2025年1月16日,其实已经约10年没有更新[14])。

Ne10库的FFT计算支持float32、int32、int16三种数据精度,可以计算一维、任意点数的(启用SIMD时不支持任意点数)、实数或复数输入的FFT计算,并支持C2C变换,但需要注意的是,Ne10库不支持R2R变换。

Ne10库的FFT实现同样基于Cooley-Tukey算法[15],也参考了分解基数法,实现参考了Kiss FFT库。Ne10库的FFT中使用factors表示基数信息,factors存储了FFT变换大小分解相关的因子信息,尤其是处理非2的幂次方大小时,帮助FFT算法通过分解策略优化计算过程,从v1.2.0新增基3和基5运算。

Ne10库的使用过程主要分为以下几个步骤。首先是Ne10输入,初始化所需的FFT参数;接着初始化输入数据,加载或生成输入信号数据;接着分配输出空间,为结果分配内存;接着调用FFT函数,如ne10_fft_float32_c2c单精度复数到复数的FFT变换,执行FFT变换,根据需要处理FFT结果;然后进行后处理,通过适当的后处理得到所需的频域数据;最后清理资源,释放相关资源,防止内存泄漏。

Ne10库仅支持CMake编译,在目标平台上直接编译或交叉编译。Ne10库支持以下平台:Linux:支持多种Linux发行版,包括Ubuntu、Debian等;Android:可用于Android设备的应用开发;iOS:支持iOS设备,如iPhone和iPad。此外,Ne10库的模块化设计使得开发者可以根据需求选择和集成相应的功能,使其易于移植到其他平台。

2.3 两种库对比

FFTW库和Ne10库都是高性能FFT计算库之一,但数据维度、数据精度、变换类型支持等还是有较大的区别,两个库FFT变换相关参数对比如表1所示。

对比可知,FFTW可以进行二维及多维FFT计算,适应图像处理、信号处理等需求,而Ne10仅支持1维,适用于嵌入式实时计算。FFTW面向桌面和服务器环境的高精度数据计算,Ne10主要针对单精度优化,主要面向ARM平台上单精度浮点运算,重点优化针对嵌入式和移动设备。FFTW比Ne10支持更加完整的变换类型、支持几乎各个平台的SIMD加速、支持多线程、支持MPI,而Ne10主要针对ARM架构,支持Linux、Android和iOS等平台。另外FFTW在内存优化、接口使用灵活性、FFT实现算法、多线程支持上表现的更专业。

FFTW和Ne10各有其独特的优势,FFTW以其广泛的数值精度支持和强大的多线程、MPI加速能力,成为复杂信号处理和高性能计算的理想选择,被大量科研、工程和商业项目采用,适用于音频处理、图像分析、物理仿真等领域;而Ne10则凭借专为ARM架构优化的轻量级设计,在嵌入式设备和移动平台中展现出卓越的效率,主要定位于移动设备、嵌入式系统及实时信号处理应用,针对低功耗与实时性有独特优势。

3 实验设计与结果分析

FFTW和Ne10两种FFT库均支持SIMD加速,现对两个库FFT性能进行测试。测试选用的硬件为FT2000/4平台,搭载Reworks系统,实验平台的软硬件参数如表2所示。两种库均在Ubuntu系统中使用CMake交叉编译生成库,然后使用相同的编译器编译[16-17],如有优化,使用相同的优化选项(-O3或-mfpu=neon),每个实验做三次,每次计算1 000次,最终结果计算取平均值。

为了评价FFT的性能,引入GFlops来衡量FFT的计算速度,表示每秒十亿次的浮点运算,定义GFlops为[8]

GFlops=$\frac{5\times {10}^{-9}Nlo{g}_{2}N}{t}$

式(1)中:N为FFT计算长度;t为计算消耗的时间,s。

除此之外,还需要综合FFT变换过程中的资源使用情况。

设置两组对比实验,分别在不启用和启用SIMD时,对比两个库在不同长度输入(16~1 048 576点)FFT计算性能,另外补充启动SIMD时部分2a3b5c7d长度进行测试,其中a、b、c、d均为自然数(Ne10支持基2、3、5长度,FFTW支持基2、3、5、7等任意长度)。测试数据类型为单精度;测试变换为复数到复数C2C,FFTW选择非就地变换。测试期间观察CPU的利用率和内存使用情况。

按照上述实验测试方法,在选用的测试平台上测试,使用图表展示两个在FFT计算中的性能表现,结果如图3~图7所示。需要说明的是,图3~图5中空数据为一组测试1 000次结果仍不到系统的一个Tick,无法评估性能。图6结果中Ne10计算的14 336点、28 672点、43 008点分解因子的结果存在基数7,为Ne10不支持长度,因此结果为空,无法评估。图7为两个库在FFT点数为1 048 576时两者结果的误差。在1 048 576点FFT计算期间,观察CPU的使用和内存使用情况,无论是否启用SIMD,FFTW和Ne10均占用CPU单核100%,FFTW最大占用内存0.034 5 M,Ne10最大占用内存16.002 3 M。

在不启用SIMD时,由图3可知,在所有的点数,FFTW的性能全面领先与Ne10,甚至在128点时,FFTW的性能是Ne10的467%,即使在1 048 576点时,FFTW的性能仍是Ne10的211%,可以看出,在没有SIMD加速时,得益于FFTW内存和算法选择的极致优化,FFTW的性能是十分可观的,而且FFTW占用的内存空间极小。因此在不启用SIMD时,建议优先使用FFTW。

在启用SIMD后,由图4可知,两者的性能整体差距不大,在131 072点以前是FFTW的性能是小幅领先于Ne10的,但在131 072点数以上时,Ne10的性能小幅领先于FFTW,综合图5可知,启用SIMD之后,给Ne10带来了至高525%的性能提升,表明Ne10针对ARM架构专用优化对计算性能的关键影响,且根据图7可知,Ne10的计算结果精度相对较高。因此在启用SIMD时,部分长度下考虑数据精度可以考虑使用Ne10,但是在嵌入式设备中,需要注意内存的占用情况。从图6测试结果来看,除3个基7的点数Ne10不支持外,部分基3、基5的点数(6 144、12 288、18 432、20 480、30 720、36 864、40 960)性能表现超越FFTW,甚至在点数36 864时性能是FFTW的1.49倍,有着卓越的表现。

4 结论

介绍了FFT计算和SIMD工作原理,详细介绍了支持SIMD加速的两个库——FTW库和Ne10库,然后测试两个库在Reworks系统FT2000平台的本地编译和FFT性能表现。测试实验表明,FFTW和Ne10的FFT计算均有着卓越的表现,在不使用SIMD加速时,FFTW性能全面领先于Ne10,甚至在部分点数是Ne10的467%;在使用SIMD加速时,两者的性能差距不大,但是相对于不使用SIMD,性能提升效果十分明显,甚至给Ne10带来了至高525%的性能提升。总的来说,使用SIMD对FFT的计算起到了较好的加速效果,在SIMD加速下,FFTW的性能表现略微好于Ne10,且内存占用远小于Ne10,但是在部分点数Ne10的性能表现略强,需要综合考虑FFT长度和内存情况决定优先使用哪种FFT计算库。综上,研究成果对Reworks系统下FT2000平台的FFT计算性能提供重要的参考。

参考文献

[1]

曾海东, 韩峰, 刘瑶琳. 傅里叶分析的发展与现状[J]. 现代电子技术, 2014, 37(3): 144-147.

[2]

Zeng Haidong, Han Feng, Liu Yaolin. Development and current situation of Fourier analysis[J]. Modern Electronics Technique, 2014, 37(3): 144-147.

[3]

袁泉, 郭子祺, 姚谦, 等. 基于并行处理的FFT快速算法[J]. 科学技术与工程, 2008, 8(16): 4709-4714.

[4]

Yuan Quan, Guo Ziqi, Yao Qian, et al. Highly effective FFT algorithm based on parallel techniques[J]. Science Technology and Engineering, 2008, 8(16): 4709-4714.

[5]

雷元武, 陈小文, 彭元喜, 等. DSP芯片中的高能效FFT加速器[J]. 计算机研究与发展, 2016, 53(7): 1438-1446.

[6]

Lei Yuanwu, Chen Xiaowen, PengYuanxi, et al. A high energy efficiency FFT accelerator on DSP chip[J]. Journal of Computer Research and Development, 2016, 53(7): 1438-1446.

[7]

李竞择, 苟喜东, 范承宇. 基于FT2000处理器内存性能测试及优化[J]. 机电产品开发与创新, 2022, 35(3): 110-113.

[8]

Li Jingze, Gou Xidong, Fan Chengyu. FT2000 processor-based memory performance testing and optimization[J]. Development & Innovation of Machinery & Electrical Products, 2022, 35(3): 110-113.

[9]

黄河, 任见, 佘庆, 等. 基于Reworks的内存日志服务设计与优化[J]. 计算机应用与软件, 2023, 40(1): 273-279.

[10]

Huang He, Ren Jian, Yu Qing, et al. Design andoptimizaition of memory logging service based on Reworks[J]. Computer Applications and Software, 2023, 40(1): 273-279.

[11]

陈暾, 李志豪, 贾海鹏, 等. 基于ARMv8平台的多维FFT实现与优化研究[J]. 计算机学报, 2019, 42(11): 2384-2402.

[12]

Chen Tun, Li Zhihao, Jia Haipeng, et al. Multi-dimensional FFT implementation and optimization on ARM V8 platform[J]. Chinese Journal of Computers, 2019, 42(11): 2384-2402.

[13]

赵翔, 贾海鹏, 张云泉, 等. 基于ARMv8处理器的实数FFT实现与性能优化研究[J]. 计算机学报, 2023, 46(5): 1003-1018.

[14]

Zhao Xiang, Jia Haipeng, Zhang Yunquan, et al. Real FFT implementation and performance optimization based on ARMv8 CPUs[J]. Chinese Journal of Computers, 2023, 46(5): 1003-1018.

[15]

郭俊, 刘鹏, 杨昕遥, 等. 大点数FFT在“申威26010”上的并行优化[J]. 浙江大学学报(工学版), 2024, 58(1): 78-86.

[16]

Guo Jun, Liu Peng, Yang Xiyao, et al. Parallel optimization of large-point FFT on “Sunway 26010”[J]. Journal of Zhejiang University (Engineering Science), 2024, 58(1): 78-86.

[17]

李凤娇, 顾乃杰, 齐东升, 等. 基于ARM SVE的FFT算法向量化研究[J]. 小型微型计算机系统, 2022, 43(10): 2017-2021.

[18]

Li Fengjiao, Gu Naijie, Qi Dongsheng, et al. Vectorization study for FFT algorithm based on ARM SVE[J]. Journal of Chinese Computer Systems, 2022, 43(10): 2017-2021.

[19]

潘于, 田映辉, 刘志哲, 等. 基于混合基的类浮点可变点FFT处理器的ASIC实现[J]. 现代电子技术, 2024, 47(1): 163-170.

[20]

Pan Yu, Tian Yinghui, Liu Zhizhe, 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.

[21]

郭金鑫, 张广婷, 张云泉, 等. Cooley-Tukey FFT算法高性能实现与优化研究[J]. 计算机科学与探索, 2022, 16(6): 1304-1315.

[22]

Guo Jinxin, Zhang Guangting, Zhang Yunquan, 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]

Hu Jiangping. Research and design of computing middleware on digital prototype platform[D]. Xi’an: Xidian University, 2021.

[25]

Matteo F, Steven G J. FFTW[EB/OL]. (2020-12-10)[2025-04-27]. http://www.fftw.org/fftw3.pdf.

[26]

ARM Corporation. 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]

Fan Ming. Performance optimization of signal processing algorithms based on SIMD architecture[D]. Nanjing: Southeast University, 2014.

[29]

向宏卫. 面向多核向量处理器的FFT算法设计与实现[D]. 长沙: 国防科学技术大学, 2014.

[30]

Xiang Hongwei. Design and implementation of FFTs based on multicore vector processor[D]. Changsha: National University of Defense Technology, 2014.

[31]

范黎林, 乔一航, 李俊飞, 等. 基于国产c86处理器的CP2K软件移植与优化[J]. 计算机科学, 2023, 50(6): 58-65.

[32]

Fan Lilin, Qiao Yihang, Li Junfei, et al. CP2K software porting and optimization based on domestic c86 processor[J]. Computer Science, 2023, 50(6): 58-65.

PDF (5262KB)

40

访问

0

被引

详细

导航
相关文章

/

〈 〉