EASEA command line
Compiler Parameters
Out of the same .ez file, EASEA can create different source codes, depending on whether you want to use an NVIDIA GPU card or not, or whether you want to evolve structures (genetic programming) or optimise parameters (evolutionary strategies, genetic algorithms). It is also possible to create Covariance Matrix Adaptation Evolutionary Strategy (CMA-ES) code.
No option (default)
By default, EASEA parallelizes the evaluation of the individuals on the cores of a multi-core CPU using OpenMP. To try this out, cd to the the examples/weierstrass directory and run:
$ easea weierstrass.ez
$ make
$ ./weierstrass
If you want to see the obtained acceleration, compare the parallel evaluation execution time with evaluation using a single thread. For this, run:
$ OMP_NUM_THREADS=1 ./weierstrass
This should be slower.
-cuda option
EASEA can also automatically parallelize the evaluation function on the many cores of an NVIDIA card. If you want / need to clean up the directory, run:
$ make easeaclean
The -cuda command line option makes EASEA create .cu files to exploit the massive parallelism of GPU cards rather than .cpp files, that exploit the parallelism of CPU cores. The created Makefile is also different.
In order to try this out, still in the weierstrass directory, run:
$ easea weierstrass.ez -cuda
$ make
$ ./weierstrass
If your computer is equipped with an NVIDIA GPU card, you should experiment a nice acceleration. To evaluate the gain obtained by parallelizing on a GPU card, do as above: compare the execution time on the GPU with the time obtained on one thread of the CPU.
-gp option
-gp
This makes EASEA create individuals that store equations as trees, in order to model some data.
Try this out in the regression directory with:
$ easea regression.ez -gp
$ make
$ ./regression
$ easea regression.ez -cuda_gp
$ make
$./regression
Memetic
-memetic
CMA-ES
-cmaes
Miscellaneous parameters
Verbose
This parameter will explicit a bit more the EASEA compiling process. Mainly used for debug purposes.
-v
True Line
-tl
Miscellaneous parameters
Verbose
This parameter will explicit a bit more the EASEA compiling process. Mainly used for debug purposes.
-v
True Line
-tl