Q-Logic IB6054601-00 D manual An Example C Program, $ cp /usr/share/mpich/examples/basic

Models: IB6054601-00 D

1 122
Download 122 pages 48.66 Kb
Page 44
Image 44

3 – Using InfiniPath MPI Getting Started with MPI

Q

These examples assume that:

Your cluster administrator has properly installed InfiniPath MPI and the PathScale compilers.

Your cluster’s policy allows you to use the mpirun script directly, without having to submit the job to a batch queuing system.

You or your administrator has properly set up your ssh keys and associated files on your cluster. See section 3.5.1 and section 2.9 for details on ssh administration.

To begin, copy the examples to your working directory:

$ cp /usr/share/mpich/examples/basic/* .

Next, create an MPI hosts file in the same working directory. It contains the host names of the nodes in your cluster on which you want to run the examples, with one host name per line. Name this file mpihosts. The contents can be in the following format:

hostname1

hostname2

...

There is more information on the mpihosts file in section 3.5.6.

3.3.1

An Example C Program

InfiniPath MPI uses some shell scripts to find the appropriate include files and libraries for each supported language. Use the script mpicc to compile an MPI program in C and the script mpirun to execute it.

The supplied example program cpi.c computes an approximation to pi. First, compile it to an executable named cpi.

$ mpicc -o cpi cpi.c

mpicc, by default, runs the PathScale pathcc or gcc compiler, and is used for both compiling and linking, exactly as you'd use the pathcc command.

NOTE: On ppc64 systems, gcc is the default compiler. For information on using other compilers, see section 3.5.3.

Then, run it with several different specifications for the number of processes:

$ mpirun -np 2 -m mpihosts ./cpi Process 0 on hostname1

Process 1 on hostname2

pi is approximately 3.1416009869231241, Error is 0.0000083333333309

wall clock time = 0.000149

3-2

IB6054601-00 D

Page 44
Image 44
Q-Logic IB6054601-00 D manual An Example C Program, There is more information on the mpihosts file in section