C++ Library for operations on Matrix (orthogonal basis)

I need to do find orthogonal basis of random weights using GPU in a certain Machine learning Algoithm . Is there any C++/C library that supports this function ?

Is there a library available for use on CPUs that provides the required / desired functionality?

I don’t know ! I was using Matlab to do that. I was reading that it can be found using SVD and rank of matrix. So if you could tell me a good library for SVD and rank, then I could work it out .

I was was under the impression that MATLAB offers quite extensive GPU support, have you checked into that? In fact, checking the MATLAB online documentation, I see “svd” listed under GPU-accelerated functionality, although as someone who has never used MATLAB, I cannot tell whether that refers to the functionality you need: http://www.mathworks.com/help/distcomp/run-built-in-functions-on-a-gpu.html

For machine learning, NVIDIA ships the CUDNN library. I have no idea what functionality it comprises, as I have never used it, but it wouldn’t hurt to check: https://developer.nvidia.com/cuDNN

Sorry about the confusion, I need C++/C library for that . I have updated question !