# Copyright Princeton University 1992
#
# ICKP Public code
# Jim Plank
# Princeton University
# 
# $Source: /mahogany/homes/plank/ickp/pub/examples/part/RCS/README,v $
# $Revision: 1.0.1.0 $
# $Date: 1992/09/30 13:31:41 $


This directory contains the following files:

part.c -- An iPSC/2 and iPSC/860 program for finding the best 
          partition of a bunch of floating point numbers.

mkpar.c -- A program for creating the input file for part.c.

makefile -- The makefile for part.c.  If you set LIBDIR to be the
            directory containing the ickp libraries/etc, 
            then the makefile can be used as follows:

	make depend
		This tweaks the end of the makefile so that .c files
		have the correct dependencies to the proper .h files.

	make part
	or make cx
		This will make the iPSC/2 executable "part" from part.c.

	make rx
		This will make the iPSC/860 executable "part" from part.c.
            
	make ckp
		This will make the checkpointable iPSC/2 executable "part" 
		from part.c and the proper files from LIBDIR.
            
	make rxckp
		This will make the checkpointable iPSC/860 executable "part" 
		from part.c and the proper files from LIBDIR/860.
            
	make clean
		This will remove all .o files, and "part".

To see checkpointing:

This example shows use of the program iload.  You should have 
/usr/ickp/bin in your path.

Try 

  iload 8 part in500 out500 x

where x = 20000 on the iPSC/860 and 2000 on the iPSC/2.

In 8 seconds, the first checkpoint should start.  After it finishes,
type CNTL-C to kill the iload program, and then "killcube" to kill the
node program.  

Now type

  iload 0 part 

This will see that there is a checkpoint for part, and will query 
whether or not to recover.  Type "y" to recover.  After recovering, 
the program will complete (no more checkpoints will be taken, since
0 was specified as the checkpointing interval).
