是否可以使用 MPI_Bcast、MPI_Scatter 和 MPI_Gather 发送/接收 C++ 对象和对象数组。如果是,那么哪种 MPI 数据类型用于对象?例如,我有一个名为 cell 的类。
class cell
{
private:
int abc;
double xyz;
public:
cell(){ }
...
};
在主函数中,我想创建一个类单元格的对象数组,并希望作为对象数组发送/接收。例如,
void main ()
{
...
cell** cells = new cell*[someVar];
for(int i = 0; i < someVar; ++i)
{
cells[i] = new cell[someVar];
}
MPI_Bcast(cells, someVar, ???, 0, MPI_COMM_WORLD);
...
}
我们如何定义 MPI 数据类型来发送/接收对象数组?