【发布时间】:2015-03-29 12:57:29
【问题描述】:
我在并行程序中使用 MPI_Scatterv 时遇到问题。这是它的定义方式:
int MPI_Scatterv(const void *sendbuf, const int *sendcounts,
const int *displs, MPI_Datatype sendtype, void *recvbuf,
int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
按照我的理解,MPI_Scatterv 和 MPI_Scatter 之间的区别在于,MPI_Scatterv 中的段不必具有相同的长度,也不必是连续的(内存中的间隙被允许)。我不明白的部分是如果recvbuf 可以是每个进程的不同大小的数组,那么recvcount 应该使用什么。假设我想将 sendbuf 的 5 个元素发送到进程 0 和 15 到进程 1。recvcount 的值应该是什么?
【问题讨论】:
标签: c++ c parallel-processing mpi