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:

  1.  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)
  2. 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

You will need plink (which is part of PuTTY) for both solutions, if you are using a Windows system.

Hardware

The following hardware resources are available:

TypeDedicated Node(s)CPUs/UserGPUs/UserTimelimitMax No. of Users
SWR118 (skylake)-12h4
HWR112 (skylake)1 (Titan XP)12h4

Usage

We provide a module on PALMA, giving access to a script, which performs the necessary steps and prints out instructions how to proceed.

  1. Log in on PALMA

  2. Load the visualization module

    ml visualization/vis


  3. 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 options

    example: start software rendering in web browser
    viscon.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"
    
    
    ##########################
  4. 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. :

    ssh -i ~/.ssh/id_rsa_palma -o ServerAliveInterval=60 -L 6081:localhost:6080 username@palma.uni-muenster.de 'ssh -L 6080:localhost:6081 r04n08'
    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.

  5. 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.
  6. Depending on what kind of rendering you chose, you start your GUI applications in a different manner:

    1. Softwarerendering (CPU)
      1. Open a terminal within the remote session window and enter
        1. "module load intel Mesa" or "module load foss Mesa"
      2. Start an application with a GUI


    2. Hardwarerendering (GPU)
      1. 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
  • Keine Stichwörter