让我说3个不同的线程上有3个不同的矩阵:
a1 a2 a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
c1 c2 c3 c4 c5 c6
d1 d2 d3 d4 d5 d6
e1 e2 e3 e4 e5 e6
f1 f2 f3 f4 f5 f6
我想通过将MPI_Gather用于这个矩阵来收集它们
a1 a2 a3 a4 a5 a6
b1 b2 b3 b4 b5 b6
c1 c2 c3 c4 c5 c6
d1 d2 d3 d4 d5 d6
e1 e2 e3 e4 e5 e6
f1 f2 f3 f4 f5 f6
我正在使用
MPI_Gather(&oldMatrix,N/size,columnType,&newMatrix,N/size,gatherColType,0,MPI_COMM_WORLD);
coltype是:
MPI_Type_vector(N,
1,
N/size,
MPI_FLOAT,
&column);
MPI_Type_commit(&column);
MPI_Type_create_resized(column, 0, 1*sizeof(float), &columnType);
MPI_Type_commit(&columnType);
但是,我不知道应该如何创建gatherColType(如果需要)。你能帮帮我吗?
注意:N是矩阵大小,大小是线程数(即此问题中为3)