mpi处理器数量错误

Joh*_*ria 2 mpi processors

对不起,我确定犯了一个愚蠢的错误,但没有成功.

我正在编译一个简单的mpi hello世界:

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

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

  MPI_Init (&argc, &argv);      /* starts MPI */
  MPI_Comm_rank (MPI_COMM_WORLD, &rank);        /* get current process id */
  MPI_Comm_size (MPI_COMM_WORLD, &size);        /* get number of processes */
  printf( "Hello world from process %d of %d\n", rank, size );
  MPI_Finalize();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

和:

> mpicc -o hello_world_c hello_world.c
> mpirun -np 4 hello_world_c
Run Code Online (Sandbox Code Playgroud)

但回报:

Hello world from process 0 of 1
Hello world from process 0 of 1
Hello world from process 0 of 1
Hello world from process 0 of 1
Run Code Online (Sandbox Code Playgroud)

但我的电脑是核心i7,有4个核心.一切似乎都没问题,即.cat/proc/cpuinfo显示了4个处理器

发生了什么???提前致谢!!!!

lol*_*olo 5

您的代码没有任何问题.唯一的问题可能是你的mpi安装.

注意:

处理器与核心之间存在差异.它不是一回事.

  • 让我再补充一点:您在这里看到的安装的特殊问题可能是您运行的程序使用的mpirun属于不同于您编译链接的mpi安装.确保在各种路径中首先使用相同的mpirun,mpicc和mpi库. (6认同)