Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
26732 Discussions

Problem with large matrix diagonalization using LAPACK subroutine

sk_n_
Beginner
152 Views

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
Ferdinand_T_
New Contributor II
152 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

 

 

 

 

Reply