Hi Aanchan,

 > I had a question about the inplace_qr method. The method is an
> overloaded function, if the matrix is a dense uBlas matrix Boost matrix
> type then inplace_qr_ublas is called. If the matrix type is a ViennaCL
> type matrix, the inplace_qr_hybrid is called.

right :-)


> I understand that the QR factorization is implemented using Householder
> reflections(HHR) on the columns of an incoming matrix A. If I understand
> the behaviour of inpace_qr_hybrid, if the matrix is of a small size then
> HHRs are done on just the CPU using uBlas from Boost. Other wise if it
> is large then, the HHRs for the first few columns are done on the CPU
> and the last few columns are done on the GPU, is that right?

Yes. The algorithm is based on panels (i.e. sets of consecutive columns) 
and described in "Matrix Computation" by Golub and van Loan. In essence, 
a Householder reflection of the k-th column only depends on the k-th 
column, but affects the k-th and all subsequent columns. Thus, better 
performance can be obtained if one 'accumulates' the action of several 
subsequent columns and then applies their action simultaneously to all 
later columns (i.e. replacing matrix-vector products by matrix-matrix 
products). The matrix-matrix potion of this is executed on the GPU.



>  If I have
> compiled against a CUDA back end, I am assuming the GPU operations are
> going to be carried out using CUDA.

Yes.

> Typically what size matrices cause
> the hybrid (CPU+GPU) behaviour to kick in?

The block (panel) size is currently 16, so any matrix with more than 16 
columns is handled in this hybrid manner. I estimate that substantial 
performance gains can be obtained with larger panel sizes, e.g. 128, and 
by making the panel size depend on the number of remaining columns.

Best regards,
Karli


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
ViennaCL-devel mailing list
ViennaCL-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/viennacl-devel

Reply via email to