= MPI-Start for site administrators = <> == Installation == === From binary packages === Binary packages for MPI-Start are generated in EMI using [[http://eu-etics.org/ |ETICS]]. Check their repositories for the correct package for your distribution. Once you have the repositories configured you only need to install the package using your favorite package manager: For !RedHat based distributions: {{{ yum install mpi-start }}} Debian based: {{{ apt-get install mpi-start }}} === From source === Source can be retrieved from the [[http://devel.ifca.es/hg/mpi-start/ |mercurial repository]] Installation is as easy as "make install". The default installation prefix is "/usr", by default it also creates files in /etc/profile.d. If a non default installation wants to be done, use the PREFIX variable in make install {{{ $ make install PREFIX=/opt/mpi-start }}} In this case, is recommendable setting the installation the environment variable I2G_MPI_START to point to mpi-start script (although it is not mandatory anymore). {{{ $ export I2G_MPI_START=/opt/mpi-start/bin/mpi-start }}} == MPI-Start configuration == === yaim configuration === There is a yaim plugin available for configuring gLite sites, check the documentation at [[../MpiUtils | MPI-Utils]]. === Manual configuration === MPI-Start is designed to auto detect most of the site configurations without any administrator intervention. The default installation will automatically detect: * the batch scheduler at the site: currently PBS/Torque, SGE, LSF and Slurm are supported. * existence of shared file system in the job running directory * availability of OSC mpiexec for PBS/Torque systems * default mpi installations for SLC5. If the automatic detection fails for any of these, the administrator can set the following configuration variables: || ''Variable'' || ''Meaning'' || || '''MPI_DEFAULT_FLAVOUR''' || name of the default flavour for jobs running at the site || || '''MPI__PATH''' || Path of the bin and lib directories for the MPI flavour || || '''MPI__VERSION''' || '''FIXME''' preferred version of the MPI flavour ?? || || '''MPI__MPIEXEC''' || Path of the MPIEXEC binary for the specific flavour || || '''MPI__MPIEXEC_PARAMS''' || Parameters for the MPIEXEC of the flavour || || '''MPI__MPIRUN''' || Path of the MPIRUN binary for the specific flavour || || '''MPI__MPIRUN_PARAMS''' || Parameters for the MPIRUN of the flavour || || '''I2G__PREFIX''' || Path of the MPI installation for the MPI flavour || {{{#!wiki caution '''I2G__PREFIX support is broken in mpi-start 1.0.x''' A known issue with the setting of the I2G__PREFIX variable makes them useless, please use the MPI__PATH variable instead! }}} The `I2G__PREFIX` takes precedence over the other variables. If `MPI__MPIEXEC` or `MPI__MPIRUN` are not defined, MPI-Start will try to use the mpiexec or mpirun that are found in the current PATH. == Hooks == Hooks may change the behavior of MPI-Start and provide additional features such as file distribution and configuration of compiler flags. Site admins can add their own hooks via the local hook mechanism of the [[../UserDocumentation/HooksFramework|Hooks Framework]]. === File distribution === MPI-Start includes hooks for distributing the files needed for the execution of an application. By default it tries to find the most suitable method for copying the files, using shared filesystems whenever they are found. However, the filesystem detection may not work for all sites, or the shared filesystem may be in a different location to the execution path making it impossible for MPI-Start to detect its availability. Site admins can tune the file distribution method with the following variables: || ''Variable'' || ''Meaning'' || || '''MPI_START_SHARED_FS''' || If undefined, MPI-Start will try to detect a shared file system in the execution directory. If defined and equal to 1, MPI-Start will assume that the execution directory is shared between all hosts and will not try to copy files. Any other value will make MPI-Start assume that the execution directory is not shared. || || '''MPI_SHARED_HOME''' || If set to `yes` , MPI-Start will use the path defined in `MPI_SHARED_HOME_PATH` for copying the files and executing the application || || '''MPI_SHARED_HOME_PATH''' || Path to a shared directory ||