MPICH-MX

From HP-SEE Wiki

Revision as of 07:46, 29 March 2012 by Mid (Talk | contribs)
Jump to: navigation, search

Section contributed by IFIN-HH

MPICH was ported by Myricom [myrc] to the Myrinet cards, on top of the Myrinet Express (MX) API, which includes the Myrinet proprietary driver. MPICH-MX is based on the version 1.2.7 of the ANL’s MPICH.

Installation

Some software prerequisites are required in order to install the library MPICH-MX: ssh/rsh, MX API, C and Fortran compilers.

MPICH-MX provides the installer script mpich.make.linux, that includes all the information necessary for the configure/make/install steps, and which should be customized to the hosting cluster. Usually one needs to specify the compilers used, the location of the MX API, the prefix of the location of the installation, the program used to spawn processes (rsh/ssh), and various flags required for compilation.

For instance the customized lines in the mpich.make.linux file at IFIN_Bio read:

 CC=${CC:-gcc}
 CXX=${CXX:-g++}
 FC=${FC:-f77}
 F90=${F90:-f90}
 MX_HOME=${MX_HOME:-/opt/mx}
 PREFIX=${PREFIX:-/opt/mpich-mx}
 RSHCOMMAND=${RSHCOMMAND:-ssh}
 CFLAGS="$CFLAGS -I$MX_HOME/include"
 LINKOPT=${LINKOPT:- -Wl,-rpath,$MX_HOME/lib64,-rpath,$MX_HOME/lib
 -L$MX_HOME/lib64 -L$MX_HOME/lib/ -lmyriexpress}
 OPTFLAGS=${OPTFLAGS:- -O}

If the installation of MPICH-MX fails, one must check the installer script and correct the template corresponding to the current architecture. The structure of the machine file, which specifies the nodes and the number of cores, is similar to the one for the standard MPICH. For example, in the case of the 32 8-core nodes of the IFIN_Bio cluster:

 #IFIN_Bio
 mdqc01.hpc64.nipne.ro:8
 mdqc02.hpc64.nipne.ro:8
 ...
 mdqc32.hpc64.nipne.ro:8

Runtime optimization

Regarding the structure of the programs parallelized under MPICH-MX, it should be noted that the MPI header must be included as

 #include "/opt/mpich-mx/include/mpi.h"

All the names of the MPICH functions are unchanged, and the execution command is mpirun. MPICH-MX provides a pearl script named mpirun.ch_mx, that is used to spawn parallel processes.

REFERENCES

[myrc] http://www.myricom.com

Personal tools