## Memory required by eigenvalue solvers

Open forum for general discussions relating to PLASMA.

### Memory required by eigenvalue solvers

Hello,

I have a question about memory required by eigenvalue solvers (as an example in this post I use zheev). Assuming that I want to find all eigenvalues and eigenvectors of matrix M of dimension n by n I have to allocate memory equal to 3*sizeof(M) (for the actual matrix M, for descT, and for eigenvectors array Q).
When dealing with large matrices this might be a problem. Especially memory allocated for matrix M seems to be "wasted" at the output. Is the a way around it? For example like in original LAPACK where memory allocated for matrix M was used to store eigenvectors at the output?

Best Wishes
Jacek
fingolfin

Posts: 7
Joined: Wed Jan 01, 2014 6:07 pm
Location: Manchester, UK

### Re: Memory required by eigenvalue solvers

Hello,

I'll let Azzam answer with more details on why eigenvectors are not replacing M, but I just want to clarify the size of T.
T is not of size equal to M, it is a smaller than this and depends on your IB/NB settings for blocking sizes of the tile format and internal blocking of the algorithm.
So if M is made of MT by NT tiles of size MB -by - NB (in all algorithms MB=NB), descT is of size MT * IB -by- NB. By default, NB=120 and IB=20 for zheev.

In conclusion, descT is NB/IB (6 by default) times smaller tham M. That is a small difference but might be interesting. We actually have to improve that to reduce it by two.
And If you don't need eigenvectors, algorithm could be modified to destroy T on the fly and never allocate the full matrix.

Mathieu
mateo70

Posts: 101
Joined: Fri May 07, 2010 3:48 pm

### Re: Memory required by eigenvalue solvers

Thanks for clarification of descT!

Jacek
fingolfin

Posts: 7
Joined: Wed Jan 01, 2014 6:07 pm
Location: Manchester, UK

Return to User discussion

### Who is online

Users browsing this forum: Bing [Bot] and 1 guest