Difference between revisions of "ToolsAndDownloads"
(→Tools and Downloads) |
|||
(4 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | == 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 [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. | |
− | + | 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]. | |
− | + | == 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.