Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

dsygv gives floating invalid

schaefer__brandon
348 Views

Hi,

using ifort 14.0.0 20130728 on a CentOS release 6.5 (Final) with Kernel: 2.6.32-431.29.2.el6.x86_64 results in the error below when calling dsygv more than once and using the following compiler flags:

ifort -check all -traceback -fp-stack-check -fpe0 -fpe-all=0 -ftrapuv -fstack-protector-all -mp1 -g -no-opt-assume-safe-padding -openmp -mkl=parallel test.f90

./a.out

forrtl: error (65): floating invalid
Image              PC                Routine            Line        Source             
a.out              0000000000482D99  Unknown               Unknown  Unknown
a.out              0000000000481710  Unknown               Unknown  Unknown
a.out              0000000000438942  Unknown               Unknown  Unknown
a.out              000000000040C0D8  Unknown               Unknown  Unknown
a.out              000000000040FDF1  Unknown               Unknown  Unknown
libpthread.so.0    00002AF91AFFB710  Unknown               Unknown  Unknown
libmkl_core.so     00002AF919A35120  Unknown               Unknown  Unknown
libmkl_core.so     00002AF919A39F53  Unknown               Unknown  Unknown
libmkl_intel_lp64  00002AF917EDA50F  Unknown               Unknown  Unknown
a.out              00000000004087D4  MAIN__                     27  test.f90
a.out              00000000004035D6  Unknown               Unknown  Unknown
libc.so.6          00002AF91B42CD5D  Unknown               Unknown  Unknown
a.out              00000000004034C9  Unknown               Unknown  Unknown

Whereas not linking with mkl gives no errors. For example, linking with atlas:
ifort -check all -traceback -fp-stack-check -fpe0 -fpe-all=0 -ftrapuv -fstack-protector-all -mp1 -g -no-opt-assume-safe-padding -openmp -L/usr/lib64/atlas/ -llapack -lblas test.f90
will result in an executable that seems to work fine.

Please find attached a minimum working example that will reproduce the above error.

 

Best Regards,

Bastiian Schaefer

 

0 Kudos
4 Replies
Chao_Y_Intel
Moderator
348 Views

Bastiian,
Could you have a check on the new version of Intel MKL.  I check in MKL 11.2 Update 1( in the format 15.0.1)
I did not see this error:

>ifort -v
ifort version 15.0.1
>ifort -check all -traceback -fp-stack-check -fpe0 -fpe-all=0 -ftrapuv -fstack-protector-all -mp1 -g -no-opt-assume-safe-padding -openmp -mkl=parallel test.f90
> ./a.out
           0
           0

Thanks,
Chao
 

 



 

 

0 Kudos
schaefer__brandon
348 Views

Dear Chao,

currently I have no access to the latest Intel compilers. I will have to ask the cluster administrator if it is possible to install them.

Can you reproduce the issue if using ifort 14.0.0 20130728?

For the meantime, here is an additonal observation. When writing one of the input arrays of dsygv just before the call to dsygv to the stdout, the issue seems to vanish. That is, compiling the following code with ifort -check all -traceback -fp-stack-check -fpe0 -fpe-all=0 -ftrapuv -fstack-protector-all -mp1 -g -no-opt-assume-safe-padding -openmp -mkl=parallel

will result in an apparently working executable:

program test
    implicit none
    integer :: ng,i,j,info
    real(8),allocatable :: hh(:,:),ss(:,:)
    real(8),allocatable :: hh1(:,:),ss1(:,:)
    real(8),allocatable :: evec(:,:),eval(:)

    ng=20
    allocate(hh(0:ng,0:ng),ss(0:ng,0:ng))
    allocate(hh1(0:ng,0:ng),ss1(0:ng,0:ng))
    allocate(evec(0:ng,0:ng),eval(0:ng))

    open(33,file='ss')
    open(34,file='hh')
    do i=0,ng
        read(33,*)(ss1(i,j),j=0,ng)
        read(34,*)(hh1(i,j),j=0,ng)
    enddo
    close(33)
    close(34)

    do i=1,2
        ss=ss1
        hh=hh1
        write(*,*)eval
        evec=0.d0
        eval=0.d0
        call DSYGV(1,'V','L',ng+1,hh(0,0),ng+1,ss(0,0),ng+1,eval(0),&
             evec(0,0),(ng+1)**2,info)
        write(*,*)info
    enddo
end program

Note the additional write(*,*)eval statement short before the call to dsygv. Without this write statement, the code will crash with the error described in the first post.

 

Best,

Bastian

0 Kudos
Chao_Y_Intel
Moderator
348 Views

Bastian, 

I can reproduce this error in some old releases,  for example,  13.1.3, but new versions work for me. so please check if you can see the problem in the new release. 

Thanks,
Chao

0 Kudos
schaefer__brandon
348 Views

Dear Chao,

I can confirm that the problem vanished with ifort 15.0.1 20141023 and MKL 11.2.

Best,
Bastian

0 Kudos
Reply