Using the examples
==================

Compiling the examples
----------------------
Of course, you need to have MPICH installed, and to set the MPICH
variable before compiling if it is not in your regular path (see the
Makefiles).

Running the examples
--------------------
1- For SPMD applications, this is easy. The command is:

> mpirun -np <#num_procs> <prog_name>

For example,

> mpirun -np 3 IslandBitEA

will launch a 3 islands-based evolutionary algorithm on the same
computer.

--------------------
2- When you want to run different executables on some hosts, you need
a configuration file to tell which executable is running on which
machine. For instance, in Lesson1, the config file

pc1 0 ${HOME}/eo/tutorial/ParadisEO/Lesson1/IslandBitEA1
pc2 1 ${HOME}/eo/tutorial/ParadisEO/Lesson1/IslandBitEA1
pc3 1 ${HOME}/eo/tutorial/ParadisEO/Lesson1/IslandBitEA2
pc4 1 ${HOME}/eo/tutorial/ParadisEO/Lesson1/IslandBitEA2

is then run by the command ***launched on pc1***

> mpirun -p4pg pgfile ${HOME}/eo/tutorial/ParadisEO/Lesson1/IslandBitEA1

and will run specifies 4 processes, respectively on the hosts pc1,
pc2, pc3 and pc4. 

Here, the path of the executables are identical, but this is always
the case.

There ***need*** to be exactly one line corresponding to the local
computer you are running the mpirun command from with 0 after the
hostname and the name of the executable ***must*** be the same than
the name you give on the mpirun command line

You must be able to connect to all the computers listed in the
config file using ssh

You can put the IP numbers of the computers, but NOT use 127.0.0.1
to specify the local host if you have more than one computer involved
