Overview

Due to the ease of use and excellent graphics performance of the SCC OnDemand system’s Desktop Session, we recommended its use instead of using VNC as described here.

While the majority of interactive graphical applications that run on the SCC perform well, there are a class of complex interactive visualization applications that require additional software called VirtualGL in order to perform adequately on users’ workstations or desktops. These include OpenGL applications that utilize full 3D hardware acceleration like Freesurfer or PyMOL.

Research Computing has set aside a limited number of shared nodes that utilize VirtualGL to support these complex visualization applications on the SCC. To successfully run an interactive graphics job that requires VirtualGL, the user has to be on the BU Network.

It is important to note that the VirtualGL offering is a limited resource and should only be used for applications that require complex OpenGL 3D hardware acceleration. Most applications such as MATLAB, RStudio, QGIS, and others do not require this and will function well using a typical interactive desktop session.

Table of Contents

  1. OnDemand Interactive Graphics Desktop
  2. VNC password setup
  3. Start Interactive Graphics Job
  4. Configure SSH tunnel
  5. Connect with VNC Client – PC
  6. Connect with VNC Client – Mac
  7. Running Graphics Application
  8. Terminating Interactive Graphics Job
  9. Working Remotely

OnDemand Interactive Graphics Desktop

Under the “Interactive Apps” menu there is an application options called “VirtualGL Desktop”. Select this application to launch an interactive VirtualGL desktop on a compute node.

VNC password setup

The first time you use vncserver or start an interactive graphics job, you have to establish your VNC password. This VNC password must be different from your Kerberos password and, if you have one, your local SCF Linux password. To set your VNC password, execute the following command:

scc2% vncpasswd

Start Interactive Graphics Job

To start an Interactive Graphics Job execute the following command (on any SCC login node):

scc2% qvgl

This command accepts many batch job options including project name, time limit, email options, etc. It also accepts vncserver flags including the geometry flag to set the VNC screen resolution. The general usage of the command is:

 qvgl [-v|--vnc "vncargs"] [-b|--batch "batchargs"] [-P project] [-l batch resources]

For example:

scc2% qvgl -P scv -l h_rt=4:00:00 -v "-geometry 1200x900" -b "-m e"

If the job starts successfully, you should see the output that will provide you with the information about setting up tunneling and running the VNC session:


Your immediate job 3746064 has been successfully scheduled.

on your local workstation run:
   ssh ktrn@scc-ha2.bu.edu -L 7000:localhost:5901

then execute vncviewer to connect to localhost port 7000
   vncviewer localhost:7000

your VirtualGL gpu display is: :0.3

to run an OpenGL application on a hardware GPU use vglrun command
for example:
   vglrun glxinfo

to quit the job please run:
        qdel 3746064

Configure SSH tunnel

Linux and Mac users can execute the ssh command provided in the qvgl script output. This should be entered in your local machine’s terminal window, e.g.

> ssh ktrn@scc-ha2.bu.edu -L 7000:localhost:5901

You will be asked to enter your Kerberos or local SCF password.

Windows users can execute the same command in their MobaXterm or Cygwin local terminal window or follow these steps to set up tunneling using putty.

Connect with VNC Client – PC

If you do not have the VNC viewer built into your system, download it from www.realvnc.com. When you install it, select only the VNC Viewer (you do not need to install VNC server on your local machine). Start the VNC Viewer and when a dialog window appears, enter:

VNC server: localhost:XXXX

where XXXX is the number you selected while configuring SSH tunneling (7070 in the example above). You will be prompted to enter your password. Use your VNC (not Kerberos) password.

Connect with VNC Client – MAC

Recent versions of Mac OSX have a VNC client built into the operating system. To connect on a Mac, click on the desktop then press the key combo ⌘-K. In the Connect to Server window that opens, enter the following into the Server Address box, using the port number selected earlier in place of the XXXX:

vnc://localhost:XXXX

You will be prompted to enter your password. Use your VNC (not Kerberos) password.

Running Graphics Application

Open a terminal Window (In the menu Applications -> System Tools -> Terminal; Or press right mouse button and select “Open in terminal”).

Start graphics application using VirtualGL engine vglrun (Load modules first, if needed):

scc-ha2% module load freesurfer/5.3.0
scc-ha2% vglrun tksurfer 

.

Terminating Interactive Graphics Job

To terminate your Interactive Graphics session close your VNC window, exit the tunneling session and delete your job:

scc2% qdel 3746064

.

Working Remotely

When working remotely (not on the BU network) and want to use qvgl, you need to set up an ssh tunnel to the login node while port forwarding to the compute node.

scc1% qvgl -P project

Waiting for immediate job to be scheduled.

on your local workstation run:
   ssh username@scc-v01.bu.edu -L XXXX:localhost:5901

then execute vncviewer to connect to localhost port XXXX
   vncviewer localhost:7000
to run an OpenGL application on a hardware GPU use vglrun command
for example:
   vglrun glxinfo
to quit the job please run:
        qdel 3746064

In the above example, the qvgl job has been scheduled to scc-v01 on port 5901. These values will be used to create the ssh tunnel new terminal connected to your local machine:

my_computer% ssh user@scc1.bu.edu -L 7000:scc-v01:5901