wiki:ParaViewJUWELS

ParaView on JUWELS

General Information on ParaView

https://trac.version.fz-juelich.de/vis/raw-attachment/wiki/WikiStart/ParaView_Catalyst_logos.png

"ParaView is an open-source, multi-platform application designed to visualize data sets of varying sizes from small to very large. The goals of the ParaView project include developing an open-source, multi-platform visualization application that supports distributed computational models to process large data sets. It has an open, flexible, and intuitive user interface. Furthermore, ParaView is built on an extensible architecture based on open standards.

ParaView runs on distributed and shared memory parallel as well as single processor systems and has been successfully tested on Windows, Linux, Mac OS X, IBM Blue Gene, Cray XT3 and various Unix workstations and clusters. Under the hood, ParaView uses the Visualization Toolkit as the data processing and rendering engine and has a user interface written using the Qt cross-platform application framework." link

Run ParaView on a JUWELS vis node

We recommend to run ParaView on a JUWELS Vis-node in a VNC session. Therefore you should establish a VNC connection to JUWELS as described here. In case you started the VNC session with the "-profile vis" option, you will find an icon on your desktop named "ParaView (5.x)". Just click on this icon to start our default version of ParaView.

In case you would like to start a specific version of ParaView, you can start ParaView from a terminal window by hand. As ParaView is only available in the development stage, you must activate this stage first:

module --force purge
module use $OTHERSTAGES
module load Stages/Devel-2019a

Then you have to find out what versions of ParaView are available on JUWELS:

module spider paraview

The output shows you all available versions. To find out, which modules to load for a specific version, you have to call "module spider" again with the full version name as parameter, e.g.:

module spider ParaView/5.8.0-opengl-Python-3.6.8

The output shows you what modules to load, e.g.:

You will need to load all module(s) on any one of the lines below before the "ParaView/5.8.0-opengl-Python-3.6.8" module is available to load.

      Stages/Devel-2019a  GCC/8.3.0  ParaStationMPI/5.2.2-1

So just load the necessary modules by:

module load Stages/Devel-2019a  GCC/8.3.0  ParaStationMPI/5.2.2-1 ParaView/5.8.0-opengl-Python-3.6.8

Once all modules are loaded, you can start ParaView on the VNC desktop. Don't forget the "vglrun" command!

vglrun paraview

Run ParaView in parallel on JUWELS batch partition

Before you can start a parallel ParaView job on JUWELS, first establish a VNC connection to a vis login node and open the ParaView-GUI on this VNC desktop, as describes above. Then you can start a parallel ParaView job and connect the ParaView GUI to this job.

Please note that you have to start the EGL Version of the ParaView server (pvserver) on the JUWELS batch partition! To start a parallel job, first create a SLURM job file with parameters which fits your needs. Here is an example of such a file. In this example we name the file "start_pvserver.slurm".

#!/bin/bash
#SBATCH --job-name=pvserver
#SBATCH --nodes=1
#SBATCH --time=01:00:00

echo "sbatch: START SLURM_JOB_ID $SLURM_JOB_ID (SLURM_TASK_PID $SLURM_TASK_PID) on $SLURMD_NODENAME"

module purge
module use $OTHERSTAGES
module load Stages/Devel-2019a

module load GCC/8.3.0
module load ParaStationMPI/5.2.2-1
module load ParaView/5.8.0-EGL-opengl-Python-3.6.8

export OMP_NUM_THREADS=12
export KNOB_MAX_WORKER_THREADS=12

srun  --ntasks=8 \
      --cpus-per-task=12 \
      --cpu_bind=verbose,rank \
      pvserver

Submit this job script to the batch system by sbatch:

sbatch --account=<your_budget_name> --partition=batch ./start_pvserver.slurm

Now you have to wait for your job to start. You can check the state of the job (pending, running, ...) with the squeue command:

squeue -u <your_username>

Once startet, you will find a slurm output file which gives you the information on what rank 0 node the job is running, e.g.:

sbatch: START SLURM_JOB_ID 2405571 (SLURM_TASK_PID 28448) on jwc00n064

Now you have to connect your ParaView GUI to this node. Please note that a successful connection is only possible when your ParaView GUI (paraview) and your ParaView server (pvserver) have the SAME version number (5.8 in this example).

In the ParaView GUI, select the File->Connect menue. If the rank 0 node is not already in the list of existing configurations, press the "Add Server" button to add this connection. Give this new configuration a name, and in the "Host" line fill in the name of the rank 0 node, in this example "jwc00n064" for ethernet or "jwc00n064.ib" for infiniband. Click on "Configure", select "Manual" as start type and save the configuration. Now you will find the rank 0 node in the list of configurations. Just select this entry and press "Connect".

You can check if the connection was successful by various ways:

  1. In the Pipeline Browser of the ParaView GUI, you can see the name of the rank 0 node on top.
  2. In the ParaView GUI you can open the "Memory Inspector" (menue View->Memory Inspector). The memory inspector shows you the actual client/server configuration.
  3. Look for "Client connected" message in the slurm output file.
    Waiting for client...
    Connection URL: cs://jwc00n064.adm00.juwels.fzj.de:11111
    Accepting connection(s): jwc00n064.adm00.juwels.fzj.de:11111
    Client connected.
    
Last modified 4 years ago Last modified on 07/01/20 14:22:42
Note: See TracWiki for help on using the wiki.