Skip to content

A Java Runtime for writing GPU-backed MapReduce code.

Notifications You must be signed in to change notification settings

maxiwoj/AeminiumGPU

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AeminiumGPU

This fork adds a Filter operation to the original AeminiumGPU framework. It has been merged here: AEminium#1 

Paper for the implementation of the Filter operation can be found here: https://github.com/maxiwoj/AeminiumGPU/blob/master/docs/AeminiumGPU%20-%20Filter.pdf

Original Readme file: 

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 <[email protected]>


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


About

A Java Runtime for writing GPU-backed MapReduce code.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.2%
  • Shell 0.8%