Section: 3.3 Running Scali MPI Connect programs

3.2.5 Notes on Compiling and linking on Power series

The Power series processors (PowerPC, POWER4 and POWER5) are both 32 and 64 bit capable. There are only 64 bit versions of Linux provided by SUSE and RedHat, and only a 64 bit OS is supported by Scali. However the Power families are capable of running 32 bit programs at full speed while running a 64 bit OS. For this reason Scali supports running both 32 bit and 64 bit MPI programs.

Note that gcc default compiles 32 bit on Power, use the the gcc/g77 flags -m32 and -m64 to explicitly select code generation.

The PowerPC and POWER4/5 have a common core instruction set but different extensions, be sure to read the specifics in the documentation on the compilers code generations flags for optimal performance.

It is not possible to link 32 and 64 bit object code into one executable, (no cross dynamic linking either) so there must be double set of libraries. It is common convention on ppc64 systems that all 32 bit libraries are placed in lib directories and all 64 bit libraries in lib64. This means that when linking a 64 bit application with Scali MPI, you must use the -L$MPI_HOME/lib64 argument instead of the normal -L$MPI_HOME/lib.

3.2.6 Notes on compiling with MPI-2 features

To compile and link with the Scali MPI-IO features you need to do the following depending on whether it is a C or a Fortran program:

For C programs mpio.h must be included in your program and you must link with the libmpio shared library in addition to the Scali MPI 1.2 C shared library (libmpi):

<CC> <program>.o -I/opt/scali/inlude -L/opt/scali/lib -lmpio -lmpi -o <program>

For Fortran programs you will need to include mpiof.h in your program and link with the libmpio shared library in addition to the Scali MPI 1.2 C and Fortran shared libraries:

<F77> <program>.o -I/opt/scali/include -L/opt/scali/lib -lmpio -lmpif -lmpi -o <program>

3.3 Running Scali MPI Connect programs

Note that executables issuing SMC calls cannot be started directly from a shell prompt. SMC programs can either be started using the MPI monitor program mpimon, the wrapper script mpirun, or from the Scali Manage GUI [See Scali Manage User Guide for details].

3.3.1 Naming conventions

When an application program is started, Scali MPI Connect is modifying the program name argv[0] to help in identifying the instances. The following convention is used for the executable, reported on the command line using the Unix utility ps:

<userprogram>-<rank number>(mpi:<pid>@<nodename>)

where:

<userprogram> is the name of the application program. <rank number> is the application’s MPI-process rank number.

Scali MPI Connect Release 4.4 Users Guide

23

Page 35
Image 35
Escali 4.4 manual Running Scali MPI Connect programs, Naming conventions