基于 MPI 的 FFT 实现

计算科学 并行计算 宠物 傅立叶分析 fftw
2021-12-18 19:52:12

在数值计算中,我需要在分布式内存集群上进行多维 FFT。数据目前使用 PETSc (DMDA) 中的分布式阵列进行分发。

我最初查看了 FFTW 的分布式版本。但是,我的数据布局不符合 FFTW 使用的布局。因此,我需要将我的数据分散到 FFTW 所需的布局中,这并不理想。有关使用 PETSc 的示例,请参见链接。

请注意,FFT 不是我计算中的主要瓶颈。我只想最小化 FFT 所需的通信开销。有人对我应该使用什么有任何建议吗?即使我的数据不符合 FFTW 布局,FFTW 是否也是最佳方法?

1个回答

开姆尼茨大学(德国)的 Michael Pippig 实施了一个在后台使用 FFTW 的 MPI 并行化 FFT。这可能对您有所帮助:http ://www-user.tu-chemnitz.de/~mpip/software.php?lang=en

正如 Eldila 的评论所建议的,它正在使用桑迪亚国家实验室的 Plimpton 提出的算法。