Registered Member
|
Hi everyone!
I'm working with sparse matrices (644k x 644k) and making a product with a column (644k).
Such operation, is working well and very fast for S=400k, but with a bigger value of S, the kernel is killing the process when it reaches about 60% of my RAM, I tryed to change that last operation to:
Trying to reduce the memory consumption, but It arose an error saying that my matrices must be row major, but when I change it to row major using:
I get the following error:
Any Ideas will be great! Thanks |
Moderator
|
In Eigfen, Sparse*Dense products do not make use of any additional memory, except one temporary to avoid aliasing issue when doing: col = mat*col; (col is used both on the right and left hand-side). For a row-major matrix it is equivalent to:
VectorXf tmp(s); for (int s = 0; s < S; s++) { tmp(s) = mat.row(s).dot(col(s)); } col = tmp; Again note that the temporary here is needed. How many non-zeros does mat contain? |
Registered Member
|
Normally not least than 4.333.736 .
|
Registered users: Baidu [Spider], Bing [Bot], Google [Bot], Yahoo [Bot]