[Wien] Problem with k-parallel

Maciej Polak maciej.polak at pwr.edu.pl
Thu Mar 10 22:51:00 CET 2016


Dear Prof. Blaha,

Thank you very much for your support. I changed the code according to 
your suggestions and it seems to work better now. I will be testing it 
though and let you know if any other issues arise.

Thanks again,

Best regards,

Maciej Polak



On 03/09/2016 05:06 PM, Peter Blaha wrote:
> Just put it to /tmp.
>
> (There was a suggestion in the mailing list that someone wanted to 
> change /tmp to some other directory, which is tedious in the old 
> versions. With a variable $tmp_dir  this is "easy" to change and will 
> be active in the next release.
>
>
> On 03/09/2016 04:27 PM, Maciej Polak wrote:
>> Dear Prof. Blaha,
>>
>> Thank you for your answer. I found the appropriate part of my 
>> lapw2para and substituted it with what you suggested.
>> However, one of the changes that I notice here is that you changed 
>> tmp for $tmp_dir. This $tmp_dir is a new variable which is not 
>> recognized by my script (tmp_dir: Undefined variable.). What is the 
>> meaning of this variable?
>>
>> Thank you again for finding the time to reply to my email.
>>
>> Best regards,
>>
>> Maciej Polak
>>
>> P.S In case you need it, I post the unmodified part of my code:
>>
>>
>> set i = 1
>> while ($i <= $maxproc)
>> # if ($debug > 0) echo -n "$i "
>>   cp $def.def /tmp/.tmp.$user.$$
>>   #subsituting in files:
>>   cat <<theend >/tmp/.script.$user.$$
>>
>> s/vectorso$dnup/&_$i/w /tmp/.mist.$user.$$
>> s/vectorso$updn/&_$i/w /tmp/.mist.$user.$$
>> s/vectordum$dnup/&_$i/w /tmp/.mist.$user.$$
>> s/vectordum$updn/&_$i/w /tmp/.mist.$user.$$
>> s/vector$dnup/&_$i/w /tmp/.mist.$user.$$
>> s/vector$updn/&_$i/w /tmp/.mist.$user.$$
>> s/energyso$dnup/&_$i/w /tmp/.mist.$user.$$
>> s/energyso$updn/&_$i/w /tmp/.mist.$user.$$
>> s/energydum/&_$i/w /tmp/.mist.$user.$$
>> s/energy$dnup/&_$i/w /tmp/.mist.$user.$$
>> s/energy$updn/&_$i/w /tmp/.mist.$user.$$
>> s/\(weigh$dnup\)'/\1_$i'/w /tmp/.mist.$user.$$
>> s/\(weigh$updn\)'/\1_$i'/w /tmp/.mist.$user.$$
>> s/\(weightaverso$updn\)'/\1_$i'/w /tmp/.mist.$user.$$
>> s/normso$dnup/&_$i/w /tmp/.mist.$user.$$
>> s/normso$updn/&_$i/w /tmp/.mist.$user.$$
>> s/output2${updn}$eece/&_$i/w /tmp/.mist.$user.$$
>> s/clmval${updn}$eece/&_$i/w /tmp/.mist.$user.$$
>> s/vrespval$updn/&_$i/w /tmp/.mist.$user.$$
>> s/dmat$updn/&_$i/w /tmp/.mist.$user.$$
>> s/scf2$updn/&_$i/w /tmp/.mist.$user.$$
>> s/help$updn/&_$i/w /tmp/.mist.$user.$$
>> s/almblm$updn/&_$i/w /tmp/.mist.$user.$$
>>
>> theend
>>
>>   sed -f /tmp/.script.$user.$$ /tmp/.tmp.$user.$$ > /tmp/.tmp1.$user.$$
>>   sed "s/vector_${i}dn_$i/vectordn_$i/" 
>> /tmp/.tmp1.$user.$$>/tmp/.tmp2.$user.$$
>>   sed "s/vector_${i}up_$i/vectorup_$i/" 
>> /tmp/.tmp2.$user.$$>/tmp/.tmp1.$user.$$
>>   sed "s/vector_${i}so_$i/vectorso_$i/" 
>> /tmp/.tmp1.$user.$$>/tmp/.tmp2.$user.$$
>>   sed "s/energy_${i}up_$i/energyup_$i/" 
>> /tmp/.tmp2.$user.$$>/tmp/.tmp1.$user.$$
>>   sed "s/energy_${i}dn_$i/energydn_$i/" 
>> /tmp/.tmp1.$user.$$>/tmp/.tmp2.$user.$$
>>   sed "s/energy_${i}so_$i/energyso_$i/" 
>> /tmp/.tmp2.$user.$$>/tmp/.tmp1.$user.$$
>>   sed "s/energyso_${i}dn_$i/energysodn_${i}/" 
>> /tmp/.tmp1.$user.$$>/tmp/.tmp2.$u$
>>   sed "s/energy_${i}dum_$i/energydum_$i/" 
>> /tmp/.tmp2.$user.$$>/tmp/.tmp1.$user.$
>>   sed "s/vector_${i}so_${i}dn_$i/vectorsodn_$i/" 
>> /tmp/.tmp1.$user.$$>/tmp/.tmp2$
>>   sed "s/vector_${i}dum_${i}dn_$i/vectordumdn_$i/" 
>> /tmp/.tmp2.$user.$$>"$def"_$$
>>   @ i ++
>> end
>>
>>
>> W dniu 09/03/16 13:45 Peter Blaha <pblaha at theochem.tuwien.ac.at> 
>> napisał:
>>>
>>> Hi,
>>>
>>> Yes, we had have recently also such a problem. It comes from slow 
>>> disk I/O.
>>>
>>> A fie like /tmp/.tmp2.mpolak.50255
>>>
>>> is a temporary file created by lapw2para and is used when we modify 
>>> the lapw2_xx.def files by a couple of sed commands.
>>>
>>> Because of this I've reduced the sed commands in my version of 
>>> lapw2para. Unfortunately, I cannot post the script because it will 
>>> not be compatible with your WIEN2k version, but I can tell you what 
>>> we did and since then these errors did not show up anymore.
>>>
>>> Please identify the following lines in your lapw2para and modify it 
>>> like shown below:
>>> ...
>>> #creating def files
>>> set i = 1
>>> while ($i <= $maxproc)
>>> # if ($debug > 0) echo -n "$i "
>>> cp $def.def $tmp_dir/.tmp.$user.$$
>>> #subsituting in files:
>>> cat <<theend >$tmp_dir/.script.$user.$$
>>> s/vectorso$dnup/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/vectorso$updn/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/vectordum$dnup/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/vectordum$updn/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/vector$dnup'/vector${dnup}_$i'/w $tmp_dir/.mist.$user.$$
>>> s/vector$updn'/vector${updn}_$i'/w $tmp_dir/.mist.$user.$$
>>> s/energyso$dnup/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/energyso$updn/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/energydum/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/energy$dnup'/energy${dnup}_$i'/w $tmp_dir/.mist.$user.$$
>>> s/energy$updn'/energy${updn}_$i'/w $tmp_dir/.mist.$user.$$
>>> s/\(weigh$dnup\)'/\1_$i'/w $tmp_dir/.mist.$user.$$
>>> s/\(weigh$updn\)'/\1_$i'/w $tmp_dir/.mist.$user.$$
>>> s/\(weightaverso$updn\)'/\1_$i'/w $tmp_dir/.mist.$user.$$
>>> s/normso$dnup/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/normso$updn/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/output2${updn}$eece/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/clmval${updn}$eece/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/vrespval$updn/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/dmat$updn/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/scf2$updn/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/help$updn/&_$i/w $tmp_dir/.mist.$user.$$
>>> s/almblm$updn/&_$i/w $tmp_dir/.mist.$user.$$
>>>
>>> theend
>>>
>>> sed -f $tmp_dir/.script.$user.$$ $tmp_dir/.tmp.$user.$$ > 
>>> $tmp_dir/.tmp1.$user.$$
>>> mv $tmp_dir/.tmp1.$user.$$ "$def"_$i.def
>>>
>>> # sed "s/vector_${i}dn_$i/vectordn_$i/" 
>>> $tmp_dir/.tmp1.$user.$$>$tmp_dir/.tmp2.$user.$$
>>> # sed "s/vector_${i}up_$i/vectorup_$i/" 
>>> $tmp_dir/.tmp2.$user.$$>$tmp_dir/.tmp1.$user.$$
>>> # sed "s/vector_${i}so_$i/vectorso_$i/" 
>>> $tmp_dir/.tmp1.$user.$$>$tmp_dir/.tmp2.$user.$$
>>> # sed "s/energy_${i}up_$i/energyup_$i/" 
>>> $tmp_dir/.tmp2.$user.$$>$tmp_dir/.tmp1.$user.$$
>>> # sed "s/energy_${i}dn_$i/energydn_$i/" 
>>> $tmp_dir/.tmp1.$user.$$>$tmp_dir/.tmp2.$user.$$
>>> # sed "s/energy_${i}so_$i/energyso_$i/" 
>>> $tmp_dir/.tmp2.$user.$$>$tmp_dir/.tmp1.$user.$$
>>> # sed "s/energyso_${i}dn_$i/energysodn_${i}/" 
>>> $tmp_dir/.tmp1.$user.$$>$tmp_dir/.tmp2.$user.$$
>>> # sed "s/energy_${i}dum_$i/energydum_$i/" 
>>> $tmp_dir/.tmp2.$user.$$>$tmp_dir/.tmp1.$user.$$
>>> # sed "s/vector_${i}so_${i}dn_$i/vectorsodn_$i/" 
>>> $tmp_dir/.tmp1.$user.$$>$tmp_dir/.tmp2.$user.$$
>>> # sed "s/vector_${i}dum_${i}dn_$i/vectordumdn_$i/" 
>>> $tmp_dir/.tmp2.$user.$$>"$def"_$i.def
>>> @ i ++
>>> end
>>>
>>> As you can see, all these additional sed commands are now commented, 
>>> since after the modifications of the .script.xx file they are not 
>>> needed anymore.
>>>
>>>
>>> On 03/08/2016 03:44 PM, Maciej Polak wrote:
>>>> Dear WIEN2k users and developers,
>>>>
>>>> I encountered a very strange problem. Sometimes (50/50 chance), the 
>>>> calculations using just k-parallel will not finish. This exact same 
>>>> case, when submitted again (it sometime takes more tries) finishes 
>>>> with no problem. Sometimes it crashes after a few iterations, 
>>>> sometimes after a hundred or more, and sometimes it just finishes 
>>>> successfully.
>>>>
>>>> This is what I get in the output:
>>>>
>>>> sed: can't read /tmp/.tmp2.mpolak.50255: No such file or directory
>>>> cp: cannot stat `.in.tmp': No such file or directory
>>>>
>>>>
>>>> There is also an error in stderr:
>>>>
>>>> forrtl: No such file or directory
>>>> forrtl: severe (29): file not found, unit 20, file 
>>>> /lustre/scratch/tmp/pbs.1275300.achilles/MoS2_LDA/fort.20
>>>> Image PC Routine Line Source
>>>> lapw2 00000000004B3E37 Unknown Unknown Unknown
>>>> lapw2 00000000004D5BE0 Unknown Unknown Unknown
>>>> lapw2 000000000048140D MAIN__ 155 lapw2_tmp_.F
>>>> lapw2 0000000000403F0E Unknown Unknown Unknown
>>>> libc.so.6 00002B1F2CD53D5D Unknown Unknown Unknown
>>>> lapw2 0000000000403E19 Unknown Unknown Unknown
>>>>
>>>>
>>>> Do you have any idea what may be the cause of this? Running on just 
>>>> one CPU is always fine. There is certainly no error in my input 
>>>> file, because after a few tries this exact same case will 
>>>> eventually finish correctly.
>>>>
>>>> Thank you for your help
>>>>
>>>> Maciej Polak
>>>> _______________________________________________
>>>> Wien mailing list
>>>> Wien at zeus.theochem.tuwien.ac.at
>>>> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>>>> SEARCH the MAILING-LIST at: 
>>>> http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
>>>>
>>>
>>> -- 
>>>
>>> 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 WIEN2k: http://www.wien2k.at
>>> WWW: http://www.imc.tuwien.ac.at/staff/tc_group_e.php
>>> -------------------------------------------------------------------------- 
>>>
>>> _______________________________________________
>>> Wien mailing list
>>> Wien at zeus.theochem.tuwien.ac.at
>>> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>>> SEARCH the MAILING-LIST at: 
>>> http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
>> _______________________________________________
>> Wien mailing list
>> Wien at zeus.theochem.tuwien.ac.at
>> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>> SEARCH the MAILING-LIST at: 
>> http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
>>
>



More information about the Wien mailing list