Andrea Gussoni 846e980370 Converted tabs to spaces and fixed indentation 7 vuotta sitten
..
Makefile 1f1ceb7172 Initialized repo with Rodinia 3.1 8 vuotta sitten
OriginalParallel.c 1f1ceb7172 Initialized repo with Rodinia 3.1 8 vuotta sitten
README.txt 1f1ceb7172 Initialized repo with Rodinia 3.1 8 vuotta sitten
clutils.cpp 846e980370 Converted tabs to spaces and fixed indentation 7 vuotta sitten
clutils.h 846e980370 Converted tabs to spaces and fixed indentation 7 vuotta sitten
gaussianElim.cpp 846e980370 Converted tabs to spaces and fixed indentation 7 vuotta sitten
gaussianElim.h 846e980370 Converted tabs to spaces and fixed indentation 7 vuotta sitten
gaussianElim_kernels.cl 1f1ceb7172 Initialized repo with Rodinia 3.1 8 vuotta sitten
gettimeofday.cpp 1f1ceb7172 Initialized repo with Rodinia 3.1 8 vuotta sitten
gettimeofday.h 1f1ceb7172 Initialized repo with Rodinia 3.1 8 vuotta sitten
run 1f1ceb7172 Initialized repo with Rodinia 3.1 8 vuotta sitten
run-cpu c17feafd29 Implemented device selection for gaussian 7 vuotta sitten
run-gpu c17feafd29 Implemented device selection for gaussian 7 vuotta sitten
run-gpu-primary 1056d3aaa2 Added run script for the secondary GPU 7 vuotta sitten
run-gpu-secondary 1056d3aaa2 Added run script for the secondary GPU 7 vuotta sitten
utils.cpp 846e980370 Converted tabs to spaces and fixed indentation 7 vuotta sitten
utils.h 846e980370 Converted tabs to spaces and fixed indentation 7 vuotta sitten

README.txt

The Gaussian Elimination application solves systems of equations using the
gaussian elimination method.

The application analyzes an n x n matrix and an associated 1 x n vector to solve a
set of equations with n variables and n unknowns. The matrix and vector describe equations
of the form:

a0x + b0y + c0z + d0w = e0
a1x + b1y + c1z + d1w = e1
a2x + b2y + c2z + d2w = e2
a3x + b3y + c3z + d3w = e3

where in this case n=4. The matrix for the above equations would be as follows:

[a0 b0 c0 d0]
[a1 b1 c1 d1]
[a2 b2 c2 d2]
[a3 b3 c3 d3]

and the vector would be:

[e0]
[e1]
[e2]
[e3]

The application creates a solution vector:

[x]
[y]
[z]
[w]


The Makefile may need to be adjusted for different machines, but it was written for Mac OS X and
Linux with either NVIDIA or AMD OpenCL SDKs.

Additional input files can be created with the matrixGenerator.py file in the data folder.

Gaussian Elimination Usage

gaussianElimination [filename] [-hqt] [-p [int] -d [int]]

example:
$ ./gaussianElimination matrix4.txt

-f [filename] The filename that holds the matrix data
-s [int] Generate matrix and rhs in specified size
-h, --help Display the help file
-q Quiet mode. Suppress all text output.
-t Print timing information.

-p [int] Choose the platform (must choose both platform and device)
-d [int] Choose the device (must choose both platform and device)


Notes: 1. The filename is required as the first parameter.
2. If you declare either the device or the platform,
you must declare both.


******Adjustable work group size*****
The kernel 2 has square shape
The actually dimension = RD_WG_SIZE_1_0 * RD_WG_SIZE_1_1

USAGE:
make clean
make KERNEL_DIM="-DRD_WG_SIZE_0=16 -DRD_WG_SIZE_1_0=16 -DRD_WG_SIZE_1_1=16"