Page Content
Visualization
For visualization of large data sets it's often unpractical to download them to a local workstation, the size of the data sets and the available bandwith are limiting factors. To visualize in place (i.e. close to the data), a visualization server is available. It's especially helpful for complex 3D graphics. In addition, GPU cluster nodes can be used as well when accesses via interactive jobs.
For simpler visualization (2D graphics, simple 3D graphics) it's usually sufficient to work inside an X2Go session [1].
Concept: VirtualGL uses a local GPU for rendering the 3D parts and sends the resulting 2D representation to the client.
Prerequisites
Usage
Generally there are three ways to use VirtualGL:
- In an X2Go
session
Here, it's sufficient to start the application under vglrun, e.g.:
cluster-v% vglrun paraview - With a VNC proxy
Here you start a VNC server on the virtualization server and route its traffic through an ssh tunnel:
client% ssh -L 5909:localhost:5909 cluster-v.math.tu-berlin.de -l <username>
cluster-v% module add turbovnc/2.2.5
cluster-v% vncserver :9 -noxstartup
cluster-v% DISPLAY=:9 vglrun paraview
client% vncviewer :9
In the exampe above both the client and cluster-v use the X11 display number '9' (from which the VNC port number 5909 (=5900+9) is derived). Instead of '9' any unused number can be used.
- With a local VirtualGL client
If the local client has VirtualGL installed, vglconnect can be used ti establish a connection to the virtualization server:
client% vglconnect -s cluster-v.math.tu-berlin.de -l <username>
and the application can be started under vglrun:
cluster-v% vglrun paraview
pros and cons of the above methods
- If the application has many 2D elements (menus, buttons, etc.) method 3) is not recommended over slow(er) links (DSL).
- Method 2) is likely the most performant of the
three, It should, however, avoided due to the complexity of the
setup.
Use 1) instead.
In special cases it can be useful to start a GUI
within an interactive job, e.g. in connection with a running
simulation, for debugging or due to special hardware requirements.
For such cases the interactive job should be started from
withhin an X2Go session (choose any of the login servers) and it needs
an additional environment variable.
Example:
cluster-i% USE_VGL=1 qrsh -l
gpus=1 bash --login
node733% display=$(/afs/math/software/gpu/sbin/start_private_xserver)
node733% module load
paraview
node733% vglrun -d
$display -c rgb paraview
duction/access/graphical_login_with_x2go/parameter/en/m
axhilfe/
uteserver/images/vgltransport.png