I want to store a big matrix (a 720GB variable )

1 visualización (últimos 30 días)
seokwoo
seokwoo el 14 de Abr. de 2011
I want to store a big matrix. It needs about 720GB memory.
The big matrix is used to calculate eigs fuction (to find eigenvector) as a parameter.
Is it possible to get big matrix (720GB memory or even more) by using distributed computer environment?
I have ten-computers which has 72GB memory, so I want to save the big matrix divided to 10-computers.
Then do eigs function -> result = eigs('big matrix')
So the big matrix could be recognized as one variable even if it is stored in divided computers.
Is this possible?

Respuestas (1)

Sarah Wait Zaranek
Sarah Wait Zaranek el 14 de Abr. de 2011
I can think of two ways to do this:
1. If you have a sparse matrix, then I would use the sparse data type in MATLAB and probably use a 64bit machine/OS. This will not hold the non-zero values, greatly lessening your memory footprint. d = eig(S) accepts a sparse symmetric matrix S. Otherwise, use eigs in place of eig.
2. Using distributed arrays (across multiple machines). This will do what you suggest in your question, it will create a matrix whose elements are distributed across the memory of multiple machines but can still be treated as one big matrix. To do this you need to have the MATLAB Distributed Computing Server product installed on your cluster. Here is a demo using backslash - but eig should follow the same idea since it is supported for distributed arrays.
  2 comentarios
Walter Roberson
Walter Roberson el 14 de Abr. de 2011
Unless something changed in 2011a, it is not possible to use eigs() to calculate all the eigenvalues of a sparse matrix: it errors out and says to use eig() instead.
Also, eigs is *very* slow if you are calculating more than a handful of eigenvalues
Sarah Wait Zaranek
Sarah Wait Zaranek el 14 de Abr. de 2011
Yes --> d = eigs(A) returns a vector of A's six largest magnitude eigenvalues by default.
It depends on what he needs.

Iniciar sesión para comentar.

Categorías

Más información sobre Linear Algebra en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by