Sometimes it might be necessary (for various reasons) to use a GUI on PALMA. For this purpose, we offer two solutions via a VNC server on two dedicated nodes:
- Software-Rendering (SWR): Since the CPUs are quite fast, the rendering can be done in software (meaning the CPUs are utilized instead of a GPU)
- Hardware-Rendering (HWR): Rendering is done on a node with a dedicated GPU
To connect to one of those nodes, you can either use your own, local VNC client or use an in-browser solution, which only requires a standard web browser.
Windows Users
Hardware
The following hardware resources are available:
Type | Dedicated Node(s) | CPUs/User | GPUs/User | Timelimit | Max No. of Users |
---|---|---|---|---|---|
SWR | 1 | 18 (skylake) | - | 12h | 4 |
HWR | 1 | 12 (skylake) | 1 (Titan XP) | 12h | 4 |
Usage
We provide a module on PALMA, giving access to a script, which performs the necessary steps and prints out instructions how to proceed.
Log in on PALMA
Load the visualization module
ml visualization/vis
Use `viscon.sh` to start your session, `--help` gives you an overview of all available options
$ viscon.sh --help viscon.sh -- visually connect to PALMA II via VNC. options: -h, --help this help message -w, --web use VNC-in-the-browser (no additional VNC client required) -g, --gpu use hardware rendering (default: software rendering)
Run `viscon.sh` with your preferred optionsexample: start software rendering in web browserviscon.sh -w
The output will look similar to this (with adjusted username and a randomly generated password)
salloc: Pending job allocation 9201438 salloc: job 9201438 queued and waiting for resources salloc: job 9201438 has been allocated resources salloc: Granted job allocation 9201438 ########################## Your Session is ready, to connect to your VNC session: (1) On Linux/MacOS, run: ssh -i ~/.ssh/id_rsa_palma -o ServerAliveInterval=60 -L 6081:localhost:6080 username@palma.uni-muenster.de 'ssh -L 6080:localhost:6081 r04n08' On Windows (provided that the PuTTY installation directory is in your PATH variable), run: plink -i %HOMEPATH%\Documents\id_rsa_palma -L 6081:localhost:6080 username@palma.uni-muenster.de ssh -o ServerAliveInterval=60 -L 6080:localhost:6081 r04n08 in your terminal (just keep it open) (2) Point your browser to http://localhost:6081/vnc.html?host=localhost&port=6081 Password: j8s4+3vn ########################## To end your session: 1) close your browser tab 2) press CTRL + C in your local terminal 3) press CTRL + C in this terminal, then call "exit" ##########################
Wait until the session has started and follow the instructions. Copy/Pase the lines from the terminal output. First you open a new terminal window and create an SSH tunnel to the allocated node with a specific port being passed through, e.g. :
You will get a message that a "Pseudo-terminal will not be allocated because stdin is not a terminal." This is OK and you can minimize (not close!) this terminal window as the SSH tunnel is now established.ssh -i ~/.ssh/id_rsa_palma -o ServerAliveInterval=60 -L 6081:localhost:6080 username@palma.uni-muenster.de 'ssh -L 6080:localhost:6081 r04n08'
Then you can either open the URL given by the script to use the in-browser version, or use your local VNC client to connect to the node. As an example the browser solution is shown here:
Type in the generated password you were given when you called the viscon.sh script. You will be presented with a (minimal) desktop environment. You can open a terminal window, load modules and run your GUI applications.Depending on what kind of rendering you chose, you start your GUI applications in a different manner:
- Softwarerendering (CPU)
- Open a terminal within the remote session window and enter
- "module load intel Mesa" or "module load foss Mesa"
- Start an application with a GUI
- Open a terminal within the remote session window and enter
- Hardwarerendering (GPU)
Open a terminal within the remote session and use `vglrun` to run your application
vglrun myapplication
Note that some software needs special commands to run correctly. E.g. `matlab` needs a special flag to run with vglrun. Refer to the official VirtualGL documentation for more information.vglrun -nosoftwareopengl matlab
- Softwarerendering (CPU)