Difference between revisions of "ToolsAndDownloads"

From Aeminium
Jump to: navigation, search
(Tools and Downloads)
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
== Aeminium Compiler (CMU) ==
  
Check out Google Code for code and examples of '''AEminium''' [http://code.google.com/p/aeminium/] (under development).  
+
The Æminium Compiler translates the Æminium language to Java source code with calls to the Æminium Runtime. The Æminium Language uses the [https://code.google.com/p/plaid-lang/ Plaid Language] and the code lives in the same repository, specifically under the [https://code.google.com/p/plaid-lang/source/browse/#hg%2Faeminiumcodegen aeminiumcodegen] subproject.
  
'''AEMiniumGPU''' is a framework composed by a compiler and a runtime. It is available for download the following address: [https://github.com/alcides/AeminiumGPUCompiler/]
+
An example of a simple WebServer written in Æminium can be seen [https://code.google.com/p/plaid-lang/source/browse/AeminiumExamples/pld/plaid/examples/webserver/plaid/WebServer.plaid here].
  
'''Pulse''' is a model-checking tool of Plural specifications. It has been implemented as a plug-in of the Plural tool. It translates Plural specifications into an abstract model-checking model that is then used as an input of the EVMDD model-checker. [http://193.136.232.100/~ncatano/Projects/aeminium/Pulse.html]
+
== Aeminium Runtime (U. Coimbra) ==
 +
 
 +
[https://github.com/AEminium/AeminiumRuntime Aeminium Runtime] is a Java library that supports the runtime elements of Æminium programs. This includes a work-stealing scheduler, task management and dependency checker, runtime optimizations, locking, etc. It also features a Profiler that can be used to understand what is happening inside the runtime in Æminium programs.
 +
 
 +
[https://github.com/AEminium/AeminiumBenchmarks Aeminium Benchmarks] is a collection of sequential java, fork-join java and aeminium programs from different benchmarks, such as Fibonacci, FFT, MergeSort, BFS, NBody, etc. These programs are used to evaluate the performance of the Runtime.
 +
 
 +
[https://github.com/AEminium/AeminiumGPU AeminiumGPU] is a runtime that supports the execution of AeminiumPrograms on GPUs using a Map-Reduce approach. This is complemented by the [https://github.com/AEminium/AeminiumGPUCompiler AeminiumGPU Compiler] that translates Java into OpenCL, so the programmer only has to write Java to have programs running on both CPU or GPU.
 +
 
 +
[https://github.com/AEminium/java2aeminium j2jpar] is a compiler that receives sequential Java and outputs the same program, parallelized using the Aeminium Runtime as support for concurrency management.
 +
 
 +
[https://github.com/AEminium/ceco CECO] is a Scala library for writing parallel and concurrent programs with sane support for exceptions across concurrent actors.
 +
 
 +
 
 +
== Verification (U. Madeira) ==
 +
 
 +
[http://193.136.232.100/~ncatano/Projects/aeminium/Pulse.html Pulse] is a model-checking tool of Plural specifications. It has been implemented as a plug-in of the Plural tool. It translates Plural specifications into an abstract model-checking model that is then used as an input of the EVMDD model-checker.

Latest revision as of 00:36, 29 July 2013

Aeminium Compiler (CMU)

The Æminium Compiler translates the Æminium language to Java source code with calls to the Æminium Runtime. The Æminium Language uses the Plaid Language and the code lives in the same repository, specifically under the aeminiumcodegen subproject.

An example of a simple WebServer written in Æminium can be seen here.

Aeminium Runtime (U. Coimbra)

Aeminium Runtime is a Java library that supports the runtime elements of Æminium programs. This includes a work-stealing scheduler, task management and dependency checker, runtime optimizations, locking, etc. It also features a Profiler that can be used to understand what is happening inside the runtime in Æminium programs.

Aeminium Benchmarks is a collection of sequential java, fork-join java and aeminium programs from different benchmarks, such as Fibonacci, FFT, MergeSort, BFS, NBody, etc. These programs are used to evaluate the performance of the Runtime.

AeminiumGPU is a runtime that supports the execution of AeminiumPrograms on GPUs using a Map-Reduce approach. This is complemented by the AeminiumGPU Compiler that translates Java into OpenCL, so the programmer only has to write Java to have programs running on both CPU or GPU.

j2jpar is a compiler that receives sequential Java and outputs the same program, parallelized using the Aeminium Runtime as support for concurrency management.

CECO is a Scala library for writing parallel and concurrent programs with sane support for exceptions across concurrent actors.


Verification (U. Madeira)

Pulse is a model-checking tool of Plural specifications. It has been implemented as a plug-in of the Plural tool. It translates Plural specifications into an abstract model-checking model that is then used as an input of the EVMDD model-checker.