因此,我正在编写一个程序以在进程之间反弹“虚拟球”。根过程,即具有等级0的任务初始化游戏,然后将其发送到由rand() % size
确定的随机过程(利用由初始等级生成的随机数)。发送到MPI中的不同进程并从其接收
我试着这样做:
int rnk= rand() % size; MPI_Send(&ball,1, MPI_INT, rnk, MPI_COMM_WORLD);
该把球给下一个随机过程,但是一旦运行该代码是通过阻断MPI_SEND举起。我刚刚开始并行编程,因此我对此没有足够的把握。我如何发送到一个随机过程,然后他们进一步发送到任何随机过程?
欢迎任何指针,提示,书籍和教程。
请提供您尝试过的[mcve]。 – Zulan
查看http://stackoverflow.com/questions/4348900/mpi-recv-from-an-unknown-source – francis
好吧,所以麻烦的是,由于竞争条件,其中一个MPI进程被挂起。我解决了这个问题,程序按预期运行。 –