使用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官方编程手册
FFTW.jl:Julia绑定到FFTW库以进行快速傅立叶变换
FFTW.jl:Julia绑定到FFTW库以进行快速傅立叶变换
利用FFTW实现快速傅里叶变换
本文对F兀W的工作原理及机制作了详细的分析. 并通过实例讲解了niTW实现FFTr的具体方法及性能的测试。
Intel 有哪些硬件加速库?
说起硬件加速,最常见的是显卡硬件加速如Nvidia 的 CUDA,其实CPU 也能硬件加速程序,作为 CPU 阵营的老大,Intel 就开发了很多硬件加速库,官网罗列了5个库
VASP5.4.4 GPU编译安装流程.docx
nvidia GPU 环境下安装vasp5.4.4 GPU编译 花了2天的时间 针对GPU版本的vasp5.4.4进行编译,还是挺折腾人的!!!!!!!!


