将多个3D数组发送到MPI中的进程

时间:2013-07-08 18:03:10

标签: c mpi

我有一个函数需要发送3个NxNxN数组(N = 300)才能执行计算。单个MPI_Sends和MPI_Receives将无法正常工作。

我可以使用其他一些构造吗?

1 个答案:

答案 0 :(得分:1)

如果数据是连续存储的,您可以根据需要一次发送尽可能多的数据。只是做:

MPI_Send(&data[i][j], 300, MPI_SOMETHING, ...);

一次发送一整行或:

MPI_Send(&data[i], 900, MPI_SOMETHING, ...);

发送2D切片。根据您的实施情况,可能会有一些尺寸,之后发送邮件的速度会变得更快或更慢,因此请随意进行试验。