[Wien] WIEN2k 12 fft_modules
Laurence Marks
L-marks at northwestern.edu
Sun Jul 29 22:54:39 CEST 2012
Almost certainly it is trickier than this. I expect that -O1 is
truncating relevant variables to real*4 which is leading to problems.
With -O2 the compiler may well be not bothering to truncate and, at
the end of the space allocated for the variable, by luck the correct
values are present. This is luck; the same type of bug can in other
cases lead to segmentation violations when code gets overwritten.
N.B., I think there are only two places where real*4 variables are
used, in parts of aim and for storage of the Hamiltonian in lapw1.
Everything else should be real*8.
On Sun, Jul 29, 2012 at 3:05 PM, Gavin Abo <gsabo at crimson.ua.edu> wrote:
> I didn't use -r8. However, you are right. The scf cycle works
> correctly if I use "-O1 -r8".
>
> So the higher optimizations -O2 and -O3 must be invoking the use of -r8,
> whereas -O0 and -O1 should be using the default -r4.
>
> On 7/29/2012 1:40 PM, Laurence Marks wrote:
>> I have not tested, but it looks like you are probably right. There may
>> be other cases where variables are not explicitly defined to be 8
>> bytes which are normally hidden by the use of "-r8". Did you use -r8?
>>
>> On Sun, Jul 29, 2012 at 1:57 PM, Gavin Abo <gsabo at crimson.ua.edu> wrote:
>>> Dear Prof. Blaha,
>>>
>>> Thanks, the scf cycle runs correctly using -O2 or -O3 with the new
>>> files for the "fftpack" routines. However, the scf cycle of the TiC
>>> example does not converge with -O1 (in the lapw0 makefile) with wrong
>>> values in TiC.output0 such as the plane wave contribution. I don't
>>> know whether the problem is reproducible on another system.
>>>
>>> It seems to be due to "IMPLICIT REAL*8 (A-H,O-Z)" not being in the
>>> PIMACH function at the end of the fortran file fftpack_helpers.f.
>>> This line is in the function in the old file zfft3d.F.
>>>
>>> Kind Regards,
>>>
>>> Gavin
>>>
>>> On Thu, Jul 26, 2012 at 1:42 AM, Peter Blaha
>>> <pblaha at theochem.tuwien.ac.at> wrote:
>>>> Thank's for the report.
>>>>
>>>> The problem concerns lapw0, when compiled in sequential mode WITHOUT
>>>> -DFFTW2 or -DFFTW3
>>>> in the Makefile (i.e. using the old "fftpack" routines instead of the new
>>>> and faster fftw library).
>>>>
>>>> The fix suggested in the mail below does not work. Instead, you have to
>>>> replace the 3 attached
>>>> subroutines and recompile. (eramps.f, fft_modules.F fftpack_helpers.f)
>>>>
>>>> A corrected version is on the web.
>>>>
>>>> PB
>>>>
>>>>
>>>> Am 25.07.2012 23:21, schrieb Gavin Abo:
>>>>> Dear Prof. Blaha,
>>>>>
>>>>> When I run the TiC example with WIEN2k 12 "without" k-point or mpi
>>>>> parallelization, the program stops in lapw2 with the error shown below.
>>>>> Here lapw2 cannot read the TiC.energy
>>>>> file, because it is missing data in it as lapw0 gives bad output such as a
>>>>> Density Integral with the value NaN in TiC.output0.
>>>>>
>>>>> The problem seems to be related to the new fft module.
>>>>>
>>>>> If lines 536-538 and 612-614 in SRC_lapw0/fft_modules.F:
>>>>>
>>>>> N2 = N+N
>>>>> DO 117 I=1,N2
>>>>> C(I) = CH(I)
>>>>>
>>>>> are both changed to:
>>>>>
>>>>> DO 117 I=1,N
>>>>> C(I) = CH(I)
>>>>>
>>>>> Then, the error goes way. On my system, N was the number 64. The array C
>>>>> had a size of 64, such that the loop is indexing outside the array (N2 =
>>>>> 128).
>>>>>
>>>>> In Wien2k 11, TiC.output0 had:
>>>>>
>>>>> PLANE WAVE CONTRIBUTION -0.235589
>>>>> :DEN : DENSITY INTEGRAL = -754.35311720 (Ry)
>>>>>
>>>>> In Wien2k 12 with both changes made in fft_modules.F, TiC.output0 had:
>>>>>
>>>>> PLANE WAVE CONTRIBUTION -0.049778
>>>>> :DEN : DENSITY INTEGRAL = -753.97972930 (Ry)
>>>>>
>>>>> The density integral value is about the same, but the plane wave
>>>>> contribution value may be significantly different. So I'm not completely
>>>>> sure if my change is correct.
>>>>> Therefore, please let me know if a different change is needed.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Gavin
>>>>>
>>>>> forrtl: severe (59): list-directed I/O syntax error, unit 30, file
>>>>> /home/gavin/wien/wiendata/TiC/TiC.energy
>>>>> Image PC Routine Line Source
>>>>> lapw2 000000000053676A Unknown Unknown Unknown
>>>>> lapw2 0000000000535266 Unknown Unknown Unknown
>>>>> lapw2 00000000004DFA30 Unknown Unknown Unknown
>>>>> lapw2 000000000049BDEF Unknown Unknown Unknown
>>>>> lapw2 000000000049B2F7 Unknown Unknown Unknown
>>>>> lapw2 00000000004C10B3 Unknown Unknown Unknown
>>>>> lapw2 0000000000437F93 fermi_tetra_ 516 fermi_tmp_.F
>>>>> lapw2 0000000000437423 fermi_ 111 fermi_tmp_.F
>>>>> lapw2 00000000004721BA MAIN__ 278 lapw2_tmp_.F
>>>>> lapw2 0000000000403C9C Unknown Unknown Unknown
>>>>> libc.so.6 00002B3BE2AF5C8D Unknown Unknown Unknown
>>>>> lapw2 0000000000403B99 Unknown Unknown Unknown
>>>>>
>>>> --
>>>>
>>>> P.Blaha
>>>> --------------------------------------------------------------------------
>>>> Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
>>>> Phone: +43-1-58801-165300 FAX: +43-1-58801-165982
>>>> Email: blaha at theochem.tuwien.ac.at WWW:
>>>> http://info.tuwien.ac.at/theochem/
>>>> --------------------------------------------------------------------------
>>>>
>>> _______________________________________________
>>> 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
--
Professor Laurence Marks
Department of Materials Science and Engineering
Northwestern University
www.numis.northwestern.edu 1-847-491-3996
"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