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/
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 .
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.
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