在Unix Shell中运行Hello World(并行)

时间:2012-11-22 19:24:49

标签: c mpi

我正在尝试运行此代码:

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

int main (int argc, char *argv[])
{
int id, np;
char processor_name[MPI_MAX_PROCESSOR_NAME];
nt processor_name_len;

MPI_Init(&argc, &argv);

MPI_Comm_size(MPI_COMM_WORLD, &np);
MPI_Comm_rank(MPI_COMM_WORLD, &id);
MPI_Get_processor_name(processor_name, &processor_name_len);

printf("Hello world from process %03d out of %03d, processor name %s\n", 
id, np, processor_name);

MPI_Finalize();
return 0;
}

编译适用于:

mpicc hello_parallel.c -o hello_parallel

但我不能用./hello_parallel

运行它

1 个答案:

答案 0 :(得分:2)

如果您想要执行MPI应用程序,您可能希望使用mpirun运行它:

mpirun -np 2 ./hello_parallel

在这种情况下,2是要运行的进程数。通常在设置MPI集群之前还有其他步骤(LAM MPI为lamboot),但这些步骤依赖于MPI实现。