英特尔至强融核上的 MKL 3D 双精度复数 FFT
Posted
技术标签:
【中文标题】英特尔至强融核上的 MKL 3D 双精度复数 FFT【英文标题】:MKL 3D double precision complex FFT on Intel Xeon Phi 【发布时间】:2013-09-24 09:19:59 【问题描述】:我为 3 维 FFT(MKL 接口)开发了 C 代码,以便在英特尔 MIC 平台上本地运行。
对于复数到复数的转换,数据元素是双精度复数。我使用填充的前导维度,mkl_malloc() 64 字节对齐,并为数组使用 radix-2 维度我最终得到的性能约为 50 Gflop/s。
对于类似类型的转换,我无法在任何地方执行列表。谁能告诉我这在 Xeon Phi 上是否合理(满意)?
【问题讨论】:
你的数据有多大? 【参考方案1】:您的结果看起来不错。
英特尔提供的FFT tuning guide with 2-D float data on Xeon Phi 显示了 100Gflops 的峰值性能。所以双数据50Gflops应该是合理的。
除了您的问题中提到的因素外,其他因素包括前导尺寸、填充、线程数和亲和性也对性能有很大影响。
您可以参考这些英特尔文档了解更多信息。
至强 phi 上 MKL 的文档列表
http://software.intel.com/en-us/articles/intel-mkl-on-the-intel-xeon-phi-coprocessors
在至强 phi 上使用 MKL 的性能提示
http://software.intel.com/en-us/articles/performance-tips-of-using-intel-mkl-on-intel-xeon-phi-coprocessor
在 xeon phi 上调整 dft 函数
http://software.intel.com/en-us/articles/tuning-the-intel-mkl-dft-functions-performance-on-intel-xeon-phi-coprocessors
【讨论】:
我的数据大小有点灵活,但我一直在使用 256^3 和 512^3 主要以上是关于英特尔至强融核上的 MKL 3D 双精度复数 FFT的主要内容,如果未能解决你的问题,请参考以下文章