#include <stdio.h>#include <mpi.h>int main (int argc, char *argv[])// int argc;// char *argv[];{ int myid, numprocs, namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init (&argc, &argv); /* starts MPI */ MPI_Comm_rank (MPI_COMM_WORLD, &myid); /* get current process id */ MPI_Comm_size (MPI_COMM_WORLD, &numprocs); /* get number of processes */ MPI_Get_processor_name(processor_name,&namelen); if(myid == 0) printf("number of processes: %d\n",numprocs); printf( "%s: Hello world from process %d \n", processor_name, myid); MPI_Finalize(); return 0;}
[root@c0109 zmpi]# mpicc hello.c -o hello[root@c0109 zmpi]# mpiexec -n 10 ./hellonumber of processes: 10c0109: Hello world from process 0 c0105: Hello world from process 1 c0106: Hello world from process 2 c0107: Hello world from process 4 c0102: Hello world from process 3 c0108: Hello world from process 5 c0110: Hello world from process 6 c0103: Hello world from process 7 c0104: Hello world from process 8 c0101: Hello world from process 9 [root@c0109 zmpi]#