[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