[Wien] small issue in k-point parallellization script lapwsopara
Peter Blaha
pblaha at zeus.theochem.tuwien.ac.at
Mon Mar 15 09:19:17 CET 2004
Thank you very much for this report.
Aparently we had fixed such a problem in lapw2, but it was never tested
with lapwso.
I'll fix lapwso_para the same way as done in lapw2para_lapw.
Regards
> 1/ In the beginning of lapw2para, we find :
>
> set machine = `grep $init .processes | cut -f2 -d: | xargs`
> if ($#machine > $maxproc) then
> set machine = `grep $init .processes |head -$maxproc| cut -f2 -d: | xargs`
> endif
>
> $maxproc is the number of machines actually used by lapw1para, and $machine contains all the machines in .machines. $Maxproc may be greater than, equal to, or smaller than the number of machines in $machine.
>
> From these instructions we learn that, if the number of remote jobs (related to number of k-points) is less than the number of available machines, then machines not used by lapw1para, will also not be used for lapw2para. It does not appear to be a limitation in any way ; the remote jobs would be launched on these first $maxproc machines of $machine anyway.
>
> 2/ In lapwsopara, we find only :
>
> set machine = `grep $init .processes |cut -f2 -d: | xargs`
>
> So in this case, all machines are considered. However, in the section 'postanalysis' we read :
> # postanalysis
> echo " Summary of lapwsopara:" >$tmp
> set p = 1
> while ($p <= $#machine)
> set m = $runmach[$p]
> cat .timeso_* | grep $m | tr "():" " " | \
> awk '{u += $2; cl += 60*$4+$5} \
> END {print " '$m'\t user=" u "\t wallclock=" cl}' >>$tmp
> @ p ++
> end
>
> $runmach contains the machines that were used. $machine again contains the available machines - but now ALL available machines. In the case where more machines are available than is necessary (eg., I make five machines available in .machines, but use only 3 k-points in k-point parallellization), my calculation actually crashes ... due to this stupid issue in postanalysis - the actual calculation is fine !!! :
> runmach: Subscript out of range.
>
> 3/ I propose therefore to change in the postanalysis of lapwsopara the statement
> while ($p <= $#machine)
> to
> while ($p <= $#runmach)
>
>
> Equivalently, one could go for the 'lapw2para - approach', which also avoids the postanalysis problem.
> Lapw1para works differently (no runmach there), and doesn't seem to have any problem of this kind.
>
>
> regards,
>
> Kevin.
>
>
P.Blaha
--------------------------------------------------------------------------
Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
Phone: +43-1-58801-15671 FAX: +43-1-58801-15698
Email: blaha at theochem.tuwien.ac.at WWW: http://info.tuwien.ac.at/theochem/
--------------------------------------------------------------------------
More information about the Wien
mailing list