[Wien] unwanted behaviour of runsp_c_lapw
Stefaan Cottenier
Stefaan.Cottenier at fys.kuleuven.be
Wed Jun 1 17:59:31 CEST 2005
Dear all,
When I use runsp_c_lapw (in order to do an LDA+U calculation for a
nonmagnetic system in an efficient way), then it behaves not as it is
intended to do when ran in parallel mode (k-point) on a computer system
in which each cpu has its own scratch disk, not seen by other nodes
($SCRATCH = /tmp). The problem is in this part of runsp_c_lapw :
if ( "$so" == "-so" ) then
total_exec lapw1 $it0 -up $para $nohns
else
total_exec lapw1 $it0 -up $para $nohns $orb
endif
foreach i ( ${scratch}$file.vectorup* )
if (! -z $i) then
set target=`echo $i | sed s/vectorup/vectordn/`
cp $i $target <==============================
set j=`echo $i:e | cut -d _ -f 2- -s`
if ( $j ) then
cp $file.energyup_$j $file.energydn_$j <==============
else
cp $file.energyup $file.energydn
endif
endif
The two copy statements are done only once, because the 'i' is
initialized based on the the content of the scratch for one machine (it
will contain only *_1). One would need to initialize this based on a
file present in the case directory (like case.energyup_*), and the
copying of the vector files should be done on the remote nodes as well.
I assume this is easy to adapt for someone fluent in script language
(I'm not, hint...! )
Stefaan
More information about the Wien
mailing list