在MPI中使用MPI_Alltoall的2-D FFT

时间:2014-01-30 06:40:44

标签: mpi fft

我在 2 处理器上将 4X6 矩阵拆分为两个 2X6 矩阵。由于行已经在处理器上以连续的方式( C语言)进行拆分,因此我们可以对行执行 1-D FFT 。问题是我们需要MPI_Alltoall()来收集特定处理器上的连续列,用于 1-D列FFT ,即处理器0具有:

A B C D E F
G H I J K L 

处理器1具有:

M N O P Q R
S T U V W X

MPI_Alltoall()需要在处理器0上将其转换为以下内容:

A G M S
B H N T
C I O U

以下是处理器2:

D J P V
E K Q W
F L R X

我尝试定义一个 vector ,其中 count = 2,blocklength = 1,stride = 6 作为发送类型向量,设置其范围MPI_INT置换为0,并使用MPI_Alltoall()发送此向量的3个实例。根据我的说法,我应该将A G, B H,C I发送到处理器0,将D J, E K,F L发送到处理器1.类似地M S, N T,O U到处理器处理器1为0,P V, Q W,R X。 我的解释是否正确?如果是,那么如何在接收端接收这3个向量实例(什么/如何定义数据类型?)。

0 个答案:

没有答案