MPI sendbuf和recvbuf可以是一回事吗? [英] Can MPI sendbuf and recvbuf be the same thing?
本文介绍了MPI sendbuf和recvbuf可以是一回事吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我将每个进程的数组元素加在一起:
double rho[1024];
//Some operation to calculate rho for each process;
MPI_Allreduce(rho,rho,1024,MPI_DOUBLE,MPI_SUM,MPI_COMM_WORLD);
同时将Rho作为sendbuf和recvbuf是否有效?
推荐答案
您是否检查了MPI_IN_PLACE
?根据MPI_AllReduce man page和MPI doc,只要您在同一个组内工作,就可以使用它为sendbuf和recvbuf指定相同的缓冲区。
调用将如下所示:
MPI_Allreduce(MPI_IN_PLACE,rho,1024,MPI_DOUBLE,MPI_SUM,MPI_COMM_WORLD);
这篇关于MPI sendbuf和recvbuf可以是一回事吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文