Getting started with KeLP at SDSC

KeLP is installed at SDSC on the Cray T3E and on the Digital Alpha Farm. This document will tell you how to get started.

Note to SP2 users. KeLP will be installed at SDSC's SP2 once the machine is publicly available. If you have an SP2 at your own site, you may install a local copy yourself by down-loading the KeLP distribution from the main KeLP web page.

First, be sure and read the KeLP User's guide. To get a copy, consult the KeLP web page .

The User's guide contains a coding example-- the ubiquitous 2D Point Jacobi algorithm. Download a copy of this code from the URL http://www-cse.ucsd.edu/groups/hpcl/scg/kelp/Code/jacobi2D/noAPI or look within the KeLP distribution itself in the directory ./apps/jacobi2D/noAPI (where ./ is the root directory for the kelp installation.) This directory contains numerous other examples. For a slightly more elaborate examples see the URL http://www-cse.ucsd.edu/groups/hpcl/scg/kelp/Code/

Compiling

KeLP is publicly available on the T3E at:
TOP = /usr/local/apps/kelp1.0/kelp

To build a KeLP application you need to establish the appropriate path for the KeLP include and library files. This information is set in the TOP macro within the makefile. For the T3E, simply use the above path:

TOP = /usr/local/apps/kelp1.0/kelp

If you want to use a different machine, be sure and change the path. For example, this is the path for the Digital Alpha Farm at SDSC:

TOP = /users/guests/baden/kelp1.0/kelp

Because KeLP is portable, you can develop application software on a single processor workstation and move to the production hardware once you have debugged the code. For example, there is also a Solaris Port. You may down-load a copy of KeLP via the KeLP web page .

Running your code

To run your program use the mpprun command. Initially you will want to run on 1 processor as follows:

	mpprun -n 1 jacobi2D 10

This runs the executable program jacobi2D (which is the target in the makefile) on just 1 processor. The 10 is a command line argument for the application, and tells the program how large the solution array should be. To test that everything is running OK, use a small number like 8 or 10. The program will run for 10 iterations (this variable can be changed by modifying the source, this is not handled via a command line argument). Since this is Jacobi's method, it converges very very slowly.

Running on a workstation cluster

If you are running on a workstation cluster, then you will need specify the machines you will be running on via a "pfile:"

   mpirun -p4pg pfile executable

For example, to use afarm-2.sdsc.edu and afarm-3.sdsc.edu on SDSC's alpha cluster your pfile should look as follows:

   afarm-2 0       /thePathToExecutuable/executable
   afarm-3 1       /thePathToExecutuable/executable

This file is set up to start the program from afarm-2 (The 1st argument, which is 0, specifies this). To add more processors simply duplicate the last line of "pfile" and modify the host name field. So, if you want to run on afarm-4 as well, simply add the following line, and so on for more processors:

   afarm-4 1       /thePathToExecutuable/executable

Maintained by Scott B. Baden. Last modified: Thu Nov 20 18:56:09 PST 1997 Copyright (c) 1997, Scott B. Baden.