gpt4 book ai didi

fortran - MPI_SCATTER Fortran 矩阵(按行)

转载 作者:行者123 更新时间:2023-12-01 16:46:53 25 4
gpt4 key购买 nike

按行而不是按列分散 Fortran 90 矩阵的最佳方法是什么?也就是说,假设我有一个矩阵 a(4,50),我想将它 MPI_SCATTER 到两个进程上,其中每个部分都是 alocal(2,50),其中第 0 行有第 1 行和第 2 行,第 1 行有第 3 行和4. 现在,在 C 中,这很简单,因为数组是行优先的,但在 Fortran 90 中它们是列优先的。

我试图避免使用 TRANSPOSE 在散射之前翻转 a (即,使内存使用量加倍),并且我认为 MPI 中必须有一种方法可以做到这一点。会是 MPI_TYPE_VECTOR 吗? MPI_TYPE_CREATE_SUBARRAY?

同样,如果我有一个 3d 数组 b(4,50,3) 并且我想要两个 blocal(2,50,3) 分散矩阵如上分布怎么办?

最佳答案

是的,MPI_TYPE_VECTOR 和 MPI_TYPE_CREATE_SUBARRAY 就是您想要的。前者针对您的第一个问题,后者针对您的第二个问题。如果您想让我为您写电话,请发表评论!

关于fortran - MPI_SCATTER Fortran 矩阵(按行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2495805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com