KeLP Code for the Curious
KeLP facilitates the design of reusable software. In this spirit
we are providing our users with source codes that may be
used as starting points for your applications.
Currently, 6 codes are available:
- jacobi2D
- Solves the 2D Poisson Equation using Jacobi's method (found in the
KeLP distribution) There are two versions.
- noAPI
-
uses the DOCK library for data decomposition and is found in
http://www.cse.ucsd.edu/groups/hpcl/scg/kelp/Code/jacobi2D/noAPI.
- useAPI
- uses the mgrid API described in the KeLP User's
guide and is found in
http://www.cse.ucsd.edu/groups/hpcl/scg/kelp/Code/jacobi2D/useAPI.
- jacobi3D
- Solves 3D Poisson Equation using Jacobi's method. There are 3 versions:
- basic
- is the simplest version and you should start with this one
before exploring how to optimize communication through direct
MotionPlan manipulation (this is described in the KeLP technical
reports.)
The code is found in
http://www.cse.ucsd.edu/groups/hpcl/scg/kelp/Code/jacobi3D/basic.
-
Manhattan
-
Manhattan stencil optimization - modifies MotionPlan.
The code is found in
http://www.cse.ucsd.edu/groups/hpcl/scg/kelp/Code/jacobi3D/manhattan.
- contig
-
Contiguous face optimization - modifies MotionPlan.
The code is found in
http://www.cse.ucsd.edu/groups/hpcl/scg/kelp/Code/jacobi3D/contig.
- rb3D
- Solves Poisson's equation
using Gauss-Seidel's method
with Red/Black ordering.
Includes extensive benchmarking code an performance optimizations
The rb3D
source is found in the directory
http:./Code/rb3D and you may also down-load a gzipped tar file
in
http:./Code/rb3D.tar.gz
-
The rb3D program supports various
command line options to configure processor geometries and so on.
Click HERE for an explanation of
command line options and output format, but also look
at the source
code for the details. Note that there are two cache blocking
factors, and only 2 processor geometry specifiers.
There is also a hand-coded version
in the directory
http:./Code/rb3D_MPI, and a gzipped tar file
in
./Code/rb3D_mpi.tar.gz.
- NAS-MG
- Solves an elliptic equation in 3D dimensions using multigrid
v-cycles.
The NAS-MG
source is found in the directory
http:./Code/NAS-MG and you may also down-load a gzipped tar file
in
http:./Code/nas-mg.tar.gz
- NAS-FT
- Solves the 3D heat equation using a Fourier method.
The NAS-FT
source is found in the directory
http:./Code/NAS-FT and you may also down-load a gzipped tar file
in
http:./Code/nas-ft.tar.gz
- SUMMA
- performs a blocked matrix multiply using the SUMMA algorithm
by van de Geijn et al. at Univ. Texas at Austin.
The SUMMA
source is found in the directory
http:./Code/SUMMA, and you may also down-load a gzipped tar file
in
http:./Code/summa.tar.gz. There is also a hand-coded version
(a modified version of code made publicly available by van de Geijn)
in the directory
http:./Code/SUMMA_MPI, and a gzipped tar file
in
./Code/summa_mpi.tar.gz.
Running your program
Develop your code on a workstation and
collect timing measurements
on the platform of your choice. Supported platforms include
A Cray T3E
port is not yet available, but let us know if you need it.
Maintained by
Scott B. Baden.
Last modified:
Mon Apr 5 21:16:16 PDT 1999
Copyright © 1999, Scott B. Baden.