[Wien] lapw1 divide by zero error

Laurence Marks L-marks at northwestern.edu
Fri Oct 28 01:39:31 CEST 2011


I am pretty sure that you have now isolated the problem to the libsvml
that you are using. The quickest method (for you) is to remove it from
the options then recompile everything, I think there are a few other
(not many) codes that use the Intel vector library. It will make the
code slightly slower, but not overwhelmingly so.

Personally, I would want to determine the issue better. If you are
using dynamic linking then "ldd $WIENROOT/lapw1" will tell you which
version of libsvml is being linked in. (If you are running on remote
nodes you need to ssh or whatever and check there as well.) You can
force dynamic linking by removing any -i-static (or similar)
compilation options. You "should" be using one which is somewhere in
the PATH for ifort, rather than an mkl version.

N.B., I don't know if you installed the ifort/mkl or someone else did.
It is not unusual to have incompatible combinations and many codes do
not care, but WIen2k is a good debugger of misconfigured systems. If
someone else installed the compilers you may want to talk to them
about updating.

On Thu, Oct 27, 2011 at 6:27 PM,  <vielmaj at onid.orst.edu> wrote:
> I tried removing the "-DINTEL_VML" and it now the scf cycle works just fine.
>  Should I leave it like this, or should I re-compile the whole thing without
> "-DINTEL_VML".  Or should I do something different.
>
> Thanks,
>
> Jason
>
> Quoting Laurence Marks <L-marks at northwestern.edu>:
>
>> The changes you made "should" not matter, since you changed the
>> complex version and TiC (and line 384) are for the real version. Two
>> thoughts:
>>
>> a) Download a clean version of SRC_lapw1 from the website, unzip/untar
>> it and do a sdiff of hamilt.F to ensure that you have changed nothing
>> else by mistake.
>>
>> b) Remove "-DINTEL_VML" from your compilation options (just for lapw1)
>> and recompile then test. If this works then you have a bad libsvml
>> and/or incompatible versions/ifort or similar. You might be picking up
>> the version from mkl rather than ifort, check the order in the linking
>> or how you are setting up, e.g. via sourcing the sh/csh compiler
>> scripts.
>>
>> If neither of these helps, I would suspect something wrong in your
>> input files -- try one of the other examples.
>>
>> N.B., I assume that you have turned on some debug options for initial
>> testing, which is wise but you will want to remove them later.
>>
>> On Thu, Oct 27, 2011 at 5:34 PM,  <vielmaj at onid.orst.edu> wrote:
>>>
>>> Hello,
>>>
>>> I am getting a divide by zero error in the lapw1 routines.
>>>
>>> I compiled with the ifort 10 and mkl 9 compilers.  To compile completely
>>> with no errors, I had to make the following changes n SRC_lapw1/hamilt.F
>>> program below for me using an older compiler.
>>>
>>> ! in case of older mk/vml you may miss vzcis (IPO Error: unresolved :
>>> vzcis_)
>>> ! Either upgrade the libraries (ifort+mkl) or:
>>> ! Comment the line below and uncomment the other ones.
>>> ! Uncomment also all other lines above where   help_tmpcos occurs
>>>
>>> !!_COMPLEX         call vzcis(j_end(ihelp),help1,help_exp)
>>> !_COMPLEX         call vdcos(j_end(ihelp),help1,help_tmpcos)
>>> !_COMPLEX         call vdsin(j_end(ihelp),help1,help_tmpsin)
>>> !_COMPLEX         do j = 1, j_end(ihelp)
>>> !_COMPLEX            help_exp(j) = dcmplx(help_tmpcos(j),help_tmpsin(j))
>>> !_COMPLEX         end do
>>>
>>> #these three lines below are also in hamilt.F that were uncommented
>>> !_COMPLEX      deallocate( help_tmpcos, help_tmpsin )
>>> !_COMPLEX      DOUBLE PRECISION, allocatable ::   help_tmpsin(:),
>>> help_tmpcos(:)
>>> !_COMPLEX      allocate( help_tmpcos(HSdim_r), help_tmpsin(HSdim_r) )
>>>
>>> Once I run the TiC example, I get this error.
>>>
>>> hup: Command not found.
>>> Invalid null command.
>>>  LAPW0 END
>>> Invalid null command.
>>> forrtl: severe (71): integer divide by zero
>>> Image              PC                Routine            Line
>>>  Source
>>> lapw1              000000000049B8F2  Unknown               Unknown
>>>  Unknown
>>> lapw1              000000000049BAF0  Unknown               Unknown
>>>  Unknown
>>> lapw1              00000000004932D4  Unknown               Unknown
>>>  Unknown
>>> lapw1              000000000042D547  hamilt_                   384
>>>  hamilt_tmp_.F
>>> lapw1              000000000041CC99  calkpt_                   156
>>>  calkpt_tmp_.F
>>> lapw1              000000000044A312  MAIN__                     61
>>>  lapw1_tmp_.F
>>> lapw1              0000000000413B4E  Unknown               Unknown
>>>  Unknown
>>> libc.so.6          00002B735713A30D  Unknown               Unknown
>>>  Unknown
>>> lapw1              0000000000413A69  Unknown               Unknown
>>>  Unknown
>>>
>>>>  stop error
>>>
>>>
>>> It links to the following line in the hamilt.F program.
>>>
>>> !_REAL            call vdcos(j_end(ihelp),help1,help_cos)
>>>
>>> Thanks for you help,
>>>
>>> Jason Vielma
>>> _______________________________________________
>>> Wien mailing list
>>> Wien at zeus.theochem.tuwien.ac.at
>>> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>>>
>>
>>
>>
>> --
>> Laurence Marks
>> Department of Materials Science and Engineering
>> Northwestern University
>> www.numis.northwestern.edu
>> "Research is to see what everybody else has seen, and to think what
>> nobody else has thought"
>> Albert Szent-Gyorgi
>> _______________________________________________
>> Wien mailing list
>> Wien at zeus.theochem.tuwien.ac.at
>> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>>
>
> _______________________________________________
> Wien mailing list
> Wien at zeus.theochem.tuwien.ac.at
> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>



-- 
Laurence Marks
Department of Materials Science and Engineering
Northwestern University
www.numis.northwestern.edu
"Research is to see what everybody else has seen, and to think what
nobody else has thought"
Albert Szent-Gyorgi


More information about the Wien mailing list