使用Intel MKL FFTW接口函数
Intel MKL提供与FFTW 2.x and 3.x 相兼容的wrapper函数。FFTW的用户可以用MKL FFT 函数替代原有程序的FFT变换, 获得更高的性能。
下面是使用MKL FFTW的步骤:
1) 确定FFTW接口版本。
Intel MKL 支持 FFTW 2.x 与 3.x 的 Fortran 与 C 的接口。
相应的接口分别在下面的目录下:
/opt/intel/mkl/ /10.x.xxx/interfaces/fftw2xc
/opt/intel/mkl/10.x.xxx /interfaces/fftw2xf
/opt/intel/mkl/10.x.xxx /interfaces/fftw3xc
/opt/intel/mkl/10.x.xxx /interfaces/fftw3xf
2)Build 接口函数。
创建接口函数的步骤可以查看MKL FFTW Wrapper的文档(/opt/intel/mkl/10.x.xxx/doc/fftw2xmkl_notes.htm(fftw3xmkl_notes.htm).
下面是一个用Intel Compiler, 在EM64的Linux 平台上创建一个 FFT2.x Fortran 接口的例子:
>cd /opt/intel/mkl/10.x.xxx /interfaces/fftw2xf
>make libem64t F=intel precision=MKL_DOUBLE
# Itaniums使用 make lib64 F=intel precision=MKL_DOUBLE
3)链接MKL函数与FFTW 接口函数。
成功编译FFTW接口后, FFTW接口函数在 /opt/intel/mkl/10.x.xxx/lib/em64t (Itaniums平台为:/opt/intel/mkl/10.x.xxx/lib/64/) 目录下。
libfftw2xf_intel.a 是Intel 编译器 FFTW2.x Fortran接口,GCC 编译器的类库名称与此类似。
链接程序时,只需要链接FFTW接口函数与Intel DFT MKL函数。下面是在EM64T的平台上,使用Intel Compiler 的一个例子:
>ifort -I/opt/intel/mkl/10.x.xxx/include/ -I/opt/intel/mkl/10.x.xxx/include/fftw/ mycode.f -L/opt/intel/mkl/10.x.xxx/lib/em64t/ -lfftw2xf_intel -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -pthread
下面是使用MKL FFTW的步骤:
1) 确定FFTW接口版本。
Intel MKL 支持 FFTW 2.x 与 3.x 的 Fortran 与 C 的接口。
相应的接口分别在下面的目录下:
/opt/intel/mkl/ /10.x.xxx/interfaces/fftw2xc
/opt/intel/mkl/10.x.xxx /interfaces/fftw2xf
/opt/intel/mkl/10.x.xxx /interfaces/fftw3xc
/opt/intel/mkl/10.x.xxx /interfaces/fftw3xf
2)Build 接口函数。
创建接口函数的步骤可以查看MKL FFTW Wrapper的文档(/opt/intel/mkl/10.x.xxx/doc/fftw2xmkl_notes.htm(fftw3xmkl_notes.htm).
下面是一个用Intel Compiler, 在EM64的Linux 平台上创建一个 FFT2.x Fortran 接口的例子:
>cd /opt/intel/mkl/10.x.xxx /interfaces/fftw2xf
>make libem64t F=intel precision=MKL_DOUBLE
# Itaniums使用 make lib64 F=intel precision=MKL_DOUBLE
3)链接MKL函数与FFTW 接口函数。
成功编译FFTW接口后, FFTW接口函数在 /opt/intel/mkl/10.x.xxx/lib/em64t (Itaniums平台为:/opt/intel/mkl/10.x.xxx/lib/64/) 目录下。
libfftw2xf_intel.a 是Intel 编译器 FFTW2.x Fortran接口,GCC 编译器的类库名称与此类似。
链接程序时,只需要链接FFTW接口函数与Intel DFT MKL函数。下面是在EM64T的平台上,使用Intel Compiler 的一个例子:
>ifort -I/opt/intel/mkl/10.x.xxx/include/ -I/opt/intel/mkl/10.x.xxx/include/fftw/ mycode.f -L/opt/intel/mkl/10.x.xxx/lib/em64t/ -lfftw2xf_intel -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -pthread
...全文
相关推荐
Intel MKL官方编程手册
Intel MKL官方编程手册
Ubuntu 22.04下Intel MKL FFTW接口配置全攻略(附避坑指南)
本文详细介绍了在Ubuntu 22.04系统上配置Intel MKL FFTW接口的完整流程,包括环境准备、接口编译、实际调用和性能优化。通过具体示例和避坑指南,帮助开发者高效利用Intel硬件加速FFT计算,解决常见链接错误和性能问题,提升科学计算效率。
FFTW.jl:Julia绑定到FFTW库以进行快速傅立叶变换
FFTW.jl:Julia绑定到FFTW库以进行快速傅立叶变换
利用FFTW实现快速傅里叶变换
本文对F兀W的工作原理及机制作了详细的分析. 并通过实例讲解了niTW实现FFTr的具体方法及性能的测试。
Intel 有哪些硬件加速库?
说起硬件加速,最常见的是显卡硬件加速如Nvidia 的 CUDA,其实CPU 也能硬件加速程序,作为 CPU 阵营的老大,Intel 就开发了很多硬件加速库,官网罗列了5个库


