Testing Your Account
The Code - hello.c
#include <stdio.h>
#include <unistd.h>
#include <omp.h>
#include "mpi.h"
int main( int argc, char *argv[] )
{
int rank,size,len;
char name[MPI_MAX_PROCESSOR_NAME];
MPI_Init( NULL, NULL );
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Get_processor_name(name, &len);
#pragma omp parallel num_threads(4)
printf( "Hello %s from thread %d rank %d of %d, in process %d running on %s.\n",argv[1],omp_get_thread_num(), rank, size,getpid(),name );
MPI_Finalize();
return 0;
}
The Build and Run
$ mpicc hello.c -o hello -fopenmp
$ mpirun -n 2 hello smith
Hello smith from thread 0 rank 0 of 2, in process 11294 running on tc-login.red.lan.
Hello smith from thread 3 rank 0 of 2, in process 11294 running on tc-login.red.lan.
Hello smith from thread 2 rank 0 of 2, in process 11294 running on tc-login.red.lan.
Hello smith from thread 1 rank 0 of 2, in process 11294 running on tc-login.red.lan.
Hello smith from thread 0 rank 1 of 2, in process 11296 running on tc-login.red.lan.
Hello smith from thread 3 rank 1 of 2, in process 11296 running on tc-login.red.lan.
Hello smith from thread 2 rank 1 of 2, in process 11296 running on tc-login.red.lan.
Hello smith from thread 1 rank 1 of 2, in process 11296 running on tc-login.red.lan.