Building and installing Netchaos
================================

Netchaos runs directly from the build directory. There is currently no need
(and no procedure) to install it anywhere.

This snapshot still doesn't work locally (with communication via shared
memory). It only works with the MPI implementation from OSC. I tried the
MPI implementation from the Michigan University (MPICH) but didn't succeed yet.
If someone wants to contribute a PVM port that would be highly welcome.
I think I've abstracted the communication layer well enough to make this
relatively easy.

Prerequisites
=============

You should have LAM 6.1 or greater installed. LAM is an implementation of MPI
from the Ohio Supercomputing Center (http://www.mpi.nd.edu/lam/).

If you don't want to install LAM (it makes only sense if you have two or more
machines) then remove the flag -DHAVE_MPI from the Makefile. If you have LAM
installed, make sure it works by creating a hostfile with all hostnames in it
which you intend to run Netchaos on, eg.

mandel
cruncher

Then run "recon -v hostfile". If it runs without errors, LAM should be OK.
You need a C++ compiler. GCC 2.7 is fine, as are egcs and pgcc.

Compiling
=========

Look over the Makefile and make changes as necessary. Uncomment one of the
lines that start with CCOPTS. The first is for debugging, the second without.
It should compile cleanly (mostly without warnings) on any Linux with libc5
or libc6 (only x86 architecture tested).

The optimized assembler code is included automatically for x86 architecture.
If you have code for other architectures let me know. I'm specifically
interested in MIPS-Code since I have an Indy with IRIX 5.3 :-)

Running
=======

Edit the hostfile to contain all machines you want Netchaos to run on. Start
small ;-). Then edit the app file. The option -c sets the number of instances
of Netchaos that are started on all machines together. This number should be
equal or one greater than the number of hosts in your hostfile. This is
because instance #0 does not do any calculations, it only displays the images.
If you have machines with multiple processors you can arrange for multiple
instances of Netchaos running on these machines.
Next try the script "run". If it hangs (this seems to be a bug in LAM) run the
following commands manually:

lamboot -v hostfile
mpirun -v app

This should pop up a smallish window in which the well-known Mandelbrot fractal
is rendered.

If the program displays too much debugging info, change the variable debugLevel
in util.c and recompile.

You can exit the program by pressing "q", closing its window, or killing it.
It may hang at exit (another LAM bug?), but pressing CTRL-C cures this.
After you exit the program, you should run

wipe -v hostfile to remove all processes.

If I have forgotten something, tell me.

hjb (baader@gmx.net)
