Example Checkpointing Application Code
These are the application programs that were checkpointing in the
paper, and in some others.
We've made this page so that other researchers can use these codes as
well. If you take any of these applications and use them for your
research, we ask you to please cite the libckpt paper as the reference
to their source:
James S. Plank, Micah Beck, Gerry Kingsley and Kai Li,
``Libckpt: Transparent Checkpointing under Unix'',
Conference Proceedings, Usenix Winter 1995 Technical Conference,
New Orleans, LA, January, 1995, pp. 213--223.
This is code for Cellular Automaton Simulation. Written in C.
This is code for matrix multiplication. Written in C.
MCNF was obtained via a friend who requested that I not pass it on.
This is a program to solve random systems of N equations in N unknowns.
It's purpose is to test how fast lapack is. The drag about porting
solve is that you have to port enough of lapack to get it to run. It only
uses the Fortran subroutine ``dgesv'' from lapack. I'm lucky because the
lapack people are here at Tennessee, and thus I can just link to
the libraries lapack.a and blas.a (see the makefile). You are probably
less lucky, and will have to get lapack from netlib or www.
To get more info about lapack, see
echo "send index from lapack" | mail email@example.com
This is not overly fun, but once you get it working, you'll be happier.
In the libckpt paper, there is an example program WATER.
This is CHAMMP from the national center for atmospheric
research. I obtained this program via netlib -- try
sending email with the text "send index from chammp" to
firstname.lastname@example.org. Or use xnetlib, or anon ftp or
The Water test is test #5 from the suite. You can make the
program run longer in two ways -- first by altering the
input variable TAUE -- this is the number of hours you wish
to model. Second is by changing the parameters in
src/params.i. There are 5 sets of MM,NN,KK,NLAT,NLON,
which you can alter to your specs. Read that file to
figure out what they really mean.