Skip to content

AEminium/AeminiumGPU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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>
Maksymilian Wojczuk <maxwojczuk@gmail.com> (Filter Operation)

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