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.

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.

Manual VirtualGL Connection

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

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. 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:


Waiting for immediate job to be scheduled.

on your local workstation run:
     ssh bgregor@scc1.bu.edu -L XXXX:scc-v06:5901

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

Configure SSH tunnel

The value XXXX is a placeholder – replace this with a number of your choosing that’s >1024. Values in the range 7000-8000 are suggested. In the examples below the value of 7000 is used. 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 bgregor@scc1.bu.edu -L 7000:scc-v06:5901

You will be asked to enter your Kerberos 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 (7000 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 2006553