【发布时间】:2017-01-22 13:18:41
【问题描述】:
我刚刚安装了 mpi,但它似乎并不能正常工作。下面我写了这个库的一个非常简单的实现:
#include <stdio.h>
#include <mpi.h>
int main(int argc, char** argv)
{
int my_rank;
int size;
int namelen;
char proc_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Get_processor_name(proc_name, &namelen);
if (my_rank == 2)
printf("Hello – I am process 2\n");
else
printf("Hello from process %d of %d on %s\n", my_rank, size, proc_name);
MPI_Finalize();
}
编译并执行:
mpicc -o 例子example.c mpirun -np 4 ./示例CLI 上的输出是:
您好,来自 manos-pc 上的进程 0 of 1 您好,来自 manos-pc 上的进程 0 of 1 您好,来自 manos-pc 上的进程 0 of 1 您好,来自 manos-pc 上的进程 0 of 1它似乎无法访问其他进程。 我使用的是 ubuntu 16.04。
【问题讨论】:
-
您的 MPI 安装有问题。因此,您必须提供有关它的详细信息。