The recommended way of running ParaView on Theta is in client/server mode. This consists of running the ParaView client on your local resource, and the ParaView server (pvserver) on the Theta compute nodes. To accomplish this, the ParaView client needs to first be installed on your local resource, and needs to match the version that you run on Theta. The most recent production version currently installed on Theta is ParaView 5.5.2. Binary and source packages for Linux, MacOS, and Windows are available from the ParaView Download Page.
Currently, the easiest way to run ParaView in client/server mode is to run the ParaView client locally, and have it launch the pvserver on Theta, and connect back to your local client. While this method is straightforward, there are some things to be aware of. For more details on those see the section below on: Trade Offs
For details on launching ParaView in client/server mode, see the section below on: Automated / Reverse Connection
This section describes how to launch the pvserver on Theta from a local ParaView client.
Start ParaView Client
First, launch the ParaView client on your local resource. In order to launch the pvserver on Theta and have it connect back to our local client, we will need to configure some server settings in the client. This initial set up should only need to be done once, and can be reused each time you want to run ParaView on Theta.
From the ParaView client choose to connect to a server by either clicking on the "Connect" icon in the menu bar, or selecting:
From the main menu.
Fetch Servers (first time only)
The first time we want to run a pvserver on Theta and have it connect to our local ParaView client, we need to set up a Server. Once we set up this server, we can reuse it each time we run the ParaView client with the pvserver on Theta.
Kitware, the maintainers of ParaView, maintain a database of server configurations, which we can retrieve through the ParaView client.
Click "Fetch Servers"
Fetch Server Configuration, Theta
From the list of server configurations, if your local resource is Linux or Mac, select THETA@ANL
If your local resource is Windows, select windows to THETA@ANL
Click "Import Selected"
Now that we have a server defined and configured, highlight it in the list.
Configure Server Settings
In order to connect to Theta and submit a job to launch the pvserver, you'll need to edit a few configuration settings.
First, ParaView needs a way to securely connect to Theta, in order to run a qsub command to launch the pvserver. On Linux/Mac it does this through Xterm and SSH. Be sure that the path to the Xterm executable is set correctly. On Windows be sure that the path to the SSH executable (such as PuTTY) is set correctly.
Username: Should be set to your login name on Theta.
ParaView version: Be sure this matches the version of the ParaView client that you are running.
Client port and Server port: can use the default values
Set the Number of nodes to reserve and Number of minutes to reserve accordingly. Note that you will be submitting a job to the queue on Theta, and the number of nodes you request are not guaranteed to be available. If they are not, you may have to wait in the queue until the requested number of nodes become available.
Account: set to your project id / allocation on Theta.
Queue: Set this to an appropriate queue that meets your requirements.
Connecting: Enter Password
A window will pop up, indicating that ParaView is connecting to Theta, and is waiting for the server to connect back to your client.
A second window will pop up (Xterm on Linux/Mac. PuTTY, or other local SSH client, on Windows). Enter your PIN and secure token one time password, just as you would when logging into Theta.
This will enable ParaView to submit your job to run the pvserver on Theta. Once your job starts, and the pvserver connects back to your ParaView client, the Waiting for Server Connection window will go away.
Now when you select File->Open from the main menu, you will be browsing the filesystem on Theta. You're ready to go.
As mentioned at the beginning of this documentation, using the Automated / Reverse Connection method is simple, but there are a few trade offs that you should be aware of.
As was also mentioned in the above documentation, you are submitting a job to the queue on Theta. As such, you will have to wait until the number of requested nodes are available to run your job. There is no way of knowing this from the ParaView client. This can be done using the qstat command on a Theta login node, or via the Theta Status Webpage.
If while waiting for the pvserver to start you decide that you want to cancel, you should know that clicking the Cancel button in the ParaView GUI will cause the client to stop waiting for the pvserver to connect, and return control of the GUI to the user. However, it does not cancel the job submitted to the queue on Theta. Once the requested nodes become available, the job will start, and the pvserver will run for the time requested. In order to prevent this behavior, and burning cycles that are not actually being used, login to Theta and use the qdel command to remove the pvserver job from the queue.