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:
| jacobi2D_noAPI |
jacobi3D_basic |
rb3D |
NAS-FT |
region3_init |
| jacobi2D_useAPI |
jacobi3D_contig |
rb3D_MPI |
SUMMA |
region3_move |
| |
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.
- noAPI
- uses the DOCK library for data decomposition
- 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:
- 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.)
- Manhattan
- Manhattan stencil optimization - modifies MotionPlan.
- 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 docuemented in the User's guide.
-
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 in the works along with a port to Sun HPC.
Maintained by Scott B. Baden. Last
modified: 08/11/99 04:59:20 Copyright © 1999, Scott B. Baden.