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 14 applications are available via the URL http://www-cse.ucsd.edu/groups/hpcl/scg/kelp/KeLP1.3_src/examples/
|
jacobi2D_noAPI
|
jacobi3D_basic
|
rb3D
|
NAS-FT
|
region3_init
|
|
jacobi2D_useAPI
|
jacobi3D_contig
|
rb3D_MPI
|
SUMMA
|
region3_move
|
|
complex
|
jacobi3D_manhattan
|
NAS-MG
|
SUMMA_MPI
|
region3_xcut
|
- jacobi2D
-
Solves the 2D Poisson Equation using Jacobi's method (found in the
KeLP distribution) There are two versions.
-
-
jacobi2D_noAPI
-
uses the DOCK library for data decomposition
-
jacobi2D_useAPI
-
uses the mgrid API described in the KeLP User's guide
-
-
jacobi3D
-
Solves 3D Poisson Equation using Jacobi's method. There are 3
versions:
-
-
jacobi3D_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.)
-
jacobi3D_manhattan
-
Manhattan stencil optimization - modifies MotionPlan.
-
jacobi3D_contig
-
Contiguous face optimization - modifies MotionPlan.
-
-
rb3D
-
Solves Poisson's equation using Gauss-Seidel's method with Red/Black
ordering. Includes extensive benchmarking code an performance
optimizations. There is also a hand code MPI version called rb3D_MPI
-
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.
-
-
NAS-MG
-
Solves an elliptic equation in 3D dimensions using multigrid
v-cycles.
-
-
NAS-FT
-
Solves the 3D heat equation using a Fourier method.
-
-
SUMMA
-
Performs a blocked matrix multiply using the SUMMA algorithm by van
de Geijn et al. at Univ. Texas at Austin. There is also a hand-coded
version (a modified version of code made publicly available by van
de Geijn) called SUMMA_MPI
-
-
region3_init region3_move
region3_xcut
-
These are small tutorial programs that will be documented in the KeLP User's guide.
(Watch for an update)
-
-
complex
-
Simple example of instantiating complex
templates. Computes amplitude and phase of the complex array,
executes a block-cyclic shift of the data and prints the results.
Running your program
Develop your code on a workstation and collect timing measurements
on the platform of your choice. Supported platforms include
A port to Sun HPC is in progress.
Maintained by The KeLP Webmaster. Last modified: 11/05/99 01:58:24 PM
Copyright © 1999, 2000, Scott B. Baden.