
The org.glite.yaim.mpi component (glite-yaim-mpi RPM) is an aid to
help sites configure MPI correctly on the site LCG-CE and gLite 
Workernode.


CE configuration
----------------
On the CE, the main object of the configuration is to 
add a set of GlueHostApplicationSoftwareRunTimeEnvironment tags, which are
published by the CE's information system.
 A CE which offers at least one version of MPI must publish the
tag:
GlueHostApplicationSoftwareRunTimeEnvironment: MPI-START

 In addition to a basic tag, further information is publsihed about the
MPI environment, for example:
GlueHostApplicationSoftwareRunTimeEnvironment: MPICH
GlueHostApplicationSoftwareRunTimeEnvironment: MPICH-1.2.7p1
GlueHostApplicationSoftwareRunTimeEnvironment: MPICH2
GlueHostApplicationSoftwareRunTimeEnvironment: MPICH2-1.1.1p1
GlueHostApplicationSoftwareRunTimeEnvironment: OPENMPI
GlueHostApplicationSoftwareRunTimeEnvironment: OPENMPI-1.2.8

Finally, if shared directory area is used for the job, the following
tag is also published.

GlueHostApplicationSoftwareRunTimeEnvironment: MPI_SHARED_HOME

WN Configuration
----------------
The glite-yaim-mpi scripts will configure the environment to be used
by any particular MPI version. 

MPI jobs are started using the i2g-mpi-start helper scripts.
These scripts depend on the correct definition of a 
set of environment variables. 

For example:
I2G_MPI_START=/opt/i2g/bin/mpi-start
MPI_MPICH2_MPIEXEC=/usr/share/mpich2/bin32/mpiexec
MPI_MPICH2_PATH=/usr/
MPI_MPICH2_VERSION=1.1.1p1
MPI_MPICH_MPIEXEC=/usr/bin/mpiexec
MPI_MPICH_PATH=/opt/mpich-1.2.7p1/
MPI_MPICH_VERSION=1.2.7p1
MPI_OPENMPI_MPIEXEC=/usr/lib/openmpi/1.2.8-gcc/bin/mpiexec
MPI_OPENMPI_PATH=/usr/lib/openmpi/1.2.8-gcc/
MPI_OPENMPI_VERSION=1.2.8
MPI_SSH_HOST_BASED_AUTH=no

In this case, 3 versions of MPI are supported: mpich1, mpich2, openmpi
Note that the MPI_XXXYYYY_PATH defines a prefix to the location of the
appropriate mpicc command. In the example above, MPI_MPICH2_PATH=/usr/
implies that the location of the mpich2 version of mpicc can be found
under /usr/bin/mpicc


YAIM Configuration
------------------
A set of basic templates defining a typical gLite set up can be found
under: 
 $GLITE_LOCATION/yaim/examples/siteinfo/services

For a typical CE installation please copy these files your default location
for yaim. e.g:

 cp /opt/glite/yaim/examples/siteinfo/services/glite-mpi  /opt/glite/yaim/etc/siteinfo/services/glite-mpi
 cp /opt/glite/yaim/examples/siteinfo/services/glite-mpi_ce  /opt/glite/yaim/etc/siteinfo/services/glite-mpi_ce

Similarly, on the Workernode
 cp /opt/glite/yaim/examples/siteinfo/services/glite-mpi  /opt/glite/yaim/etc/siteinfo/services/glite-mpi
 cp /opt/glite/yaim/examples/siteinfo/services/glite-mpi_wn  /opt/glite/yaim/etc/siteinfo/services/glite-mpi_wn

IMPORTANT NOTICE
-----------------
You will need to edit these files to reflect your setup.
In particular, the variables:
 MPI_SSH_HOST_BASED_AUTH
 MPI_SHARED_HOME
are set to "no" by default.


