Initial Commit to Local Repository

Cloned from: https://github.com/opendwarfs/OpenDwarfs

Fixed bug in include/rdtsc.c that was using macro 'USEGPU' in method
GetDevice() and overriding the setting of the -c switch in the sparse
linear algebra dwarf's application, csr. Corresponding changes were made
in many other dwarfs to repair compile errors.
Updated all dwarves to operate on CPU when no supported GPU is present.
With the exception of the srad application within the structured-grid
dwarf (documented in README), no compile-time changes are necessary; all
applications will attempt to use GPU and, if none found, attempt to use
the CPU.

10 of the dwarves described in the paper are running successfully on the
CPU. Of the other three, two of them (MapReduce & Graphical Models) have
no implementations and one of them (Finite State Machines [TDM]) is only
supported on OpenCL 1.1 (Currently, only OpenCL 1.2 SDKs are available).
Some files were missed in previous commit. Including everything.
split include/common_args.x into include/common_ocl.x and
include/common_util.x so test generation code can utilize common files
but still does not require that it be linked with opencl
libraries/headers. This allows the test generation code to run on
machines without opencl installed (i.e., build server). updated all
include statements and Makefile.am to reflect changes
Minor changes to output.
added check method and macro MINIMUM to common_util.x
added autom4te.cache/* and /opt/LICENSES/* to .gitignore

moved GetDevice() from rdtcs.x to common_ocl.x since it is an openCl
initiliazation method not a profiling/time stamping method

edited GetDevice to take the open cl device type macro directly as a
parameter so the dwarves can call it with CL_DEVICE_TYPE_ACCELERATOR in
order to target an FPGA. Correspondling edited each dwarf's call to
getDevice() to reflect the changes.
altered sparse_formats.h & csr.c to create options for matrix size and
density. Not yet working.
Sparse Linear Algebra Dwarf changed:

Command-Line options added to generate random matrix of specified size
and density for input.

Additional command-line option added to read input matrix from file
(stored in CSR format, as per sparse_formats.write_csr()).

Kernel & Verification algorithm for matrix-vector multiply altered due
to changed CSR format. This version uses -1
(sparse_formats.CSR_EMPTY_ROW) as the ith value of row-pointer array if
ith row is empty.
reverted kernel and verification algorithms to original CSR structure.
In this structure, if the ith row is empty, it is represented by setting
csr.Ap[i] = csr.Ap[i+1].
added sparse_formats.c to implement utility methods for struct csr

unified SPMV to use unsigned ints as datatype for matrix indices

removed option to generate random input; input must now be read from
file
Adding new files sparse_formats.c, ziggurat.c, ziggurat.h
restructured SPMV and added source code for generating CSR matrices.
Edited Makefile.mk to include createcsr in the build
added source code to generate test files for SPMV.

restructured directory and edited SPMV/Makefile.mk to reflect changes
added .gitignore file in OpenDwarfs/. Deleted entire index and re-added
in order to ensure .gitignore file was read
sparse_formats.rand_csr():
	-bounded upperside of nnz_ith_row distribution at 2*avg. value to
compensate for natural lowerbound at 0 (can't have negative number of
nonzeros in a given row). for given distributions that have a
significant amount of area beyond these bounds, the 'normal' shape will
be lost but the mean should be consistent.
	
+Minor formatting changes
Fixed compilation (redefined macro 'MIN') error.
sparse_formats.rand_csr():
	-added extra casts to doubles in complex calculations to prevent errors
from overflows that were occuring when the computations were executed
with the values treated as unsigned ints
updated include statements to reflect changes in shared include/
directory

slightly modularized csr.c

added for loop and corresponding switch to loop through H2D transfer,
Kernel execution, and D2H transfer x number of times in order to
generate multiple data samples
Added sources to Makefile.mk so it is not necessary to #include .c files

moved .c files from inc to src-common