Skip to content

ParaView

ParaView

ParaView is an open-source multiple-platform application for interactive, scientific visualization. It has a client–server architecture to facilitate remote visualization of datasets, and generates level of detail models to maintain interactive frame rates for large datasets.

ParaView module

ParaView module has to be loaded using Lmod prior to running it.

$ module load ParaView

Once the module has been loaded you will need to set some enviroment variables:

You can also list all available versions using Lmod's spider command:

$ module spider ParaView
--------------------------------------------
  ParaView:
--------------------------------------------
    Description:
      ParaView is a scientific parallel visualizer.

     Versions:
        ParaView/5.6.2-foss-2019b-Python-3.7.4-mpi
        ParaView/5.6.2-intel-2019b-Python-3.7.4-mpi

--------------------------------------------
  For detailed information about a specific "ParaView" 
  package (including how to load the modules) use the module's full name.
  Note that names that have a trailing (E) are extensions 
  provided by other modules.
  For example:

     $ module spider ParaView/5.6.2-intel-2019b-Python-3.7.4-mpi
--------------------------------------------

How to run ParaView on Atlas EDR

Running ParaView as an interactive job

First, we need to start a pvserver:

(atlas-edr-login-0X) $ srun -N 1 --ntasks=4 --partition=regular --pty bash
(atlas-XXX) $ module load ParaView/5.6.2-intel-2019b-Python-3.7.4-mpi
(atlas-XXX) $ pvserver --multi-clients --force-offscreen-rendering
Waiting for client...
Connection URL: cs://atlas-XXX:11111
Accepting connection(s): atlas-XXX:11111

Warning

Remember that our local version MUST match the version installed on the cluster. We recommend that you use the binaries provided by Kitware on your local system matching the versions that can be found on the cluster.

We need to make 11111 port on atlas-XXX node reachable by our local machine. For that purpose we will create a SSH tunnel mapping said port to our 11111 local port through one of the login nodes. From our local machine we do the following:

$ ssh -L 11111:atlas-XXX:11111 username@atlas-edr.sw.ehu.es

Now we can open a connection to localhost on port 11111 in order to connect to the ParaView server that is running on the compute node.

Running ParaView using a batch script

We can submit a batch script similar to this one:

Batch script to submit ParaView jobs on Atlas EDR
#!/bin/bash
#SBATCH --qos=regular
#SBATCH --job-name=ParaView_job
#SBATCH --cpus-per-task=1
#SBATCH --mem=10gb
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --output=%x-j.out
#SBATCH --error=%x-j.err

module load ParaView/5.6.2-intel-2019b-Python-3.7.4-mpi

srun pvserver --multi-clients --force-offscreen-rendering

We can learn in which node the job is running by either checking the queue with squeue command or by taking a look into the output file. The contents of the output file will look like this:

Waiting for client...
Connection URL: cs://atlas-XXX:11111
Accepting connection(s): atlas-XXX:11111

Connecting from outside our network, VPN or University's network

If you are connecting from outside our networks, the University's VPN or the University's network, then an additional step is required. After starting the ParaView server is started you will need to create two SSH tunnels instead of one:

  1. Create a SSH tunnel to connect to atlas-edr.sw.ehu.es through one of the access computers:

    $ ssh -L 2222:atlas-edr-login-02.sw.ehu.es:22 username@ac-02.sw.ehu.es
    

  2. Create a tunnel to connect to the compute node through the previously created tunnel:

    $ ssh -p 2222 11111:atlas-XXX:11111 localhost
    

Now we can open a connection to localhost on port 11111 in our ParaView client.