Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
50 Views

Problem with large matrix diagonalization using LAPACK subroutine

Hi,

I am using LAPACK (DSYEV) subroutine to diagonalize a real symmetric sparse matrix of dimension 20 X 20 using intel fortran complier. For this matrix dimension, the DSYEV subroutine is giving me both the eigenvalue and eigenvector without any errors. However, as soon as my matrix dimension goes to 20**4 X 20**4 then I am getting this following errors after compiling with this command-

ifort -mkl mycode.f90 

The errors are the following

/tmp/ifortbT6Gij.o: In function `MAIN__':
mycode.f90:(.text+0x47): relocation truncated to fit: R_X86_64_PC32 against `.bss'
mycode.f90:(.text+0x52): relocation truncated to fit: R_X86_64_PC32 against `.bss'
mycode.f90:(.text+0xd28): relocation truncated to fit: R_X86_64_PC32 against `.bss'
mycode.f90:(.text+0xd44): relocation truncated to fit: R_X86_64_PC32 against `.bss'
mycode.f90:(.text+0xd4c): relocation truncated to fit: R_X86_64_PC32 against `.bss'
mycode.f90:(.text+0xd54): relocation truncated to fit: R_X86_64_PC32 against `.bss'
mycode.f90:(.text+0xd78): relocation truncated to fit: R_X86_64_PC32 against `.bss'
mycode.f90:(.text+0xd80): relocation truncated to fit: R_X86_64_PC32 against `.bss'
mycode.f90:(.text+0xd9c): relocation truncated to fit: R_X86_64_PC32 against `.bss'
mycode.f90:(.text+0xda4): relocation truncated to fit: R_X86_64_PC32 against `.bss'
mycode.f90:(.text+0xdc0): additional relocation overflows omitted from the output

After getting this errors, I have decided to allocate the memory using allocate and deallocate command. After allocating the matrix and other arrays, 

although it is compiling successfully but when it is going to execute it is giving me the error "NOT ENOUGH MEMORY". 

 

I am using latest version of the intel compiler that is Intel parallel studie XE 2018. 

Is there any critical limit for the matrix dimension beyond which LAPACK can not solve or is there anything I am not taking care of it.

please help me to sort out this problem.

thanks,

noor nabi

0 Kudos
1 Reply
Highlighted
New Contributor II
50 Views

Hi noor nabi,

seeing that you didn't get an informed response yet, maybe it helps if you clarified

  • whether the error occurs during the initial allocations (i.e. as you might infer from STAT and ERRMSG diagnostics of the ALLOCATE(...) statement), or rather inside the DSYEV routine itself?
  • Since you allocate a ~200GB matrix and other arrays as well, is it unreasonable to assume the error message is right and you indeed ran out of primary memory?

Best regards
Ferdinand

 

 

 

 

0 Kudos