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, with client-server interactive sessions where data are kept locally on the CSCS servers' scratch filesystem, while the GUI and rendering display are sent to remote desktops. Alternatively, the data visualization can be done programmatically using ParaView’s batch processing capabilities with server-side python-driven scripts running on the servers' compute nodes.

Licensing Terms and Conditions

ParaView is distributed free of charge with source code.

Setup

ParaView can use GPUs for hardware-accelerated rendering, but a very efficient software rendering option based on an LLVM-Mesa library is also available. You will need to load the appropriate module, based on your allocation type. Use the daint-gpu, or the daint-mc module and find the associated ParaView module. For example:

module load daint-gpu
module avail ParaView

ParaView at CSCS requires password-less logins from your desktop. Please follow the steps described in Direct access to the computing systems from local clients.

How to Run on Piz Daint

Batch-mode with Python scripts

The following job script asks for 8 nodes, using 8 MPI task per node. ParaView has a special executable called pvbatch to execute parallel Python scripts. Users will provide their Python code (e.g. file script.py) as an input to pvbatch.


 #!/bin/bash -l
#
# ParaView executing a Python script named "pvScript.py"
#
# 8 nodes, 8 MPI task per node
#
#SBATCH --job-name="ParaView"
#SBATCH --time=01:00:00
#SBATCH --nodes=8
#SBATCH --ntasks=64
#SBATCH --partition=normal
#SBATCH --constraint=gpu
#SBATCH --account=<project>
#========================================
# load modules
module load daint-gpu
module load ParaView

srun -n $SLURM_NTASKS -N $SLURM_NNODES --cpu_bind=sockets pvbatch pvScript.py

Please replace the string <project> with the ID of the active project that will be charged for the allocation.

Interactive mode with a client-server connection

A ParaView client on the User's remote desktop needs a host profile to connect to a remote server. Linux, Mac and Windows users will find a profile for daint in /apps/daint/UES/ParaView/servers_CSCS.pvsc; You need to copy this file to your remote desktop, start ParaView, and use the "File->Connect->Load Servers" command to install it on your local copy of the application. This config file also needs a shell script generating a batch job. You will find this in /apps/daint/UES/ParaView/rc-submit-pvserver.sh. Our advice is for you to make a copy of this file in your home on the CSCS filesystem, so that you can modify it further for your needs. You will then need to modify the file’s pathname in servers_CSCS.pvsc.

Once setup, you may start ParaView in interactive mode and create a connection. Use the menu "File->Connect" and double-click on the option “Reverse-Connect-<host>”. A popup menu will help you select the number of ParaView servers called pvserver, the number of tasks per node, and other attributes of your batch job. You will also need your Unix Id (type the command id on daint, and read the uid number). Insert that number instead of the 11111 used as default in the pvserver port entry. The batch job script will be created and submitted, enabling a parallel ParaView server to automatically connect itself to your client application.