Easea

EASEA (EAsy Specification of Evolutionary Algorithms) is an Artificial Evolution platform developped by the SONIC (Stochastic Optimisation and Nature Inspired Computing) group of the BFO team at Université de Strasbourg.

Download .zip Download .tar.gz View on GitHub

The EASEA-CLOUD platform

Overview

EASEA and EASEA-CLOUD are Free Open Source Software (under GNU Affero v3 General Public License) developed by the SONIC (Stochastic Optimisation and Nature Inspired Computing) group of the BFO team at Université de Strasbourg. Through the Strasbourg Complex Systems Digital Campus, the platforms are shared with the UNESCO CS-DC UniTwin and E-laboratory on Complex Computational Ecosystems (ECCE).

EASEA (EAsy Specification of Evolutionary Algorithms) is an Artificial Evolution platform that allows scientists with only basic skills in computer science to implement evolutionary algorithms and to exploit the massive parallelism of many-core architectures in order to optimize virtually any real-world problems (continous, discrete, combinatorial, mixed and more (with Genetic Programming)), typically allowing for speedups up to x500 on a $3,000 machine, depending on the complexity of the evaluation function of the inverse problem to be solved.

Then, for very large problems, EASEA can also exploit computational ecosystems as it can parallelize (using an embedded island model) over loosely coupled heterogenous machines (Windows, Linux or Macintosh, with or without GPGPU cards, provided that they have internet access) a grid of computers or a Cloud.

Features

  • Runs can be distributed over cluster of homogeneous AND heterogeneous machines.
  • Distribution can be done locally on the same machine or over the internet (using a embedded island model).
  • Parallelization over GPGPU cards leading to massive speedup (x100 to x1000).
  • C++ description language.

Building easea

Easea can be build using two method.

1) By GNU Makefile:

  $ make
  $ . install.sh [local]  

2) By CMake:

  $ cmake .
  $ make
  $ . install.sh [local] 

"." is equivalent to "source".

Easea can either be installed locally without special permission or in /usr/local/ with root permissions.

Once installed, one can test its installation by compiling easea test programs in example/ :

$ cd example/weierstrass
$ easea weierstrass.ez
$ make 
$ ./weierstrass

To print all options available type:

$ ./weierstrass --help

To test the CUDA version (Need the CUDA developper kit found at https://developer.nvidia.com/cuda-downloads ):

$ easea -cuda weierstrass.ez

Documentation

For additional help and documentation about the EASEA platform, please refers to the main wiki http://easea.unistra.fr/

To get the latest version of EASEA, git clone this repository or the sourceforge one:
git clone git://git.code.sf.net/p/easea/code easea-code

That's all !