LAPACK Archives

[Lapack] Problem with matrices bigger than 4GB


You are probably running out of 32-bit integer index space.  By default FORTRAN 
uses 32-bit signed integers, and since 50000^2 > 2^31, for the 50000 size 
matrix you could be accessing an array with an illegal index, which would cause 
the seg fault.  The way around this is to recompile LAPACK, BLAS and your 
application with 64-bit (integer*8) default integer types.  For example, with 
gfortran the option is -fdefault-integer-8.



On Apr 27, 2012, at 9:29 AM, <sarah.wulf@Domain.Removed> wrote:

Dear Lapack Team,

I have a question concerning internal restrictions according to the  
size of the matrices.
I am using SSYEVX and my code works well with matrix dimensions up to  
30000x30000 using real*4 (less than 4GB memory).
I have tried to enlarge the dimension to 50000 or 70000. After approx.  
10 hours calculation after calling SSYEVX the only result is a  
segmentation fault. I expected the need of about 12 to 20 GB RAM. Are  
there any restrictions?

I am using a node of a compute cluster with 256 GB RAM, AMD Opteron  
processor and CentOS 64bit Linux system. Below you can see an extract  
of my program.

Thank you in advance. I am looking forward to read from you. I really  
could need some help.

Kind regards,


       integer*4 dim,lwork,liwork,nfdim

       PARAMETER (dim=71000)
       PARAMETER (lwork= 80000000)
       PARAMETER (liwork=80000000)
       PARAMETER (nfdim=71000)

       real*4 C(dim,dim),xx(dim,nfdim)
       real*4 work(lwork),lambda(dim)
       real*4 abstol,vl,vu

       integer*4 iwork(liwork),mm,il,iu,ifail(dim),ier

C      set up of matrix C ......, nmax <= dim

       call SSYEVX('V','I','U',nmax,c,dim,
     1   vl,vu,il,iu,abstol,mm,lambda,xx,dim,work,lwork,iwork,ifail,ier)

Sarah F. Wulf

CellNetworks-Cluster of Excellence (EXC81), BioQuant,
Heidelberg University
Im Neuenheimer Feld 267
69120 Heidelberg, Germany

Tel. +49-(0)6221-5451349
e-mail  sarah.wulf@Domain.Removed

Lapack mailing list

<Prev in Thread] Current Thread [Next in Thread>

For additional information you may use the LAPACK/ScaLAPACK Forum.
Or one of the mailing lists, or