我有一个函数需要发送3个NxNxN数组(N = 300)才能执行计算。单个MPI_Sends和MPI_Receives将无法正常工作。
我可以使用其他一些构造吗?
答案 0 :(得分:1)
如果数据是连续存储的,您可以根据需要一次发送尽可能多的数据。只是做:
MPI_Send(&data[i][j], 300, MPI_SOMETHING, ...);
一次发送一整行或:
MPI_Send(&data[i], 900, MPI_SOMETHING, ...);
发送2D切片。根据您的实施情况,可能会有一些尺寸,之后发送邮件的速度会变得更快或更慢,因此请随意进行试验。