PCA on GPU! Does anybody know the PCA on GPU?

Hi, folks
I try to implement PCA on GPU, but my precision is bad.
I think it should be implement by others already.
Who can give me any information about it?
Thanks a lot!

I knew there is a sampe code for eigenvalue solver in CUDA SDK, but it’s for tridiagonal matrix.

PCA is usually pretty general, but there are GPU-accelerated SVD and Eigenvalue routines in the CULA Library.

Yes, CULA library supports SVD. But, CULA needs to be invoked on host. If the data is already on GPU, CULA can’t be invoked on GPU directly.

Sure it can! There is both a host interface (data on the GPU) and device interface (data on the GPU).

Thanks so much! I find this function

culaStatus culaDeviceSgesvd(char jobu, char jobvt, int m, int n, culaDeviceFloat* a, int lda, culaDeviceFloat* s, culaDeviceFloat* u, int ldu, culaDeviceFloat* vt, int ldvt);

Which are the functions in CULA which can resolve PCA?

Which are the functions in CULA which can resolve PCA?