Learn more about Platform products at http://www.platform.com

[ Platform Documentation ] [ Title ] [ Contents ] [ Previous ] [ Next ] [ Index ]



Using Platform LSF HPC with MPICH-P4


Contents

[ Top ]


About Platform LSF HPC and MPICH-P4

MPICH is a freely available, portable implementation of the MPI Standard for message- passing libraries, developed jointly with Mississippi State University. MPICH is designed to provide high performance, portability, and a convenient programming environment.

MPICH-P4 is an MPICH implementation for the ch_p4 device, which supports SMP nodes, MPMD programs, and heterogeneous collections of systems.

Requirements

Assumptions and limitations

Glossary

MPI

(Message Passing Interface) A message passing standard. It defines a message passing API useful for parallel and distributed applications.

MPICH

A portable implementation of the MPI standard.

MPICH-P4

An MPI implementation based on MPICH for the chp4 device.

PAM

(Parallel Application Manager) The supervisor of any parallel job.

PJL

(Parallel Job Launcher) Any executable script or binary capable of starting parallel tasks on all hosts assigned for a parallel job.

RES

(Remote Execution Server) An LSF daemon residing on each host. It monitors and manages all LSF tasks on the host.

TS

(TaskStarter) An executable responsible for starting a task on the local host and reporting the process ID and host name to the PAM.

For more information

Files installed by lsfinstall

During installation, lsfinstall copies these files to the following directories:

These files... Are installed to...
TaskStarter
LSF_BINDIR
pam
LSF_BINDIR
esub.mpichp4
LSF_SERVERDIR
mpichp4_wrapper
LSF_BINDIR
mpirun.lsf
LSF_BINDIR
pjllib.sh
LSF_BINDIR

Resources and parameters configured by lsfinstall

[ Top ]


Configuring LSF HPC to Work with MPICH-P4

mpichp4_wrapper script

Modify the mpichp4_wrapper script in LSF_BINDIR to set MPICH_HOME. The default is:

MPICH_HOME="/opt/mpich-1.2.5.2-ch_p4/"

[ Top ]


Submitting MPICH-P4 Jobs

bsub command

Use bsub to submit MPICH-P4 jobs.

bsub -a mpichp4 -n number_cpus mpirun.lsf 
[-pam "pam_options"] [mpi_options] job [job_options]

For example:

% bsub -a mpichp4 -n 3 mpirun.lsf /examples/cpi

A job named cpi will be dispatched and run on 3 CPUs in parallel.

P4 secure-server jobs

  1. To start the P4 secure-server, run the following command:
    % $MPICH_HOME/bin/serv_p4 -o -p port
    

    where port is the port number of the MPICH-P4 secure server.

  2. Submit your job with the -p4ssport option using the following syntax:
    bsub -a mpichp4 -n number_cpus mpirun.lsf [-pam "pam_options"] [mpi_options] 
    -p4ssport port job [job_options]
    

    where port is the port number of the MPICH-P4 secure server.


    You must specify full path for the job.

See the MPICH-P4 documentation for more information about the p4ssport secure server mpirun.ch_p4 command option.

Task geometry with MPICH-P4 jobs

MPICH-P4 mpirun requires the first task to run on local node OR all tasks to run on remote node (-nolocal). If the LSB_PJL_TASK_GEOMETRY environment variable is set, mpirun.lsf makes sure the task group that contains task 0 in LSB_PJL_TASK_GEOMETRY runs on the first node.

The environment variable LSB_PJL_TASK_GEOMETRY is checked for all parallel jobs. If LSB_PJL_TASK_GEOMETRY is set users submit a parallel job (a job that requests more than 1 slot), LSF attempts to shape LSB_MCPU_HOSTS accordingly.

Submitting a job with a job script

You can submit a job using a job script as an embedded script or directly as a job, for example:

% bsub -a mpichp4 -n 4 < embedded_jobscript
% bsub -a mpichp4 -n 4 jobscript

Your job script must use mpirun.lsf in place of the mpirun command.

For information on generic PJL wrapper script components, see Running Parallel Jobs.

See Administering Platform LSF for information about submitting jobs with job scripts.

[ Top ]


[ Platform Documentation ] [ Title ] [ Contents ] [ Previous ] [ Next ] [ Index ]


      Date Modified: March 13, 2009
Platform Computing: www.platform.com

Platform Support: support@platform.com
Platform Information Development: doc@platform.com

Copyright © 1994-2009 Platform Computing Corporation. All rights reserved.