forked from AEminium/AeminiumGPU
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Readme.txt
59 lines (40 loc) · 1.92 KB
/
Readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
AeminiumGPU
This fork adds a Filter operation to the original AeminiumGPU framework. It has been merged here: https://github.com/AEminium/AeminiumGPU/pull/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 <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