[m-rev.] for review: genetic algorithm for searching the space of optimizations

Ralph Becket rafe at cs.mu.OZ.AU
Wed Feb 8 17:42:41 AEDT 2006


Samrith Uong, Wednesday,  8 February 2006:
> On 2/6/06, Julien Fischer <juliensf at cs.mu.oz.au> wrote:
> 
> Changed them.  But what's wrong with predicates?

Predicates can't be used in expressions.  Functional style is preferable
wherever applicable.

> ==> README <==
>                                 mcflags
> [...] 
> 
> The program is invoked using the mcflags script.  It may be useful (if
> something goes wrong) to turn on the verbose flag and pipe the output to
> a file:
> 
>                   ./mcflags -v 2>&1 | tee mcflags.out
> 
> The program stores its output in the directory MCFLAGS.  Each generation
> has its own subdirectory within MCFLAGS.  For example, information about
> the first generation is stored in MCFLAGS/1.

mcflags and MCFLAGS are bad naming choices because MCFLAGS is already
used by mmake.  Can I suggest gaflags and GAFLAGS?

> There are a number of files in each of these directories.  The most
> useful one is the file "ladder".  This file contains a table listing all
> of the individuals in a population.  Each individual is given a number,
> between 1 and the population size, in the first column of the table.
> The second column contains the "fitness" of an individual.  The third
> column contains the "genotype" of an individual, which is the list of
> compiler options that are passed to the compiler.

By population you mean "population of that particular generation"?

> The program is intended to be general enough to test different programs,
> as well as different programming languages and compilers.  The following
> sections describe how to configure mcflags to do this.
> 
> 2 Configuring for your network
> 
> mcflags has been written to utilise multiple hosts on a network.  In
> order to configure mcflags for your network, the mcflags.conf file needs
> to contain information about all the hosts to be used.
> 
> Configuring mcflags.conf involves defining a set of variables and
> assigning them values.  The syntax is the same as defining shell
> variables in /bin/sh.
> 
> The following variable must be defined:
> 
> 	num_hosts: the number of hosts available for benchmarking.  This
> 		may include the host from which mcflags is being run, if
> 		it is also being used to run the benchmarks.
> 
> For each host, the following variables need to be defined.
> 
> 	host$i: the name of the host we are connecting to.  This is
> 		passed as a command-line argument to ssh(1).  Make sure
> 		you have a copy of the host's SSH public key in your
> 		cache before you run mcflags.
> 
> 	workspace$i: the path to a directory containing mcflags.  Note
> 		that nothing is written to this directory, it is just
> 		used to access the dotime and evaluate.conf files from
> 		a remote host.  It can be the same on all hosts, as long
> 		as this directory is also mounted on all of the remote
> 		machines.
> 
> 	benchmarks$i: similar to workspace$i, except it contains the
> 		benchmarks directory from CVS.  Note that each host must
> 		have its own benchmarks directory.
> 
> 	path$i: the path to the directory containing the compiler.  This
> 		is pre-pended to $PATH in the evaluate script.

What are the $i here?

Otherwise that looks great, thanks.

-- Ralph
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list