RCS $Id: README,v 1.8 1995/08/22 23:40:22 tuna Exp $

This directory contains sample applications that use CRL.

Description of contents
-----------------------
README
   This file.

barnes
   CRL version of the Barnes-Hut application from the SPLASH-2 suite.
   Further information about the SPLASH application suites can be
   found on the WWW at URL http://www-flash.stanford.edu/apps/SPLASH/.

example
   Example application shown in the user documentation.

latency
   Microbenchmark that measures latencies for CRL region operations.

lu
   CRL version of a Blocked LU Decomposition code (not based on the
   code from the SPLASH-2 suite).

pvm.common
   Sample main() function for use with the TCP/UNIX (PVM) version of
   CRL.

synth
   Exercises the CRL protocol by randomly reading/writing to
   regions. If you're trying to find protocol errors or implementation
   bugs, synth should be linked against a version of libcrl.o that was
   compiled with CRL_SANITY #defined (in crl_int.h).

tsp
   Small CRL application that solves the Travelling Salesman Problem.

water
   CRL version of the Water application from the SPLASH-2 suite. Note
   that absolute paths for two input files (RANDOM_FILE, INPUT_FILE)
   used by the application are hard-coded into water/top.h. These
   #defines are intended to name the "random.in" and "input.512" files
   in the water/ directory; before compiling water, you should replace
   them with paths corresponding to wherever you installed CRL on your
   local system.

Instructions
------------
1. If you're running on a network of workstations, be sure that you
   have PVM installed correctly and functioning.

2. Compile the CRL library in the directory "../src" (see the user
   documentation in "../doc" for details).

3. If you're using the CM-5 version of CRL, type "make -f Makefile.CM5"
   to build CM-5 executables for each of the applications (barnes,
   example, latency, lu, synth, tsp, water).

     -- or --

   If you're using the TCP/UNIX version of CRL, edit Makefile.TCPUNIX
   and change the definitions for PVM_ROOT and PVM_ARCH to whatever is
   appropriate for your local system. Once you've done so, type
   "make -f Makefile.TCPUNIX" to build TCP/UNIX executables for each
   of the applications (barnes, example, latency, lu, synth, tsp,
   water).
