- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I need to obtain matrix Q of QR decomposition, so I've been using function *geqrf followed by *orgqr and it performs well. The problem is when I use this functions with threaded mkl where i've got good speed up with *geqrf, but no speed up with *orgqr. I've seen user's manual and it seems that *orgqr is not a threaded function; is there any other possibility to obtain the matrix Q with a threaded function??
thanks!!
Jorge
I need to obtain matrix Q of QR decomposition, so I've been using function *geqrf followed by *orgqr and it performs well. The problem is when I use this functions with threaded mkl where i've got good speed up with *geqrf, but no speed up with *orgqr. I've seen user's manual and it seems that *orgqr is not a threaded function; is there any other possibility to obtain the matrix Q with a threaded function??
thanks!!
Jorge
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jorge, you are right, all of these routines (?(or/un)gqr) are not threaded yet.
This issue has been submitted to our internal development tracking database for further investigation, we will inform you once a new update becomes available.
Here is a bug tracking number for your reference: 200206100.
--Gennady
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Are you sure that you need Q in explicit form rather than as a product of Householder vectors? Often, Q is only an intermediate result of no intrinsic interest, and is no longer needed after forming a matrix-vector product such as Q.v .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I need matrix Q because I need the nullspace of a matrix, and the nullspace of a matrix is formed by the last columns of matrix Q of the QR decomposition of this matrix. But the nullspace is not a final result, because then I use nullspace in a matrix-matrix product...so it means that someway I can perform this matrix-matrix multiplication without obtaning matrix Q in explicit form??
Thanks!!! :)
Thanks!!! :)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jorge, you are right, all of these routines (?(or/un)gqr) are not threaded yet.
This issue has been submitted to our internal development tracking database for further investigation, we will inform you once a new update becomes available.
Here is a bug tracking number for your reference: 200206100.
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Gennady!
But I have one more question...I have tested function 'dormqr()' being matrix C an identity matrix and as expected, I have same results as using 'dorgqr()' function. As we can see in the manual, 'dormqr()' is a threaded function, so I've got matrix Q faster than with 'dorgqr()', but for my surprise when I run both functions in sequential MKL 'dormqr()' is near 3 times faster than 'dorgqr()'. How is it posible if both functions make the same and 'dormqr()' also make a matrix-matrix multiplication?
thanks!! :)
Jorge
But I have one more question...I have tested function 'dormqr()' being matrix C an identity matrix and as expected, I have same results as using 'dorgqr()' function. As we can see in the manual, 'dormqr()' is a threaded function, so I've got matrix Q faster than with 'dorgqr()', but for my surprise when I run both functions in sequential MKL 'dormqr()' is near 3 times faster than 'dorgqr()'. How is it posible if both functions make the same and 'dormqr()' also make a matrix-matrix multiplication?
thanks!! :)
Jorge
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page