Jacket Over Remote Connections

From Jacket Wiki

Jump to: navigation, search

Contents

You can use Jacket over various remote connections. Computation in Jacket is fully supported over remote sessions. Jacket Graphics Library functions work over some types of remote sessions. Please read ahead to find out more.

Note that you do not need an NVIDIA GPU or driver on the viewing machine.

Windows

With Windows, the major options available are:

  • Windows Remote Desktop (also referred to as "RDP")
  • Third Party VNC software such as TightVNC.

VNC

On Windows, computation using Jacket is fully supported. Graphics commands also work with Jacket 1.8 and up.

On Linux, there are at least two ways to run VNC,

  1. VNC sharing a completely new X server (start with vncserver on commandline)
  2. VNC sharing a currently running X server (I.E. desktop that is currently active locally)

Jacket will only operate with VNC in Linux in case 2. To get case 2 VNC working in Fedora, see http://docs.fedoraproject.org/en-US/Fedora/14/html/User_Guide/chap-User_Guide-Sharing_your_desktop.html. One might also try the x11vnc package.

Remote Desktop

Recent advancements in the NVIDIA driver have enabled Jacket to run over Remote Desktop connections. Jacket over Remote Desktop is supported for Windows Vista, Windows 7, Windows HPC Server 2008, or Windows HPC Server 2008 R2.

The hardware setup requires at least two GPUs, with one connected to a display, and the other GPUs used for computations.

Remote Desktop and Jacket are heavily dependent on the NVIDIA driver, so please make sure you have the latest NVIDIA driver.

Graphics Library:

Note that TCC Mode with Jacket is exclusively for computations. Visualization with Jacket is not supported.

GPUs

Jacket over Remote Desktop requires at least two GPUs, one of which is used only for display, and the rest for computation.

  • GPUs used for computation should not be connected to a display.
  • For these GPUs, you need to set the "Driver Model" to "TCC" Mode. (See below).
  • A GPU needs to be reserved for driving the display.
  • These GPUs will not be visible to Jacket over a remote desktop session.

Tip: Try to choose high-end GPUs for computation and lower-end GPUs for display.

Note:

  • If you have an integrated video card (on your motherboard), you can run your display using that.
  • Also, simply unplugging the video cable that is connected to your GPU will not work either.

How it looks:

When you run Jacket over a Remote Desktop Session, the non-TCC devices are not displayed in GINFO. For example, here's the output on a machine with a Quadro 4000 and a Tesla C2050 over Remote Desktop:

(The Tesla was connected to the display here. The Quadro is the computational card.)

>> ginfo
Jacket v2.0 (build 80c7ba4) by AccelerEyes (64-bit Windows)
License Type: Designated Computer ([JACKET_ROOT]\jacket\engine\jlicense.dat)
Addons: MGL4, JMC, SDK, DLA, SLA
CUDA toolkit 4.0, driver 285.62
GPU1 Quadro 4000, 2048 MB, Compute 2.0 (single,double)
Memory Usage: 1977 MB free (2048 MB total)

Enabling TCC mode

NVIDIA Driver release notes contain information on TCC. You can get the latest version of the release notes from NVIDIA's website.

E.g. If you have a Tesla C2075 (driving a display) and a Quadro 4000, you will be able to enable TCC mode only on the Quadro 4000.

Enabling TCC Mode

The NVSMI tool, shipped with the NVIDIA driver installation, helps you to view and set TCC mode for your NVIDIA GPUs.

In a typical installation, this can be found at: C:\Program Files\NVIDIA Corporation\NVSMI\

To set the TCC mode using NVSMI, please follow the steps below:

  • Open a command window
  • cd "C:\Program Files\NVIDIA Corporation\NVSMI\"
  • The following command displays TCC mode (and other info) for all GPUs. You can also get the device number (useful to set TCC mode for a specific device):
nvidia-smi.exe -a
  • The following command sets TCC mode for the Nth GPU:
nvidia-smi.exe -i N -dm 1
  • If you wish to unset TCC mode for the Nth GPU:
nvidia-smi.exe -i N -dm 0

You'll need to reboot for the changes to take effect.

Note:

On some system configurations, the following workaround has been reported to let you use all GPUs (regardless of TCC mode).

  • Connect over VNC to the machine
  • Start MATLAB and initialize Jacket and the GPU, e.g. run your program
  • Without terminating the MATLAB session, exit VNC
  • Switch over to RDP, and continue programming in MATLAB

Linux and Mac

For Linux and Mac, Jacket code that does not use the Graphics Library will run fine over any remote connection.

If your code uses the Graphics Library, you will need to use a third-party program to connect to your machine remotely and channel the graphics properly on to your screen.

The various remote connection methods are outlined below:

  • SSH: Computation using Jacket is fully supported. CUDA will need a standard X server to be running on the remote machine. Graphics Library commands will not work (even if you connect using a command such as "ssh -x").
  • VNC: Computation using Jacket is fully supported. Graphics commands also work with Jacket 1.8 and up.

VNC Programs

There are many programs that utilize the VNC protocol and it's not possible to list Jacket support for each of them here.

Some example programs that are known to work with Jacket are x11vnc and TightVNC.

This forum post on the AccelerEyes forum discusses Jacket over VNC on Linux systems in more detail.

Personal tools