exciting :)
Actually, if you're already using LAPACK, I doubt there's much potential for further optimization on the same platform -- if you, however, know your stuff is going to only be run on Intel Xeons or so, than maybe have a look at the Intel math kernel library lapack examples. Maybe you'd want to accelerate by using GPUs, then you'd have a look at OpenCl or CUDA implementation, or theano (however, I don't know how readily available things like SVD are for theano).
One more thing: Since you're doing SVD using LAPACK yourself, I trust you've already chosen the right routine (general, fully equipped complex-valued matrix). I'm not completely convinced, though:
Have you had a look at [1]? It seems SVD $A=V \Sigma U^H$ is a two step process: First, the input matrix is decomposed into left and right unitary matrixes $U_1$ and $V_1^H$ and an bidiagonal matrix $B$ using CGEBRD, and after that, $B$ is SVD'ed, yielding $B=U_2 \Sigma V_2^H$; the product $V_1 V_2$ then is $V$. Maybe for your application $V1$ is sufficient, because you can rearrange your problem mathematically?
Greetings,
Marcus
[1] http://www.netlib.org/lapack/lug/node53.html
On 03/03/2015 08:13 AM, Hoang Ngo Khac wrote:
Dear all,
I got trouble with Singular Value Decomposition computation in GNU Radio using LAPACK. I use SVD to build a precoder for a secondary transmitter in a cognitive radio model. It takes too long times to handle a 128x144 matrix with complex entries, and therefore, the data stream to be transmitted seem to be really slow in rate.
Is there any other way to compute SVD faster? FYI, I just need the V* matrix within the result (U, S, V*).
Thanks,Hoang
--
Hoang Ngo-Khac
Research Assistant - Signal and System Lab, FET, UETVietnam National University-Hanoi (VNU-H)
G2-206, 144 Xuan Thuy, Cau Giay, Hanoi, VietnamAlternative email: hoangnk_55@vnu.edu.vnMobilephone: +84.163.682.7874
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
No comments:
Post a Comment