迁移步骤
C语言迁移步骤
用户可以通过以下两种方法将FFTW迁移到KML_FFT。
第一种:直接迁移(需要修改部分代码)。
- 使用全局替换,将带有fftw前缀的接口替换成kml_fft前缀,将带有fftwf前缀的接口替换成kml_fftf前缀,如果有使用到FFTW头文件定义的宏定义常量,也需要将FFTW前缀替换成KML_FFT前缀。将#include <fftw.h>替换成#include <kfft.h> 。
- 在编译选项中将-lfftw/-lfftwf替换为-lkfft/-lkfftf。
- 添加环境变量,/PATH_TO_KFFT为KML_FFT的安装路径。
export LD_LIBRARY_PATH=/PATH_TO_KFFT:$LD_LIBRARY_PATH
第二种:通过开源适配层迁移(不需要修改源码,推荐使用该方法)。
- 使用RPM包安装KML。
rpm -ivh boostkit-kml-xxxx.aarch64.rpm
- 下载鲲鹏数学库开源适配层。
- 在kml_fft_adapter目录下进行编译。
cd kml_fft_adapter sh build.sh
- 在build目录下会生成适配的动态库libfftw3f.so和libfftw3.so,使用生成适配的动态库可直接替换软件中链接的fftw库。
- 添加环境变量,/PATH_TO_FFT_ADAPTER/build为开源适配层动态库的安装路径。
export LD_LIBRARY_PATH=/PATH_TO_FFT_ADAPTER/build:$LD_LIBRARY_PATH
Fortran接口迁移步骤
FFTW包含f77,f90,f03接口,其中f77接口定义与KML_FFT提供的Fortran接口不同,但内部逻辑实现基本相同。需要在KML_FFT外层封装一层适配f77的头文件。
父主题: FFTW迁移到KML_FFT