This directory contains some small programs whose aim is to
illustrate various features of Charm.  In the following
descriptions, grain-size is proportional to the amount of
work given to a single chare.  In some cases, additional
memory may need to be allocated using the +m option.

Programs, and what they do:
---------------------------

fib:	Uses dynamically load balanced chares to compute the 
	 	n'th fibonacci number.  This program uses 
                recursive calls to illustrate the principle of
                grain-size control, so n should be small (n < 40).
		Uses distributed tables to avoid duplication of work.
		Also has artificial examples of use of VARSIZE arrays, 
		pack and unpack functions, and function references.
		The program is in two source files (modules) and
		illustrates use of the "module.list" file.
		Suggested input : n=20, grain-size=5 .

hello:	Simple "hello world" program which prints a message 
		from each processor. Uses a branch office chare.

jacobi:	Jacobi method for solving a 5 point stencil problem.
		Illustrates simple inheritance and virtual entry points.
		Uses branch office chares.  The number of processors 
                should be a square number greater than or equal to 4.

primes:	Computes the number of primes between 1 and n (where n > 50)
                using dynamically load balanced chares 
		and an accumulator.
		Uses a parallel Eratosthenes' sieve algorithm.
		Uses read-only variables.
		Suggested input : n=500000, grain-size=100

queens: Computes the number of solutions to an n-queens
                problem.  Uses branch office chares, read-only variables,
                and an accumulator. 
                Suggested input : n=8, grain-size=2

tsp:	Traveling Salesman Problem. The input files are in the
		directory. asi7, asi20 are 7 city and 20 city problems,
		respectively. Uses dynamically load balanced chares, 
		accumulators and monotonic variables.  The user will
                need to use the +m option to allocate sufficient memory.
		Uses integer-prioritized messages and prioritized queueing.
		Suggested input : redirect stdin to asi7

        
