如何减少指定MPI_Type的前K个结果,MPI_Type是指向不同大小的矩阵/向量的指针结构?我知道我不能在进程之间传递地址但是我真的需要在减少或仅复制操作中的数据时传递或指定矩阵的大小?
我的结构是:
//vector/vector of vector can be translated by static vector
struct reg{
std::vector< std::vector<int> > A; //have exactly NxN
RegTD *TD; //have exactly 1 << N
int N;
std::vector<int> Basin; //max 1<<N
std::vector< std::vector<int> > BasinInfo; //max Bsize.size() * Bsize.size()
float Entropy;
};
答案 0 :(得分:0)
你可以看看Boost :: MPI。 Boost将为您序列化和反序列化类型。它可能不是你想要的。 Boost采用的另一种方法如下所述:http://www.boost.org/doc/libs/1_62_0/doc/html/mpi/tutorial.html#mpi.skeleton_and_content您可以在其中发送描述结构的“骨架”,然后是描述实际数据的“内容”。