MPI_ALLTOALL是组内进程之间完全的消息交换,其中每一个进程都向其它所有的进程发送消息,同时,每一个进程都从其它所有的进程接收消息。本质上,它实现的效果就是矩阵的转置。
如果不调用系统的MPI_ALLTOALL()函数,只用sendrecv()、send()或recv()该如何实现呢?
事实上,只要明白ALLTOALL()函数的工作原理,是很容易实现的。
如ÿ
MPI_ALLTOALL是组内进程之间完全的消息交换,其中每一个进程都向其它所有的进程发送消息,同时,每一个进程都从其它所有的进程接收消息。本质上,它实现的效果就是矩阵的转置。
如果不调用系统的MPI_ALLTOALL()函数,只用sendrecv()、send()或recv()该如何实现呢?
事实上,只要明白ALLTOALL()函数的工作原理,是很容易实现的。
如ÿ