[Wien] Error in MKL 2024.2 during NMR integration

Peter Blaha peter.blaha at tuwien.ac.at
Thu Oct 30 17:16:10 CET 2025


Just a short analysis:

in integrate_current.f   some 3x3 matrix is set up and diagonalized in 
dgeev.

I guess Intel may violate the dimensions of the WORK vector (some empty 
working space for this subroutine), which in the doku has a value of 
4*N, i.e. 12
This is what we supply.
I remember that we had some problems with some mkl diagonalization in 
lapwso at some point, which we fixed by larger work-arrays than "necessary".

So if you want to try to fix it, I'd change  2 lines in integrate_current.f:


        real*8    ::  WR(3),WI(3),VL(3,3),VR(3,3),work(12)
and
                      call 
dgeev('N','V',3,tmptens,3,WR,WI,VL,3,VR,3,work,12,info)

to
        real*8    ::  WR(3),WI(3),VL(3,3),VR(3,3),work(24)
and
                      call 
dgeev('N','V',3,tmptens,3,WR,WI,VL,3,VR,3,work,24,info)

24 is just a guess. Since this is tiny anyway, you can also put 100 or so.

Regards
Peter

Am 30.10.2025 um 14:46 schrieb Michael Fechtelkord via Wien:
> The origin of the problem is in integrate_current.f
> 
> 
> calling DGEEV .. and it happens currently only for the nmr calculation 
> of analcime.. (currently using MKL 2025.3 and ifx, gcc 15.2.1)
> 
> 
> Regards,
> 
> Michael
> 
> 
>   EXECUTING:     mpirun -np 4 -machinefile .machine_nmrinteg /usr/local/ 
> WIEN2k/nmr_mpi -case Analcime_NaAlSi2O6H2O -mode integ -green
> 
> 
> Intel oneMKL ERROR: Parameter 3 was incorrect on entry to DGEBAL.
> 
> ..
> 
> Intel oneMKL ERROR: Parameter 3 was incorrect on entry to DGEBAL.
>   INFO of DGEEV in integrate_current.f          -1
>   DGEEV in integrate_current.f
> 
> ===================================================================================
> =   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
> =   RANK 1 PID 3335 RUNNING AT localhost
> =   KILLED BY SIGNAL: 9 (Killed)
> ===================================================================================
> 
> 
> Am 24.09.2025 um 11:59 schrieb Peter Blaha:
>> Hard to help.
>> The subroutine dgebal  is not called directly by the nmr program of 
>> wien2k.
>>
>>
>>
>> Am 23.09.2025 um 17:07 schrieb Michael Fechtelkord via Wien:
>>> Hello all,
>>>
>>>
>>> I experienced an error during executing integratin of the NMR Current 
>>> due to the Intel MKL library. I use ifort 2024.2, MKL 2024.2, gcc 15 
>>> 15.2 and LINUX Kernel 6.16.7-1 for open Suse Tumbleweed. Integration 
>>> was done in sequential mode. Parallel still does not work because of 
>>> the glibc error.
>>>
>>>
>>> EXECUTING:     /usr/local/WIEN2k/nmr -case Analcime_NaAlSi2O6H2O - 
>>> mode integ     -green
>>>
>>>
>>> Intel oneMKL ERROR: Parameter 3 was incorrect on entry to DGEBAL.
>>> forrtl: severe (174): SIGSEGV, segmentation fault occurred
>>> forrtl: severe (174): SIGSEGV, segmentation fault occurred
>>>
>>> stop error
>>>
>>>
>>> Has someone an idea how to fix it?
>>>
>>>
>>> Best regards,
>>>
>>> Michael
>>>
>>>
>>>
>>

-- 
-----------------------------------------------------------------------
Peter Blaha,  Inst. f. Materials Chemistry, TU Vienna, A-1060 Vienna
Email: peter.blaha at tuwien.ac.at
WWW:   http://www.imc.tuwien.ac.at      WIEN2k: http://www.wien2k.at
-------------------------------------------------------------------------



More information about the Wien mailing list