使用Intel MKL FFTW接口函数

intel_cyu 2008-08-21 01:47:49
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
...全文
2359 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
laxila 2008-09-30
  • 打赏
  • 举报
回复
顶一下,谢谢楼主了
majiajun_no_9 2008-09-28
  • 打赏
  • 举报
回复
顶```````
wzzwt 2008-09-23
  • 打赏
  • 举报
回复
支持下
intel_iclifort 2008-08-25
  • 打赏
  • 举报
回复 1
补充说一下,如果打算自己用Intel编译器编译FFTW的源代码,可以在Intel的网站上找到一篇文章,里面介绍了具体的步骤 http://www.intel.com/support/performancetools/sb/CS-027474.htm

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧