A Java Runtime for writing GPU-backed MapReduce code.
Java Shell
Latest commit 1c444da Oct 15, 2016 @alcides alcides Added more op support
Permalink
Failed to load latest commit information.
data
lib
src/aeminium/gpu
templates/opencl
utils
.classpath
.gitignore
.project
Readme.txt
build.xml

Readme.txt

AeminiumGPU

A runtime library that exposes a Parallel Collection API with operations that can run
either on the GPU or the CPU. The GPU execution uses the JavaCL bindings, which allow
for the execution of the generated OpenCL Code.

The OpenCL Code is generated by the AeminiumGPUCompiler project, and programs should
be executed from that project.

http://github.com/AEminium/AeminiumGPUCompiler


This is part of the Æminium Project (http://aeminium.dei.uc.pt)

Author:
Alcides Fonseca <amaf@dei.uc.pt>


How to execute:

1) Clone (or download) the project.
2) Make sure you have a OpenCL driver and compatible graphics card. 
	If not, the code will execute on the CPU.
3) ant record
	This command will run the micro-benchmark for understanding what are the benefits
	of the GPU in your machine.
4) ant test 
	This command will run the test suite to ensure everything works.
5) ant run
	This command will run the MainClass defined in the build.xml
	
All commands that execute something will automatically compile everything required.


Source Code Organization:

src/aeminium/gpu/
	buffers: Classes that handle the copy to and from the GPU memory.
	collections: Lists and Matrices for most basic types.
	devices: Representation of CPU or GPU Devices.
	examples: Some examples written for the GPU.
	executables: Interfaces for GPU-ready Programs.
	operations: Classes that define GPU and CPU operations (Map, Reduce, etc...)
	recorder: For recording micro-benchmarks.
	templates: OpenCL Kernel templates Loading.
	tests: For unit tests.
	utils: Miscellaneous common utilities.
templates/
	opencl: OpenCL Kernel Templates