MPICH2 – Tesla

Introduction

MPICH2 is a portable implementation of MPI, a standard for message-passing interface for distributed memory applications used in parallel computing. It provides an MPI implementation that efficiently supports different computation and communication platform including commodity clusters, high-speed networks and proprietary high-end computing systems. MPICH2 is Free Software and is available for most flavours of Unix and Microsoft Windows. 

MPICH2 provides a separation of process management and communication. The default runtime environment consists of a set of daemons, called mpd, that establish communication among the machines to be used before application process startup, thus providing a clearer picture of what is wrongwhen communication cannot be established and providing a fast and scalable startup mechanism when parallel jobs are started.

MPICH2 on tesla cluster

Tesla cluster has MPICH2 1.1 installed on all the three nodes.

MPICH2 is an all-new implementation of the MPI Standard, designed to implement all of the MPI-2 additions to MPI like dynamic process management, one-sided operations, parallel I/O, and other extensions making it more robust, efficient, and convenient to use.

How to Use:

Login to tesla1.serc.iisc.ernet.in with your computational loginid .

On tesla cluster, MPICH2 is installed in /usr/share/mpich2.

Users have to set the enviromental variable PATH in order to use MPICH2.

setenv PATH /usr/share/mpich2/bin64:$PATH

for tcsh and csh, or

export PATH=/usr/share/mpich2/bin64:$PATH

for bash and sh before compiling and linking.

Note: Tesla cluster supports MPICH2 jobs that run within the node. Users can ask for maximum of 16 cpu cores within a single node for a MPICH2 job. Users cannot run jobs that use cpu cores across nodes.

To use MPICH2, the following commands must be run at the shell prompt for the first time

echo “secretword=ASecretWord” > ~/.mpd.conf
chmod 600 .mpd.conf
mpd &

Note: The secretword can be anything of user choice

Compiling and Linking

Users can use mpiccmpicxx, mpif77, and mpif90 commands, for CC++, Fortran 77, and Fortran 90 programs, respectively.

Running Programs

After the program had successfully compiled and the executable has been created, users can you mpiexec to run their jobs. The simplest form of a command to start an MPI job is

mpiexec -n 8 a.out

to start the executable a.out with 8 processes.

SubmittingMPICH2 jobs through PBS

Documentation:

MPICH2 User Guide

Report Problems to:

If you encounter any problem in using thissoftware Please report to us at the following email address helpdesk.serc@iisc.ac.in or contact System Administrators #109 (SERC).