mpirun不考虑-np参数

时间:2013-10-15 13:30:33

标签: c mpi

这是一个简单的mpi程序(我是初学者):

#include <stdio.h>
#include <mpi.h>

int main(int argc, char ** argv) {
  int rank, size;
  char name[80];
  int length;

  MPI_Init(&argc, &argv); // note that argc and argv are passed
                        // by address

  MPI_Comm_rank(MPI_COMM_WORLD,&rank);
  MPI_Comm_size(MPI_COMM_WORLD,&size);
  printf("size is: %d\n", size);
  MPI_Get_processor_name(name,&length);

  printf("Hello MPI: processor %d of %d on %s\n", rank,size,name);
  MPI_Finalize();
}

我用它编译了它 mpicc -o ex1 file.c 但是当我用它运行时 mpirun -np 10 ./ex1 它没有按预期创建10个进程。事实上,十次,它写道:

Hello MPI:lory-SVE1513Q1ESI上的处理器0为1

我不知道为什么size变量设置为1。 我试图在我校园实验室的计算机上运行它(ubuntu作为我的)并且它可以正常运行:

Hello MPI:lory-SVE1513Q1ESI上的处理器0为10 Hello MPI:lory-SVE1513Q1ESI上的处理器1的10 Hello MPI:lory-SVE1513Q1ESI上的处理器2的10 ...

与我的电脑有什么不同? :(

0 个答案:

没有答案