Last Verified : 2023-12-19

This tutorial shows you how to run ParaView with the client running on your desktop and the pvserver tasks executing in parallel on an LC cluster. This tutorial assumes you have already installed a copy of ParaView on your local desktop. If you haven't already, please see our main ParaView page for download instructions. If you are using Windows, you will need to install additional software, e.g. PuTTY, to set up the SSH tunnels.

Please contact the LC Hotline for assistance: lc-hotline@llnl.gov, (925) 422-4531

Overview of ParaView Components for Parallel Usage at LLNL

A figure of ParaView components as used in parallel.

The figure above shows a pictorial representation of ParaView as run in parallel at LLNL. The client runs on your local desktop and uses your graphics card to display images quickly on your computer. The heavy lifting is done on batch nodes of an LC cluster. Because of the firewalls at LLNL, you will have to establish an SSH tunnel to carry the data from the "listening server" to the client on your desktop. The instructions below will walk you through this setup.

Client-Server Setup

NOTE The version of your desktop installation of ParaView should match the version you are running on the LC cluster.

If you aren't sure what version you are using, you can open the Help > About menu item within the ParaView application. On the cluster, you can run pvserver -V to retrieve the version information. If the versions do not match, you should either load a different ParaView module on the cluster (see our main ParaView page), or install a different version of ParaView on your desktop (multiple versions can exist simultaneously).

1.  Allocate Resources

On an LC login node, use the appropriate command to request an interactive job allocation (salloc for systems using Slurm, lalloc for LSF). This is how you reserve one or more batch nodes to dedicate to your pvserver task(s).

You can (and should) use the various option flags to specify details about the job such as the number of nodes, time limits, the partition of nodes to use, and the account(/bank) to charge. For example:

salloc -N 2 -t 60
# Requests 2 nodes for 60 minutes

salloc -A foo -N 4 --time-min=2:30:0
# Requests 4 nodes for at least 2hrs 30min, charged to the "foo" account

lalloc 2 -W 60
# Requests 2 nodes for 60 minutes

To see a list of available options for this command simply type salloc -h or lalloc -h on the command line. For more in-depth information, you can type man salloc or view the online Slurm documentation.

Please review the LC documentation regarding banks, allocations, and jobs.

2.  Start Server(s) and Create SSH Tunnel

Once the nodes are reserved, you will be logged into an interactive command line on the first node in the batch job. Run the LLNL pvserver_parallel script to start the desired pvserver tasks. For example:

pvserver_parallel 16
# Starts 16 parallel pvserver processes

NOTE If the pvserver_parallel command is not found, you may need to run module load paraview first.

You must specify the number of pvserver tasks you want to run. This number is limited by your current job's node allocation. You may run one task per core per node. For instance, if you reserved 2 nodes that have 8 cores each, you could run up to 16 pvserver tasks. Be aware that the number of cores per node may vary between clusters.

You may also pass any options to pvserver_parallel which pvserver would take. (Note that the --force-offscreen-rendering option is included automatically.)

The pvserver_parallel script will print out instructions for creating the necessary SSH tunnel. Below is a sample of what those instructions might look like:

  PLEASE READ THIS PART CAREFULLY!  IT MAY CHANGE FOR EACH MACHINE!

  You are on the cluster 'foobar', presumably on the LLNL CZ network.
  You will need an SSH tunnel FROM your desktop TO this cluster.
  To create a tunnel, run one of the following ON YOUR DESKTOP machine:

    For Mac/Linux
      ssh -L 11111:foobar42:11111 username@foobar

    For Windows with Plink (PuTTY Link)
      plink -L 11111:foobar42:11111 username@foobar

  The command must be run on your local desktop in order to work;  Don't try
  to run it on the LC cluster!

The instructions may be different on the CZ and RZ networks. The commands will also change to include the appropriate cluster name, node number, and your username.

Special Instructions for Windows

While Mac and Linux systems typically have an SSH client and server installed by default, Windows systems do not. In order to create SSH tunnels to or from your Windows system, you will need additional software.

SSH Client

We recommend using PuTTY as an SSH client on Windows. If you do not have PuTTY installed, LLNL users should download PuTTY via the LLNL LANDesk Software Portal (look for a pre-installed application called "Portal Manager"). Otherwise, it is available through the PuTTY download webpage. The PuTTY installation will include PuTTY Link, also known as Plink. This will enable you to use plink commands for SSH connections via the Command Prompt.

3.  Connect Desktop ParaView Client

Once you have one or more pvserver tasks running on the cluster, you can connect from your desktop client. Open ParaView on your desktop (if you haven't had it running already). Then, click on the Connect icon, or select File > Connect from the menus.

A screenshot highlighting the location of the Connect icon in ParaView.

This will open the connection dialog. The first time you connect from your client, you will need to set up a new server configuration. You should only need to do this once; the configuration will be saved and added to the list.

A screenshot showing the Choose Server Configuration dialog in ParaView.

The screenshot above shows a previously configured connection. If this is your first time connecting from this client, your list will be empty. Click on the "Add Server" button to continue to the dialog below.

Enter the values as shown here to configure the connection. The "Name" can be anything you would like to use to identify this configuration in the future.

Server Type:  Client / Server
       Host:  localhost
       Port:  11111
A screenshot showing a proper localhost server configuration for ParaView.

In the following dialog, set the Startup Type to "Manual", as we will always start the pvserver by hand.

A screenshot showing a proper localhost server launch configuration for ParaView.

Click "Save", and this configuration will be added to the list.

To connect your client using this configuration, click on the appropriate entry in the list, then click the "Connect" button. Alternatively, you may double-click on the entry.

You will know you have a successful connection when you see the "Client connected" message displayed on the pvserver process terminal, and your named connection in ParaView's Pipeline Browser (instead of it saying "builtin").

A screenshot highlighting the named server connection in the Pipeline Browser within ParaView.

NOTE If you see OpenGL errors when you connect, try running module load opt mesa before starting the pvserver.

4.  Verify Parallel Setup

The easiest way to verify that you have a successful parallel connection is to look at the Memory Inspector within the ParaView application. If the Memory Inspector panel is not visible, you can turn it on using View > Memory Inspector in the menus.

The Memory Inspector should list both your desktop client and the server nodes you are connected to. You should also see a list of the cores in use under each node.

A screenshot showing the Memory Inspector panel in ParaView while a parallel server connection is active.