 ## SGESVD-- whats the max matrix taken by GESVD

General CULA Dense (LAPACK & BLAS) support and troubleshooting. Use this forum if you are having a general problem or have encountered a bug.

### SGESVD-- whats the max matrix taken by GESVD

I wanna know whats the max matrix taken by GESVD when using a Tesla C1060
4GB memory, and Is there a way to use some API to get the max dimension
or a method to compute the max matrix ?

thx for ur ideas!
lizecn

Posts: 6
Joined: Mon Oct 05, 2009 12:30 pm

### Re:SGESVD-- whats the max matrix taken by GESVD

A full SVD uses a large amount of memory. With an input matrix of A(M,N) you'll have output matrices of U(M,M) and V(N,N) in additional to the singular values and some relatively small internal workspace.

For example, if you have M=N=8192 you'll need about 1 GB of available memory for single precision. For M=N=18432, you'll use just about all available 4 GB of memory.
kyle

Posts: 301
Joined: Fri Jun 12, 2009 7:47 pm

### Re:SGESVD-- whats the max matrix taken by GESVD

so for such a SVD with a matrix of 8192X8192
it needs sizeof(A)+sizeof(U)+sizeof(VT)+sizeof(diagof(S))+samll internal workspace. now A is 8192X8192, so it needs 3*sizeof(A)+ sizeof(diagof(S))+samll internal workspace cause m=n, that is 768MB+sizeof(diagof(S))+samll internal workspace,its about 1GB. ill try it with m=n=18432.
lizecn

Posts: 6
Joined: Mon Oct 05, 2009 12:30 pm

### Re:SGESVD-- whats the max matrix taken by GESVD

Note that you can decrease the memory usage via the other job codes. (especially O and N)
john

Posts: 587
Joined: Thu Jul 23, 2009 2:31 pm

### Re:SGESVD-- whats the max matrix taken by GESVD

Actually i tried a matrix A of 18750X18750 (simple precision)
so according to the above, it needs sizof(A)+sizeof(U)+sizeof(VT)+
sizeof(diag(S))+internal workspace, that is:

3*(18750*18750*4)+ sizeof(diag(S))+internal workspace
=4023MB+sizeof(diag(S))+internal workspace

This test is passed.
lizecn

Posts: 6
Joined: Mon Oct 05, 2009 12:30 pm 