Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software Development Tools (Compilers, Debuggers, Profilers & Analyzers)
- Intel® Fortran Compiler
- Problem with large matrix diagonalization using LAPACK subroutine

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted
##

sk_n_

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-13-2018
03:40 AM

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

1 Reply

Highlighted
##

Ferdinand_T_

New Contributor II

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-13-2018
08:21 AM

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

For more complete information about compiler optimizations, see our Optimization Notice.