Différences entre les versions de « EASEA command line »

De
Aller à la navigation Aller à la recherche
Ligne 1 : Ligne 1 :
= Compiler Parameter =
+
= Compiler Parameters =
  
== Cuda ==
+
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).
  
-cuda
+
Try this out in the weierstrass directory with:
  
== GP ==
+
$ easea weierstrass.ez<br>
 +
$ make<br>
 +
$ ./weierstrass
 +
 
 +
''By default'', EASEA parallelizes the evaluation of the individuals on the cores of a multi-core CPU using [https://en.wikipedia.org/wiki/OpenMP OpenMP]. <br>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
 +
 
 +
== -cuda option==
 +
 
 +
EASEA can also automatically parallelize the evaluation function on the many cores of an NVIDIA card.
 +
 
 +
This 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<br>
 +
$ make<br>
 +
$ ./weierstrass
 +
 
 +
== -gp option ==
  
 
  -gp
 
  -gp
 +
 +
This makes EASEA create individuals that store equations as trees, in order to model some data. <br>
 +
Try this out in the regression directory with:
 +
 +
$ easea regression.ez -gp<br>
 +
$ make<br>
 +
$ ./regression
 +
 +
$ easea regression.ez -cuda_gp<br>
 +
$ make<br>
 +
$./regression
  
 
== Memetic ==
 
== Memetic ==

Version du 17 novembre 2018 à 18:57

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).

Try this out in the weierstrass directory with:

$ easea weierstrass.ez
$ make
$ ./weierstrass

By default, EASEA parallelizes the evaluation of the individuals on the cores of a multi-core CPU using OpenMP.
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

-cuda option

EASEA can also automatically parallelize the evaluation function on the many cores of an NVIDIA card.

This 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

-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