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

我有一个c ++程序,它使用openMPI库在不同处理器之间传递消息。 这是一个并行程序,它使用遗传算法为旅行销售人员问题获得一个很好的解决方案。 我正试图在我的两台双处理器计算机上设置MPI环境,以便我可以运行它。 一年前我第一次创建这个程序时,我能够在没有设置好的群集上运行它。 我现在遇到的问题是,每当我运行它时,所有进程都说它们的排名为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,显示你使用的命令/脚本会有帮助。

链接地址: http://www.djcxy.com/p/42131.html

上一篇: OpenMPI: All nodes run as node 0

下一篇: Process start and Impersonation