How to compute k largest eigen values on GPU?

Go To StackoverFlow.com

5

I'm working on parallel algorithm for spectral clustering for which I need to calculate K largest eigen values.I'm using Jacket plugin for Matlab but sadly it doesn't support EIGS function in matlab(It is not able to calculate K eigen values in parallel)Can anyone please suggest some other tool/library to do this task on GPU?Or Can I still do this in GPU assisted Matlab?

2012-04-03 21:35
by username_4567
Numerically speaking, you could write a GPU implementation of the QR algorithm for the eigenvalue problem. Alternatively look for a GPU-compatible version of any method presented here:http://cseweb.ucsd.edu/classes/fa04/cse252c/sakumar.pdf .I'm not aware of any ready-to-use gpu-library for the eigenvalue proble - chemeng 2012-04-03 23:30
EIGS is for sparse matrices. Do you require sparse matrices or can you use EIG (which Jacket supports) for dense matrices - arrayfire 2012-04-03 23:38
There is CULA which can do eigenvalue problems allright, but only in the dense version - leftaroundabout 2012-04-03 23:50
@leftaroundabout You are right. Note that Jacket includes CULA for these problems, so when you're using Jacket you get CULA-powered functions too - arrayfire 2012-04-04 00:29
I tried using EIG function in Matlab but it says Empty Input.My matrix is relatively sparse so i guess EIG is not workin - username_4567 2012-04-04 05:32
EIGS is not supported in Matlab...how can I acheive this task - username_4567 2012-04-05 13:05


2

I can't respond to chemeng in the comment list above, but I know of a pretty good paper on GPU-based QR-decomposition: http://users.ece.gatech.edu/~mrichard/Kerr_Campbell_Richards_QRD_on_GPUs.pdf

Also, does the svd() command work for jacket? The singular values are just the squares of the eigenvalues.

2012-05-27 17:04
by Adam27X
Ads