Skip to content
Double Divide and Conquer Singular Value Decomposition
C Objective-C
Find file
Latest commit ecd774e @sddelong license added
Failed to load latest commit information.
Calculations-Parallel.c Adding licensing, modifiying comments
Calculations-Parallel.h Adding licensing, modifiying comments
Makefile added a readme file describing the usage of the bidiag routines in a …
README.txt minor edit to read me
README_BIDIAG.txt added a readme file describing the usage of the bidiag routines in a …
bidiag.c added the serial bidiagonalization routine and the example driver
bidiag.h header for sequential bidiagonalization library
bidiag_dr.c added the serial bidiagonalization routine and the example driver
bidiag_par.c updated a bunch of files, added comments and licenses
bidiag_par.h
cl-helper.c initial commit of clean SVD code
cl-helper.h initial commit of clean SVD code
left_dotprods.cl cleaned up versions of openCL kernels
left_update_mat.cl cleaned up versions of openCL kernels
matrix_helper.c updated a bunch of files, added comments and licenses
matrix_helper.h updated a bunch of files, added comments and licenses
normsq_matcol.cl cleaned up versions of openCL kernels
normsq_matrow.cl cleaned up versions of openCL kernels
parallel-twisted.c license added
parallel-twisted.h initial commit of clean SVD code
right_dotprods.cl cleaned up versions of openCL kernels
right_update_mat.cl cleaned up versions of openCL kernels
sanders.cl cleaned up versions of openCL kernels
sum.cl cleaned up versions of openCL kernels
svd_gpu.c license added
svd_gpu.h
test-whole-svd.c initial commit of clean SVD code
timing.h updated a bunch of files, added comments and licenses
update_scale_matcol.cl cleaned up versions of openCL kernels
update_scale_matrow.cl cleaned up versions of openCL kernels

README.txt

DOUBLE DIVIDE AND CONQUER SINGULAR VALUE DECOMPOSITION ON THE GPU

Authors:  Travis Askham, Mike Lewis, Steven Delong


setup:
   Make sure either your C_INCLUDE_PATH or the variable OPENCL_INC is pointing to the directory where
   your openCL include files are  (This directory should have the CL subdirectory)
      
    /my/path/to/include

   likewise, make sure either the LD_LIBRARY_PATH or OPENCL_LIB variables have the path to your 
   opencl library files.
 
     /home/my/path/to/lib/x86_64

  Then change to the ddc-svd directory and type make.  You should have the executable 
  test-whole-svd.  This can be run with
   
   ./test-whole-svd m n

   where m and n are integers for the number of rows and columns of a random matrix that will
   be decomposed into it's singular values and vectors.



   To use the svd in your own code, you need to use the svd_gpu function.  You can find the details of this
   function in svd_gpu.c.  

   To compile and run it, follow the example of test-whole-svd.c in terms of the includes, the Makefile, 
   and the function call itself.

Many of the components of the svd computation are stand alone. See additional README files for further info.
Something went wrong with that request. Please try again.