OpenMPI:所有节点都以节点0运行

我有一个使用openMPI库在不同处理器之间传递消息的c ++程序。 这是一个并行程序,它使用遗传algorithm来获得旅行销售人员问题的良好解决scheme。 我试图在我的两台双处理器计算机上设置MPI环境,以便我可以运行它。 一年前我第一次创build这个程序的时候,我可以在没有设置好的集群上运行。 我现在面临的问题是,每当我运行它时,所有的进程都在说他们的排名为0.如果我有3个节点,而不是节点1,2和3,它们都是节点0。如果有人知道发生了什么,我一定会很感激。 谢谢。

我发现问题是什么。 我安装了两个软件包,都使用了mpirun命令。 我相信这是openmpi和mpich包。 我删除了openmpi,它的工作。

也许你的初始化是错误的,或者你有检查排名错误。 这应该是正确的方法来做到这一点:

MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Comm_rank(MPI_COMM_WORLD, &rank); printf("I am process %d of %d.\n", rank, size); 

但我认为你做得对,所以我同意Harleqin,显示你使用的命令/脚本将是有帮助的。