ParaView
Introduction
ParaView is an open-source, multi-platform data analysis and visualization application. ParaView users can quickly build visualizations to analyze their data using qualitative and quantitative techniques. The data exploration can be done interactively in 3D or programmatically using ParaView's batch processing capabilities. ParaView was developed to analyze extremely large datasets using distributed memory computing resources. It can be run on supercomputers to analyze datasets of terascale as well as on laptops for smaller data.
Remote Visualization with ParaView
ParaView is a client-server application. The ParaView client (or simply paraview) will run on your desktop while the server will run at the remote supercomputing site. The following describes the steps you will take to install ParaView on your desktop and configure it so that you can launch remote-parallel jobs on RDAV systems from within the ParaView GUI. Running ParaView remotely in a client-server configuration involves establishing an ssh tunnel to the login node, lauching the ParaView server, connecting the server to the client over the tunnel via a socket.![]()
Install the ParaView Client
The first step is to install ParaView. It is recommended that you use the binaries provided by Kitware on your workstation matching the NERSC installed version. This ensures client-server compatibility. The version number that you install must identically match the version installed at NERSC. Use the following link to download the correct ParaView client binary version for your desktop environment: ParaView binaries. Version 3.14.1 is currently the recommended version.
Install Dependencies
In order to use ParaView remotely you will also need an ssh client and a terminal program. On Linux and Mac these functions are provided by the ssh and xterm programs, both of which should come pre-installed on most Linux and Mac systems. On Windows the ssh and terminal functions are provided by the programs plink.exe and cmd.exe, of which only cmd.exe will come pre-installed. The ssh client, plink.exe, needs to be installed before using ParaView. This program can be installed using the Windows installer from the PuTTY download site. The PuTTY install folder needs to be added to the system path after the install. This can be done in the Windows control panel, by opening "Control Panel\System and Security\System" , opening the "Advanced System Settings" page, and opening the "Environment Variables" dialog box.
Install the NERSC server config
NERSC provides an integrated server configuration that enables "point and click" ssh tunnel configuration, job configuration and submission enabling users to quickly launch the ParaView server on NERSC systems.
- Close any instances of ParaView running on your desktop.
- Download one of the following NERSC server configurations to your workstation. Choose a "win" configuration if you are running a Windows OS. Choose a "unix" configuration if you are running a Mac or Linux OS.
- Open the ParaView client and click the Connect button or from the File menu choose connect. In the choose a server dialog box click the load servers button and select the NERSC server config.
| NERSC System | ParaView Configuration | |
| hopper | hopper-unix.pvsc | hopper-win.pvsc |
| euclid | euclid-unix.pvsc | euclid-win.pvsc |
| carver | carver-unix.pvsc | carver-win.pvsc |
The NERSC server configurations will now show up in ParaView's connect menu.
Configure your account
Ssh is used to create a tunnel from Hopper's MOM nodes to Hopper's liogin nodes. For this process to be automated you will need to setup key based authentication within NERSC. The following commands will do so:
$ ssh user@hopper.nersc.gov $ ssh-keygen $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
Launching the server on NERSC systems
With the ParaView client and NERSC server configuration installed one can quickly establish connection to NERSC systems and launch interactive vis jobs.
- Start ParaView on you desktop
- Open the File->Connect menu
- Select a server (Euclid, Franklin, Hopper or Carver) and click Connect
- Configure the job with number of CPUs, walltime and so on. Click Connect to submit the job.
- In the xterm that opens enter your password. This creates the ssh tunnel to the remote system and submits the job.
After a brief wait the newly launched ParaView server will connect back to you desktop. One common issue for Mac users is that ParaView does not find the xterm program. When this occurs, the ParaView client reports "The process failed to start. Either the invoked program is missing...". This is resolved by locating the full path to the xterm program in step 4 above.
|
|
Optimizing
If you are connecting over a consumer broadband connection you may get a speed up by using Zlib compression. To enable this option, open Edit->Settings->Render View->Server, set (A) Remote Render Threshold checked 0 MBytes , and select (F) Apply presets for consumer broadband/dsl.
See also this.
Manual Setup
In some cases you may wish to use the manual process to start the ParaView server or run ParaView in batch mode. The following example illustrates how this is done on franklin.
- Login to franklin$ ssh user@franklin.nersc.gov
$ module load ParaView/3.8.1 - launch an interactive batch job. In the following WW is the job size in processes, PP is the number of processes per node, and HH is the number of hours to run for.
$ qsub -I -V -q regular -l mppwidth=WW -l mppnppn=PP -l walltime=HH:00:00
- create a tunnel to the rank 0 compute node. This involves a couple of steps. First you will acquire the rank 0 hostname. In the following XXXXX is the hostname. Second you will select a port to use on your local workstation and a port to use on Franklin. In the following YYYYY is the port number on your workstation, and ZZZZZ is the port number on Franklin. You will use these three pieces of information to create the tunnel in ssh's native command syntax.
$ aprun -n 1 /bin/hostname
XXXXX
$ ~C
-L YYYYY:XXXXX:ZZZZZ
Forwarding port. - start ParaView server on Franklin. In the following WW is job size that was requested in your qsub command, ZZZZZ is the port number you selected when you established the ssh tunnel.
$ aprun -n WW pvserver --use-offscreen-rendering --server-port=ZZZZZ
Listen on port: ZZZZZ
Waiting for client... - Once the server is started , start the client on your desktop and open File->Connect. Select the local and click Connect. In the configuration dialog enter the port used in your ssh line(YYYYY) and click Connect.
See Also
ParaView home page. http://www.ParaView.org
Optimizing
If you are connecting over a consumer broadband connection you may get a speed up by using Zlib compression. To enable this option, open Edit->Settings->Render View->Server, set (A) Remote Render Threshold checked 0 MBytes , and select (F) Apply presets for consumer broadband/dsl.
See also this.
Windows
TODO
Manual Setup
You can launch the server component manually as follows:
$ ssh -L WW:nautilus:WW user@login.nautilus.nics.tennessee.edu
$ module load paraview/3.10.0
$ qsub -I -V -l ncpus=XX,mem=YY,walltime=ZZ
$ mpiexec pvserver --use-offscreen-rendering --server-port=WW
Once the server is started , start the client on your desktop and open File->Connect. Select the -L-Tunnel-Connection and click Connect. In the configuration dialog enter the port used in your ssh line and click Connect.


