- Infos im HLRS Wiki sind nicht rechtsverbindlich und ohne Gewähr -
- Information contained in the HLRS Wiki is not legally binding and HLRS is not responsible for any damages that might result from its use -
CRAY XE6 Graphic Environment
For graphical pre- and post-processing purposes 3 visualisation nodes have been integrated into the external nodes of the CRAY XE6. The nodes are equipped with a nVIDIA Quadro 6000 with 6GB memory, 32 cores CPU and 128 GB of main memory. Access to a single node is possible by using the node feature mem128gb.
user@eslogin001>qsub -I -lnodes=1:mem128gb
To use the graphic hardware for remote rendering there are currently two ways tested. The first is via TurboVNC the second one is directly via VirtualGL.
VNC Setup
If you want to use the CRAY XE6 Graphic Hardware e.g. for graphical pre- and post-processing, on way to do it is via a vnc-connection. For that purpose you have to download/install a VNC viewer to/on your local machine.
E.g. TurboVNC comes as a pre-compiled package which can be downloaded from http://www.virtualgl.org/Downloads/TurboVNC. For Fedora 13 the package tigervnc is available via yum installer.
Other VNC viewers can also be used but we recommend the usage of TurboVNC, an accelerated version of TightVNC designed for video and 3D applications, since we run the TurboVNC server on the visualisation nodes and the combination of the two components will give the best performance for GL applications.
Preparation of CRAY XE6
Before using vnc for the first time you have to log on to one of the hermit front ends (hermit1.hww.de), load the module "VirtualGL"
module load tools/VirtualGL
and run
vncpasswd
which creates you a .vnc directory in your home containing a passwd file.
Starting the VNC server
To start a VNC session you simply have to login to one of the front ends (hermit1.hww.de) via ssh.
user@client>ssh hermit1.hww.de
Then load the VirtualGL module to setup the VNC environment and launch the VNC startscript.
user@eslogin001>module load tools/VirtualGL user@eslogin001>vis_via_vnc.sh
This will set up a default VNC session with one hour walltime running a TurboVNC server with a resolution of 1240x900. To control the configuration of the VNC session the vis_via_vnc.sh script has three optional parameters.
vis_via_vnc.sh [walltime] [geometry] [x0vnc]
where walltime can be specified in format hh:mm:ss or only hh.
The geometry option sets the resolution of the Xvnc server launched by the TurboVNC session and has to be given in format 1234x1234.
If x0vnc is specified instead of a TurboVNC server with own Xvnc Display a X0-VNC server is started. As its name says this server is directly connected to the :0.0 Display which is contoled by an X-Server always running on the visualisation nodes. A session started with this option will have a maximum resolution of 1152x864 pixels which can not be changed.
There is also a -help option which returns the explanation of the parameters and gives examples for script usage.
The vis_via_vnc.sh script returns the name of the node reserved for you, a display number and the IP-address.
VNC viewer with -via option
If you got a VNC viewer which supports the via option like TurboVNC or TigerVNC you can simply call the viewer like stated below
user@client>vncviewer -via hermit1.hww.de <node name>:<Display#>
VNC viewer without -via option
If you got a VNC viewer without support of the vis option, like JavaVNC or TightVNC for Windows, you have to setup a ssh tunnel via the frontend first and then launch the VNC viewer with a connection to localhost
user@client>ssh -N -L10000:<IP-address of vis-node>:5901 & user@client>vncviewer localhost:10000
Enter the vnc password you set on the frontend and you should get a Gnome session running in your VNC viewer.
GL applications within the VNC session with TurboVNC
To execute 64Bit GL Applications within this session you have to open a shell and again load the VirtualGL module to set the VirtualGL environment and then start the application with the VirtualGL wrapper command
vglrun <Application command>
GL applications within the VNC session with X0-VNC
Since the X0-VNC server is directly reading the frame buffer of the visualisation node's graphic card, GL applications can be directly executed within the VNC session without using any wrapping command.
Ending the vnc session
If the vnc session isn't needed any more and the requested walltime isn't expired already you should kill your queue job with
user@eslogin001>qdel <jour_job_id>
VirtualGL Setup (WITHOUT turbovnc)
To use VirtualGL you have to install it on your local client. It is available in the form of pre-compiled packages at http://www.virtualgl.org/Downloads/VirtualGL.
Linux
After the installation of VirtualGL you can connect to cl3fr1.hww.de via the vglconnect command
user@client>vglconnect -s hermit1.hww.de
Then call the prepare the visualisation queue job and connect to the reserved visualisation node via the vglconnect command
user@eslogin001>module load tools/VirtualGL user@eslogin001>vis_via_vgl.sh XX:XX:XX user@eslogin001>vglconnect -s vis-node
where XX:XX:XX is the walltime required for your visualisation job and vis-node the hostname of the visualisation node reserved for you.
On the visualisation node you can then execute 64Bit GL applications with the VirtualGL wrapper command
user@vis-node>module load tools/VirtualGL user@vis-node>vglrun <Application command>
Parallel usage of Paraview
For the visualisation of large scale data sets a parallel installation of Paraview is available. Since Paraview itself is a completely serial application, when visualizing data in parallel Paraview has to be used in Server-Client configuration. To start a parallel visualisation job first of all reserve a visualisation node with on of the procedures explained above.
Being logged in to the reserved node load the Paraview module
user@vis-node>module load tools/paraview/x.x.x-parallel
where x.x.x is the version number of Paraview you wish to load. In current conffiguration the module switches the Cray programing environment to ProgEnv-gnu and loads the correct compiler version of gcc. Also the PATH, LIBRARY_PATH and LD_LIBRARY_PATH environment variables are extended to point to the lib and bin paths of the Paraview installation. In addition the VirtualGL module is loaded.
Along with Paraview a version of openmpi is installed in the same directory. This is because the CRAY mpi installation is not usable on the vis-nodes as they are bootet with an opensuse installation.
To run parallel Paraview a data server and a render server are needed which ar launched with the commands
mpirun -n 1 -mca btl sm,self vglrun pvrenderserver mpirun -n xx -mca btl sm,self pvdataserver
where xx is the number of prcesses to use for the data server. Please notice that the render server has still to be launched with the vglrun wrapper command.
For users who would like to also try parallel render server there is the posebility to launch a X-server driving two graphic cards on pre003. For that option please get in contact with the system administrators. The execution command for the render server then has to be:
mpirun -n 1 -mca btl sm,self vglrun -d :0.0 pvrenderserver : -n 1 -mca btl sm,self vglrun -d :0.1 pvrenderserver