将笛卡尔拓扑更改为支持 MKL Cluster FFT 的最有效方法是什么?

发布于 2025-01-20 16:42:29 字数 800 浏览 1 评论 0原文

我有一个3维数组的size = [NX,NY,NZ]当前在nprocs = nprocs_y * nprocs_y * nprocs_z过程中作为local_size = [nx = [nx ,ny/nprocs_y,nz/nprocs_z],其中存储在列(fortran)订单中的数据。

我希望同时转换此数据。但是,根据 intel在mkl cluster fft上的文档fft > local_size_new = [NX,NY,NZ/NPROCS] 。该文档似乎并未表明集群FFT技术可以与任意拓扑配合使用。

这迫使我根据英特尔提供的群集FFT功能支持的拓扑重新分布数据。您能否提出一些关于如何最有效地做到这一点的想法?谢谢。

I have a 3-dimensional array of size = [Nx, Ny, Nz] currently distributed among nprocs = nprocs_y * nprocs_z processes as subarrays of local_size = [Nx, Ny/nprocs_y, Nz/nprocs_z] with the data stored in column-major (Fortran) order.

I wish to Fourier transform this data concurrently. However, according to Intel's documentation on MKL Cluster FFT, the distribution of data has to be such that local_size_new = [Nx, Ny, Nz/nprocs]. The documentation does not seem to suggest that the cluster FFT technology can work with arbitrary topologies.

This forces me to attempt a redistribution of data according to the topology supported by the cluster FFT functions provided by Intel. Could you please suggest some ideas as to how this could be done most efficiently? Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

欢你一世 2025-01-27 16:42:29

FFT维度的顺序与编程语言中数组维度的顺序相同。例如,可以通过阵列ar [m] [n] [l]计算具有长度=(m,n,l)的3维FFT。
您可以根据任务要求将数据重新分布。请找到以下链接以获取有关在流程之间分配数据的详细信息。
https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/fourier-transform-functions/cluster-fft-functions/distributing-data-among- process.html

Order of FFT dimensions is the same as the order of array dimensions in the programming language. For example, a 3-dimensional FFT with Lengths=(m,n,l) can be computed over an array Ar[m][n][l].
You could redistribute the data across the processes as per your task requirement. Please find the below link for details regarding Distributing Data among Processes.
https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/fourier-transform-functions/cluster-fft-functions/distributing-data-among-processes.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文