<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Maojin,<br>
<br>
when a catalyst/pvserver jobs starts just be fore launching
catalyst/pvserver you need to start up x. This can be done
non-interactively from a shell script. I'm pasting an example.<br>
<br>
hope this helps<br>
Burlen<br>
<br>
<br>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<pre style="font-size: 12px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px;"><div class="line" id="LC1" style="padding-left: 10px;"><tt>#PBS -j eo</tt></div><div class="line" id="LC2" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC3" style="padding-left: 10px;"><tt>echo "Starting ParaView..."</tt></div><div class="line" id="LC4" style="padding-left: 10px;"><tt>echo "MPI_TYPE_MAX=$MPI_TYPE_MAX"</tt></div><div class="line" id="LC5" style="padding-left: 10px;"><tt>echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"</tt></div><div class="line" id="LC6" style="padding-left: 10px;"><tt>echo "PATH=$PATH"</tt></div><div class="line" id="LC7" style="padding-left: 10px;"><tt>echo "PV_PATH=$PV_PATH"</tt></div><div class="line" id="LC8" style="padding-left: 10px;"><tt>echo "PV_NCPUS=$PV_NCPUS"</tt></div><div class="line" id="LC9" style="padding-left: 10px;"><tt>echo "PV_LOGIN_PORT=$PV_LOGIN_PORT"</tt></div><div class="line" id="LC10" style="padding-left: 10px;"><tt>echo "PV_LOGIN_HOST=$PV_LOGIN_HOST"</tt></div><div class="line" id="LC11" style="padding-left: 10px;"><tt>echo "PBS_DISPLAYS=$PBS_DISPLAYS"</tt></div><div class="line" id="LC12" style="padding-left: 10px;"><tt>echo "*PBS_DISPLAYS="`cat $PB
S_DISPLAYS`</tt></div><div class="line" id="LC13" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC14" style="padding-left: 10px;"><tt># remove this test once login nodes are online.</tt></div><div class="line" id="LC15" style="padding-left: 10px;"><tt>if [ "$PV_LOGIN_HOST" = "nautilus" ]</tt></div><div class="line" id="LC16" style="padding-left: 10px;"><tt>then</tt></div><div class="line" id="LC17" style="padding-left: 10px;"><tt> PV_LOGIN_HOST=localhost</tt></div><div class="line" id="LC18" style="padding-left: 10px;"><tt> echo "Using localhost on nautilus."</tt></div><div class="line" id="LC19" style="padding-left: 10px;"><tt>fi</tt></div><div class="line" id="LC20" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC21" style="padding-left: 10px;"><tt>cd $PV_PATH</tt></div><div class="line" id="LC22" style="padding-left: 10px;"><tt>pwd</tt></div><div class="line" id="LC23" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC24" style="padding-left: 10px;"><tt># construct an array of the displays assigned us</tt></div><div class="line" id="LC25" style="padding-left: 10px;"><tt>NDISPLAYS=`cat $PBS_DISPLAYS | wc -l`</tt></div><div class="line" id="LC26" style="padding-left: 10px;"><tt>i=0</tt></div><div class="line" id="LC27" style="padding-left: 10px;"><tt>for d in `cat $PBS_DISPLAYS`</tt></div><div class="line" id="LC28" style="padding-left: 10px;"><tt>do</tt></div><div class="line" id="LC29" style="padding-left: 10px;"><tt> # note: colon is not allowed in mpirun command line</tt></div><div class="line" id="LC30" style="padding-left: 10px;"><tt> mptd=`echo $d | cut -d: -f2`</tt></div><div class="line" id="LC31" style="padding-left: 10px;"><tt> MPT_DISPLAYS[i]=$mptd</tt></div><div class="line" id="LC32" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC33" style="padding-left: 10px;"><tt> # start an x server for each display</tt></div><div class="line" id="LC34" style="padding-left: 10px;"><tt> xinit /bin/sleep 30d -- $d -layout $d -once -terminate -ac &</tt></div><div class="line" id="LC35" style="padding-left: 10px;"><tt> X_SERVERS[i]=$!</tt></div><div class="line" id="LC36" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC37" style="padding-left: 10px;"><tt> let i=i+1</tt></div><div class="line" id="LC38" style="padding-left: 10px;"><tt>done</tt></div><div class="line" id="LC39" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC40" style="padding-left: 10px;"><tt>echo "MPT_DISPLAYS=$MPT_DISPLAYS"</tt></div><div class="line" id="LC41" style="padding-left: 10px;"><tt>echo "X_SERVERS=$X_SERVERS"</tt></div><div class="line" id="LC42" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC43" style="padding-left: 10px;"><tt>sleep 30s</tt></div><div class="line" id="LC44" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC45" style="padding-left: 10px;"><tt>DISPLAY=":${MPT_DISPLAYS[0]}" xrandr</tt></div><div class="line" id="LC46" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC47" style="padding-left: 10px;"><tt># construct the command line with displays assigned to</tt></div><div class="line" id="LC48" style="padding-left: 10px;"><tt># processes round-robin</tt></div><div class="line" id="LC49" style="padding-left: 10px;"><tt>let PV_MAX_CPU=$PV_NCPUS-1</tt></div><div class="line" id="LC50" style="padding-left: 10px;"><tt>for p in `seq 0 $PV_MAX_CPU`</tt></div><div class="line" id="LC51" style="padding-left: 10px;"><tt>do</tt></div><div class="line" id="LC52" style="padding-left: 10px;"><tt> did=`expr $p % $NDISPLAYS`;</tt></div><div class="line" id="LC53" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC54" style="padding-left: 10px;"><tt> if [ -n "$cmd" ]</tt></div><div class="line" id="LC55" style="padding-left: 10px;"><tt> then</tt></div><div class="line" id="LC56" style="padding-left: 10px;"><tt> cmd=$cmd" : "</tt></div><div class="line" id="LC57" style="padding-left: 10px;"><tt> fi</tt></div><div class="line" id="LC58" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC59" style="padding-left: 10px;"><tt> cmd=$cmd"1 $PV_PATH/bin/pvserver --x11_display_spec=${MPT_DISPLAYS[$did]} --reverse-connection --server-port=$PV_LOGIN_PORT --client-host=$PV_LOGIN_HOST"</tt></div><div class="line" id="LC60" style="padding-left: 10px;"><tt>done</tt></div><div class="line" id="LC61" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC62" style="padding-left: 10px;"><tt># run paraview</tt></div><div class="line" id="LC63" style="padding-left: 10px;"><tt>echo "cmd=$cmd"</tt></div><div class="line" id="LC64" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC65" style="padding-left: 10px;"><tt>mpirun $cmd </tt></div><div class="line" id="LC66" style="padding-left: 10px;"><tt>
</tt></div><div class="line" id="LC67" style="padding-left: 10px;"><tt># cleanup the x servers</tt></div><div class="line" id="LC68" style="padding-left: 10px;"><tt>let MAX_DISPLAY=$NDISPLAYS-1</tt></div><div class="line" id="LC69" style="padding-left: 10px;"><tt>for i in `seq 0 $MAX_DISPLAY`</tt></div><div class="line" id="LC70" style="padding-left: 10px;"><tt>do</tt></div><div class="line" id="LC71" style="padding-left: 10px;"><tt> x_serv=${X_SERVERS[i]}</tt></div><div class="line" id="LC72" style="padding-left: 10px;"><tt> kill $x_serv</tt></div><div class="line" id="LC73" style="padding-left: 10px;"><tt> echo "killed $x_serv"</tt></div><div class="line" id="LC74" style="padding-left: 10px;"><tt>done</tt></div></pre>
<br>
<br>
<br>
On 10/08/2013 02:40 AM, 谢茂金 wrote:<br>
</div>
<blockquote
cite="mid:1164f4f.3fd13.14197706fc9.Coremail.xiemaojin@sccas.cn"
type="cite">
<style>
BLOCKQUOTE {
        MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em; MARGIN-TOP: 0px
}
OL {
        MARGIN-BOTTOM: 0px; MARGIN-TOP: 0px
}
UL {
        MARGIN-BOTTOM: 0px; MARGIN-TOP: 0px
}
P {
        MARGIN-BOTTOM: 0px; MARGIN-TOP: 0px
}
BODY {
        FONT-SIZE: 10.5pt; FONT-FAMILY: 微软雅黑; COLOR: #000000; LINE-HEIGHT: 1.5
}
</style>
<div><span lang="EN-US"><font face="Calibri">Hi All</font><font
face="宋体">,</font></span></div>
<div>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"><o:p><font face="Calibri"> </font></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"><font face="Calibri">I'm annoying by a Paraview
catalyst problem. When doing parallel live data insitu
visualization in client-server mode, I have to manually
login to all desktops of all server nodes first, else
it'll complain that "cannot connect to X Server"<span
style="mso-spacerun: yes"> </span></font></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><b
style="mso-bidi-font-weight: normal"><span lang="EN-US"><o:p><font
face="Calibri"> </font></o:p></span></b></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"><font face="Calibri">As our simulation cluster
equips with two CUDA enable GPU cards in each node, how
should I configure it to make Paraview take use of GPU
acceleration function while don't need to login to
desktops each time I decide to launch a parallel
visualization task?</font></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"><o:p><font face="Calibri"> </font></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"><font face="Calibri">I have some fundamental
knowledge about parallel visualization with OpenGL and
Cg/GLSL under Linux cluster, that's I have to configure
XDisplay under /etc/X11/xorg.conf and call XOpenDisplay()
in my code to make GPU acceleration available. Does this
similar to paraview or help to understand the Paraview's
style?</font></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"><o:p><font face="Calibri"> </font></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"><font face="Calibri">BTW, is there a way to
make the visualization nodes available to multiple end
users? <span style="mso-spacerun: yes"> </span>Currently,
if one login to the node’s desktop, others cannot login to
the nodes’ desktop again.</font></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"><o:p><font face="Calibri"> </font></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"><font face="Calibri">My environment is a GPU
cluster, <span style="mso-spacerun: yes"> </span>CentOS
and Paraview 4.0.0</font></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"><o:p><font face="Calibri"> </font></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"><font face="Calibri">Thank you.</font></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span
lang="EN-US"></span> </p>
</div>
<hr style="HEIGHT: 1px; WIDTH: 210px" color="#b5c4df" align="left"
size="1">
<div><span>Maojin XIE</span></div>
<div><span></span> </div>
<br>
<br>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Powered by <a class="moz-txt-link-abbreviated" href="http://www.kitware.com">www.kitware.com</a>
Visit other Kitware open-source projects at <a class="moz-txt-link-freetext" href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a>
Please keep messages on-topic and check the ParaView Wiki at: <a class="moz-txt-link-freetext" href="http://paraview.org/Wiki/ParaView">http://paraview.org/Wiki/ParaView</a>
Follow this link to subscribe/unsubscribe:
<a class="moz-txt-link-freetext" href="http://www.paraview.org/mailman/listinfo/paraview">http://www.paraview.org/mailman/listinfo/paraview</a>
</pre>
</blockquote>
<br>
</body>
</html>