[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