by admin » Tue Oct 16, 2012 10:32 am
Sebastian123 wrote:
> Can I rewarm this forum to get to know the status of the SVD
> implementation?
>
> The current PLASMA SVD routine PLASMA_dgesvd does not support the
> computation of the singular vectors as for PLASMA 2.4.6. Is there any work
> going on in this direction?
>
The next PLASMA release (SC12 - mid November) will include routines for solving the singular value problem and computing the singular vectors, most likely also routines for computing a subset of the singular vectors in a shorter time.
> I also implemented my own SVD code (based on Eigen's MKL wrappers) using
> the QR subroutines PLASMA_dgeqrf and PLASMA_dorgqr, but my tests reveal
> that those are not working in parallel yet. Is that true?
>
PLASMA QR routines are parallel.
If you don't see the performance, there can be a couple of reasons.
If your matrix is "tall and skinny" you can switch to PLASMA's QR routines based on tree reductions.
Look at the slides: http://web.eecs.utk.edu/~kurzak/tutorials/ISC12/02_Kurzak_PLASMA.pdf
Slides 48, 49 explain the concept.
Slide 72 explains how to use that mode.
You may also have to tune the tile size.
Most likely you have a different problem, though.
If you are using PLASMA with MKL, you have to set MKL_NUM_THREADS to 1.
PLASMA will be messed up if you don't.
If you do, MKL is sequential.
It is a genuine problem of interfacing multithreaded libraries, to which we don't have a solution yet.
Best,
Jakub