Hi all,
This is a parallel version of the Lil-gp based on PVM. Unfortunately I didn't write any documentation that can be included here yet. At the moment I will ask you to look at http://parallel.vub.ac.be/~johan/Projects/ for more information.
News
April 19, 2002
Included bugfix to random.c sent by Olivier Nicolas.
August 29, 2001
1 bug fix + real modification. I fixed a bug I made in the generation of individuals.
When using the grow method one actually ended up with the same a full tree generation.
=====================================================================================
NO NEED to have functions and terminals for all the types ;-) You can now omit these
but you have to carefully choose the method used to generate individuals now. If you
do not provide any functions for a certain type you will probably not be able to
use half_and_half or full. The latter will most likely need some functions to build
a full tree. Your mileage may vary, ... think harder while chosing! Note that mutation
also generates trees. You thus may need to specify a generation method there as well
now. Look at the manual.
=====================================================================================
Anyhow, you will get a message if the necessary building block are absent.
May 15th
Found some bugs concerning the strong typing! I am running a "real" problem now, with
several types and all (it still running (in parallel of course ;-). I display some
some additional information on screen regarding the strong typing, not much really.
--> !! Beware of the fact the you need at least a terminal and a function for each type!
May 12th
I have merged the strongly typed feature of Sean Luke's kernel into the parallel kernel. I only
tried a modified version of the symbolic regression problem. It worked fine but of course it
only uses one type so this doesn't prove much.
New kernel type so new directory, "lilgp1.1/1.1ps" is the new one.
A new "on-line" soucre page has been added. This is a link to my source directory, so you can
see the code I am "working" on. Beware that this also means that chance that you download a new
BUG is thereby much higher if you do it through this page.
May 11th
The report generation needed some correction. The global statistics were incorrect and appeared
too many times in the .stt file. The timing information on the screen should now be 100%
correct. This means 2 things: the order on screen correspond to the different populations
and the timing is indeed that of the generation at hand.
April 17th
First day on the net for the code! Available in 3 formats that should do it. We'll see how far
this thing goes...
How to use the parallel kernel
To invoke the parallel execution your need only one additional parameter:
gp -f input.file -m
This -m stands for 'm'aster and is really the only parameter that will initiate the parallel version of the kernel. The program invoked in this way will be the master and will launch other tasks which will do the actual computations. That is really all there is to it, nice isn't it?
When invoked in this way the parallel kernel will inspect the PVM and determine the number of computing hosts that are available. The kernel will then distribute the subpopulations according to the number of nodes found.
There are more parameters type "gp" to get a small description.
Compiling
First you need to have the PVM software on your system. If this is the case make sure you have set the PVM_ROOT environment variable. This environment variable is used in the makefiles.
As for the original kernel typing "make -f GNUmakefile" in the application directoty should do the trick. (Or rename the GNUmakefile and the type "make" whatever)
BUGS
Unfortunately there still must be quite some floating around. So please let me know if you find any.
Cheers,
Johan Parent (johan@info.vub.ac.be)
