Code Monkey home page Code Monkey logo

erlang's Introduction

erlang

Build Status

Important

UPDATE: THIS REPOSITORY IS DEPRECATED. IT WON'T BE UPDATED AND WILL BE REMOVED.

This project has been split up into several repositories:

  • implementation of the EMAS algorithm, see erlang-emas
  • underlying multi agent framework was extracted and generalized in erlang-mas
  • other projects using custom genetic operators using EMAS to find solutions for given problems, such as:

There is also a "Getting started" guide which helps you write your own operators for the genetic algorithm using EMAS and underlying framework in the new way.

Description

The ParaPhrase project aims to produce a new structured design and implementation process for heterogeneous parallel architectures, where developers exploit a variety of parallel patterns to develop component based applications that can be mapped to the available hardware resources, and which may then be dynamically re-mapped to meet application needs and hardware availability.

By using the massive and efficient parallelism enabled by ParaPhrase technologies, this work allows to achieve significant speedups of individual agents as well as build much bigger multi-agent systems.

Dependencies

To run the project on your machine you need:

How to build the project

First you need to clone the repository:

> git clone https://github.com/ParaPhraseAGH/erlang.git
> cd erlang/

To build the project you can use rebar. On Linux:

> ./rebar get-deps
> ./rebar compile

On Windows:

> rebar.cmd get-deps
> rebar.cmd compile

or alternatively (both Windows and Linux, be sure to get-deps first):

> erl -make

which uses the local Emakefile.

How to run the project

To start a VM where you can run the application, first make sure that you are in the main project's folder:

> cd emas/

Then you can run:

> erl -pa ebin/ -pa deps/skel/ebin/

which will start the Erlang VM. Flags -pa declare the classpath where the VM will look for all the necessary .beam files, which in our case are directories ~/ebin/ and ~/deps/skel/ebin/.

To run the application you can type:

1> emas:start(concurrent, 10000, []).

which will start the algorithm. The word emas is the name of the main module of your usecase (we provide the implemenentation of the EMAS algorithm as an example). You can choose to implement a new one, which should be started in the same way as shown above.

The word concurrent defines the version of the program which will be used to execute the program. Currently you can choose from concurrent, hybrid, skel_main and sequential versions. The second parameter is the expected time of the execution in miliseconds and the third one is the option list. By default, the program will write all its results to stdout, so you can see if everything is configured correctly.

erlang's People

Contributors

pianiel avatar mpmiszczyk avatar jstypka avatar eleaar avatar

Watchers

 avatar James Cloos avatar  avatar  avatar  avatar

Forkers

mpmiszczyk

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.