Skip to content

Stanford UFLDL tutorial cuda implementation (only linear decoder)

Notifications You must be signed in to change notification settings

raingo/ufldl-cuda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How to Run ....
A executable is included under bin/* for your convinience. It should be able to run without problem on TESLA machines. It's a little complicated (not really) to compile, so if you need to compile everything, read on. If there are still problems, please email me (yli AT cs DOT rochester DOT edu).

Depedency:
* libmatio: http://sourceforge.net/projects/matio/. (May not easy to build the static lib). What you need from building libmatio:
    * DLLs: hdf5.dll, szip.dll and zlib.dll
    * Headers: matio.h, matio_pubconf.h
    * Libs:  hdf5.lib, hdf5.pdb, hdf5_cpp.lib, hdf5_cpp.pdb, libmatio.lib, szip.lib, zlib.lib
* OWLQN: http://research.microsoft.com/en-us/downloads/b1eb1016-1738-4bd5-83a9-370c9d498a03/. What you need from OWLQN: source code

How to Build ....
Add everything into a CUDA project and make sure all depedencies are fulfilled.

How to Test ....

* gen input files: gen_*.m
* Run testing: testCuda*.cu
* Confirm results: confirm_*.m

Change Precision:
* cudaPrecisions
* DblVec in the OWLQN.h
* matrix read check data_type, class_type and data_size
* matrix write data_type and class_type
* exp -- expf -- __expf and  log -- logf -- __logf in commom.cu
* cublas S ang D
* to enable double precision, CUDA computation capability 1.3 or larger is required (needs to switch on in the nvcc compiler)
* MATLAB testing data generation, 'single' and 'double'

About

Stanford UFLDL tutorial cuda implementation (only linear decoder)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published