= Remote rendering using VNC and !ParaView Remote rendering is also possible using the Virtual Network Computing (VNC, e.g. [http://www.tigervnc.org TigerVNC] or [http://www.turbovnc.org/ TurboVNC]) package. We advice you to use the strudel application to access an interactive desktop session on JURECA. See section [wiki:vnc3d] for a detailed description of a VNC session on JURECA. Strudel provides you with the options a. to login to JURECA - login node (vis:2xGPU) to run the vnc-server on a '''visualization login node''', or b. to JURECA - compute nodes (vis 2xGPU) to run the vnc-server on JURECA's '''visualization batch nodes''': [[Image(StrudelSiteAuswahl.png)]] || '''connect to''' || || '''pro''' || '''contra''' || {{{#!td a. JURECA - login node (vis:2xGPU) }}} {{{#!td [[Image(VNCOnVisLoginNode.png, 600px)]] }}} {{{#!td * rendering on GPU * large memory * no batch job needed * no accounting (unless you start a parallel pvserver) * pvserver may run in parallel on JURECA's [#SampleParaViewSessionJURECAComputeNodes compute nodes] or [#SampleParaViewSessionJURECAVisualizationNodes visualization nodes] }}} {{{#!td * resources shared between users * in case of pvserver running separately: the node pvserver is running on has to be explicitly specified in the Server Configuration Menu of the ParaView GUI }}} |----------------------------------------------------------- {{{#!td b. JURECA - compute nodes (vis:2xGPU) }}} {{{#!td [[Image(VNCOnVisComputeNode.png, 600px)]] }}} {{{#!td * dedicated resource * rendering on GPU * large memory * pvserver may (should!) run in parallel on JURECA's visualization nodes as described [#SampleParaViewSessionJURECAVisualizationNodes here]. * ParaView GUI client and pvserver running on the same node, => connect to localhost:11111 }}} {{{#!td * accounting }}} == Starting the !ParaView GUI on the remote desktop In case you startet the VNC server with the option '-profile vis', your VNCViewer should look like this: [[Image(VNCViewer.PNG, 800px)]] Now, just double-click on the ParaView-Icon to start the ParaView client. == [=#SampleParaViewSessionJURECAComputeNodes] Starting a pvserver on JURECA's compute nodes In this section we show how to use ParaView's server side rendering capabilities on JURECA's '''compute nodes''' in a sample session step by step. 1. Open a terminal and load the modules providing the ParaView software {{{ bash-4.2$ module load Stages/Current intel-para ParaView/5.0.1-OSMesa }}} 2. Next, we allocate some resources for our ParaView server, and run the ParaView server (in this example session on 1 node, using 24 tasks) {{{ bash-4.2$ salloc --partition=devel --nodes=1 --time=00:20:00 salloc: Pending job allocation 1711109 salloc: job 1711109 queued and waiting for resources salloc: job 1711109 has been allocated resources salloc: Granted job allocation 1711109 bash-4.2$ srun --nodes=1 --ntasks=24 pvserver }}} which will produce the following output from the ParaView server: {{{ Waiting for client... Connection URL: cs://jrc0036:11111 Accepting connection(s): jrc0036:11111 }}} where {{{ jrc0036:11111 }}} is the hostname and portnumber on JURECA the server will listen to. 3. As a next step, click the Connect button in the ParaView GUI and configure a server with the corresponding hostname and portnumber as described [wiki:SampleParaViewSessionJURECA#connectToServer here] == [=#SampleParaViewSessionJURECAVisualizationNodes] Starting a pvserver on JURECA's visualization nodes In this section we show how to use ParaView's server side rendering capabilities on JURECA's '''visualization nodes''' in a sample session step by step. 1. open a terminal and load the modules providing the ParaView software {{{ bash-4.2$ module load Stages/Current intel-para ParaView }}} and set the DISPLAY environment variable as follows {{{ bash-4.2$ export DISPLAY=:0.0 }}} 2. Next, we allocate some resources for our ParaView server (this step has to be omitted in case you started a VNC session on the visualization batch nodes via strudel, since strudel allready allocated some resources for you) {{{ bash-4.2$ salloc -N 2 -p vis --gres gpu:2 --start-xserver }}} and run the ParaView server (in this example session on 2 nodes, using 48 tasks): {{{ bash-4.2$ srun --cpu_bind=none --ntasks=48 --gres=gpu:0 vglrun pvserver --use-offscreen-rendering }}} which will produce the following output from the ParaView server: {{{ Waiting for client... Connection URL: cs://jrc1391:11111 Accepting connection(s): jrc1391:11111 }}} where {{{ jrc1391:11111 }}} is the hostname and portnumber on JURECA the server will listen to. 3. As a next step, click the Connect button in the ParaView GUI and configure a server with the corresponding hostname and portnumber as described [wiki:SampleParaViewSessionJURECA#connectToServer here]