我有一个任务,涉及计算非常大维度的一维FFT。而且,所谓的“非常大”,我指的是超出我的物理内存量的维度。例如,我现在的系统中有16 GB的内存,这将足以同时保持2^30个双精度浮点数。我希望能够进行2^30维的FFT,并且可能对更大数量的浮点数(比如2^35)进行FFT,这显然需要将它们逐个传递到FFT库中。
根据我的测试,IPP FFT不会超过2^27,NVIDIA CUFFT不会超过2^24。我已经编写了一些代码来实现这一点,但我对性能并不满意。
有没有开源项目或库可以帮我做到这一点?
发布于 2011-11-19 23:42:34
核外FFT将受到可用磁盘带宽以及磁盘寻道延迟的限制(如果未进行最佳条带化)。你可以考虑在你的系统上安装几个快速的SSD驱动器,或者在一个有足够的物理RAM (可能还有带有大量dcache的CPU,可能是Itanium或Power 7)的服务器上租用时间(在“云”中)来做你的核心FFT。
https://stackoverflow.com/questions/8193393
复制相似问题