我最近从Ubuntu 14改为Linux Mint 17.重新安装Open MPI 1.10后(很好)我遇到了一个非常奇怪的问题:
我用mpicc编译了我的标准mpi_hello_world.c并尝试运行 它,(mpiexec -n 4 mpi_hello)但得到了以下输出:
Hello world from processor DarkHeresy, rank 0 out of 1 processors
Hello world from processor DarkHeresy, rank 0 out of 1 processors
Hello world from processor DarkHeresy, rank 0 out of 1 processors
Hello world from processor DarkHeresy, rank 0 out of 1 processors
所以mpiexec只在0级运行进程!
我还试图运行一个更复杂的程序,但它导致了以下错误:
退出。 MPI任务数(1)必须能被4整除。
早在Ubuntu上,所有内容都使用相同的参数顺利运行。 可能有什么问题/怎么解决这个问题?
hello world程序是从www.mpitutorial.com取得的标准程序:
#include <mpi.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv) {
MPI_Init(NULL, NULL);
int world_size;
MPI_Comm_size(MPI_COMM_WORLD, &world_size);
int world_rank;
MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
char processor_name[MPI_MAX_PROCESSOR_NAME];
int name_len;
MPI_Get_processor_name(processor_name, &name_len);
printf("Hello world from processor %s, rank %d out of %d processors\n",
processor_name, world_rank, world_size);
MPI_Finalize();
}