[Wien] siteconfig Wien2k 12.1
Gavin Abo
gsabo at crimson.ua.edu
Thu Sep 27 18:54:36 CEST 2012
You should only have to add the space for vec2old_lapw, because it is
the only one with "set remotecp" in it. Leaving or changing the others
should not change anything.
You don't see the lines associated with hfpara_lapw, because that is one
of the problems. You need to add it.
If you set the remote shell in siteconfig before the fix, then the
vec2old_lapw script should give the error when executed:
remotecp: Undefined variable
However, you would likely get the error when "x lapw2 -p" calls
vec2old_lapw.
You don't have to change the symbolic link. In $WIENROOT/vec2old_lapw,
just need to make sure that lines 9 and 10 have "set remotecp" and that
they haven't been changed to "set remote" by the siteconfig script
before the fix was applied.
Yes, the if statement for $mpiremote is already there. Maybe its a
correction for a previous version.
Attached is my patch file that fixes MPI_REMOTE, hfpara_lapw, and
vec2old_lapw functions in siteconfig. If there is a better patch,
please let me know.
To use the patch, place the file in the same directory as
siteconfig_lapw (must be the original script from the source package),
then do:
patch siteconfig_lapw siteconfig_lapw.patch
On 9/27/2012 8:51 AM, Zhu, Jianxin wrote:
> Dear Peter and Gavin,
>
> There are many lines (I copy/paste them below) in siteconfig_lapw having
> the similar issue as to vec2old_lapw, for example, lapwdmpara_lapw,
> opticpara_lapw etc.
> Should we fix all of them? I don't see the line associated with
> hfpara_lapw.
>
> I did choose "n" for the shared memory in the parallel setup, as shown in
> the parallel_option file
>
> setenv USE_REMOTE 1
> setenv MPI_REMOTE 1
> setenv WIEN_GRANULARITY 1
>
>
> So far, I haven't encountered the problem
>
> remotecp: Undefined variable
>
> In which situation will the above problem appear?
>
> As for when the changes to the updated script files will be effective, if
> we have already installed the program, I suspect that just redo the
> symbolic link will do the trick.
>
> Thanks,
>
> Jianxin
>
>
>
> ---- Excerpts from siteconfig_lapw ----
> ...
> echo -n " Remote shell (default is $remote) = "
> set input = ($<)
> if !("$input" == "") then
> cd $bin
> echo " Changing lapw1para"
> sed -e "s/set remote .*"'$'"/set remote = $input/" <lapw1para_lapw >tmp
> mv tmp lapw1para_lapw
> echo " Changing lapwsopara"
> sed -e "s/set remote.*"'$'"/set remote = $input/" <lapwsopara_lapw >tmp
> mv tmp lapwsopara_lapw
> echo " Changing lapw2para"
> sed -e "s/set remote .*"'$'"/set remote = $input/" <lapw2para_lapw >tmp
> mv tmp lapw2para_lapw
> echo " Changing lapwdmpara"
> sed -e "s/set remote.*"'$'"/set remote = $input/" <lapwdmpara_lapw >tmp
> mv tmp lapwdmpara_lapw
> echo " Changing opticpara"
> sed -e "s/set remote.*"'$'"/set remote = $input/" <opticpara_lapw >tmp
> mv tmp opticpara_lapw
> echo " Changing irreppara"
> sed -e "s/set remote.*"'$'"/set remote = $input/" <irreppara_lapw >tmp
> mv tmp irreppara_lapw
> echo " Changing qtlpara"
> sed -e "s/set remote.*"'$'"/set remote = $input/" <qtlpara_lapw >tmp
> mv tmp qtlpara_lapw
> echo " Changing runafm"
> sed -e "s/set remote.*"'$'"/set remote = $input/" <runafm_lapw >tmp
> mv tmp runafm_lapw
> echo " Changing vec2old"
> sed -e "s/set remote.*"'$'"/set remote = $input/" <vec2old_lapw >tmp
> mv tmp vec2old_lapw
> echo " Changing testpara"
> sed -e "s/set remote.*"'$'"/set remote = $input/" <testpara_lapw >tmp
> mv tmp testpara_lapw
> #
> chmod +x lapw1para_lapw
> chmod +x lapw2para_lapw
> chmod +x lapwsopara_lapw
> chmod +x lapwdmpara_lapw
> chmod +x opticpara_lapw
> chmod +x irreppara_lapw
> chmod +x qtlpara_lapw
> chmod +x runafm_lapw
> chmod +x vec2old_lapw
> chmod +x testpara_lapw
> echo ""
> echo " Done."
>
> wait
> endif
> ...
>
>
>
>
>
> Thanks,
>
> Jianxin
>
>
>
>
>
>
>
>
> -----Original Message-----
> From: Peter Blaha <pblaha at theochem.tuwien.ac.at>
> Reply-To: A Mailing list for WIEN2k users <wien at zeus.theochem.tuwien.ac.at>
> Date: Thu, 27 Sep 2012 15:48:09 +0200
> To: A Mailing list for WIEN2k users <wien at zeus.theochem.tuwien.ac.at>
> Subject: Re: [Wien] siteconfig Wien2k 12.1
>
>> Thanks for the mail. I can confirm the problem.
>>
>> i) It happens only for "shared memory" parallel configuration.
>> ii) It happens not only for vec2old_lapw, but also for hfpara_lapw !!!!
>>
>> If you check siteconfig, a proper "fix" was already present for
>> lapw1para and lapw2para:
>>
>> sed -e "s/set remote .*"'$'"/set remote = $input/" <lapw1para_lapw >tmp
>>
>> i.e. inserting a blank after the word "remote".
>>
>> So one should change two lines in siteconfig_lapw like:
>>
>> sed -e "s/set remote .*"'$'"/set remote = $input/" <hfpara_lapw >tmp
>> ..
>> sed -e "s/set remote .*"'$'"/set remote = $input/" <vec2old_lapw >tmp
>>
>> And as you mentioned, this helps only if you modify siteconfig_lapw
>> BEFORE you run it the first time !
>>
>> Thus in order to "fix" an existing "shared memory parallel" installation
>>
>> make sure you add a line:
>>
>> set remotecp = to vec2old_lapw and in hfpara_lapw you need:
>>
>> ...
>> if ($mpiremote == 1) then
>> set remotemachine = `head -1 .machine$mach[$loop]`
>> ($remote $remotemachine "cd $PWD;$t $ttt $vector_split;rm -f
>> .lock_$lockfile[$p]") >>.timehf_$loop &
>> else
>> ...
>>
>>
>>
>>
>>
>> Am 27.09.2012 08:34, schrieb Gavin Abo:
>>> Dear Prof. Blaha,
>>>
>>> Wien2k 12.1 users might encounter the error:
>>>
>>> remotecp: Undefined variable
>>>
>>> When n is chosen for shared memory in the parallel setup, the
>>> siteconfig_lapw script changes "set remotecp" to "set remote" in the
>>> vec2old_lapw script.
>>>
>>> Can you please check if changing
>>>
>>> sed -e "s/set remote.*"'$'"/set remote = $input/" <vec2old_lapw >tmp
>>>
>>> to
>>>
>>> sed -e "s/set remote =.*"'$'"/set remote = $input/" <vec2old_lapw >tmp
>>>
>>> is the appropriate fix (i.e., adding the " =" after "set remote")?
>>>
>>> It is noted that the vec2old_lapw script after expanding the source
>>> files, but before running ./siteconfig, must be used for the above
>>> change to work.
>>>
>>> Thanks,
>>>
>>> Gavin
>>> _______________________________________________
>>> Wien mailing list
>>> Wien at zeus.theochem.tuwien.ac.at
>>> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>> --
>> Peter Blaha
>> Inst.Materials Chemistry
>> TU Vienna
>> Getreidemarkt 9
>> A-1060 Vienna
>> Austria
>> +43-1-5880115671
>> _______________________________________________
>> 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
>
-------------- next part --------------
851a852
> if !($input == "y" || $input == "Y") then
856,858c857,860
< set MPI_REMOTE=1
< if !("$input2" == "0" ) then
< set MPI_REMOTE="$input2 "
---
> set MPI_REMOTE=0
> if ("$input2" == "1" ) then
> set MPI_REMOTE=$input2
> endif
865c867,868
< echo 'setenv MPI_REMOTE "'$MPI_REMOTE'"' >>parallel_options
---
> echo "setenv MPI_REMOTE 0" >>parallel_options
> #echo 'setenv MPI_REMOTE "'$MPI_REMOTE'"' >>parallel_options
871c874
< echo "setenv MPI_REMOTE 1" >>parallel_options
---
> echo "setenv MPI_REMOTE $MPI_REMOTE" >>parallel_options
926c929
< sed -e "s/set remote.*"'$'"/set remote = $input/" <vec2old_lapw >tmp
---
> sed -e "s/set remote .*"'$'"/set remote = $input/" <vec2old_lapw >tmp
930a934,936
> echo " Changing hfpara_lapw"
> sed -e "s/set remote .*"'$'"/set remote = $input/" <hfpara_lapw >tmp
> mv tmp hfpara_lapw
941a948
> chmod +x hfpara_lapw
More information about the Wien
mailing list