2

私はこのコードを実行しようとしています:

#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 では実行できません

4

1 に答える 1

2

MPIアプリケーションを実行する場合は、mpirunを使用して実行することをお勧めします。

mpirun -np 2 ./hello_parallel

この場合の2は、実行するプロセスの数です。多くの場合、それが機能する前にMPIクラスターをセットアップするための追加の手順があります(lambootLAM MPIの場合)が、それらはMPIの実装に依存します。

于 2012-11-22T19:29:01.170 に答える