ParaView

From CCI User Wiki
Jump to: navigation, search

ParaView is an open-source, multi-platform data analysis and visualization application (http://paraview.org/). ParaView can be built to run on any system at CCI. If you are a member of the RPI community you are elligeable to access the IBM SUR visualization cluster for use with CCI, which will be online in the spring of 2009.

Setup

It is recommended that you run the following steps within a CCI VNC session.

Alternatively, if you are working on campus or are within the RPI network, you can use ssh port forwarding to establish a connection between the compute node running the server and your machine. For example:

ssh -L 5902:drp08:11111 CCI_USERNAME@lp01.ccni.rpi.edu

would connect the local port '5902' to port 11111 on the DRP cluster's drp08 compute node. Note, this port forward requires that you have an allocation on the listed compute node.

Parallel Execution on DRP

There are two ParaView modules available. paraview/4.4.0 contains a MPI enabled build of the non-gui based ParaView binaries such as pvpython and pvserver. paraview/4.4.0_Qt4 contains a serial build of all the ParaView binaries.

Run the Server

The paraview server runs on the compute nodes via a SLURM job/allocation.

Load the Modules

 module load mpi/mvapich2-2.0a-gcc44 paraview/4.4.0

Create a Job Script

Create a file named paraviewServer.sh with the following contents:

#!/bin/bash -x
srun hostname -s > /tmp//hosts.$SLURM_JOB_ID

if [ "x$SLURM_NPROCS" = "x" ]
then
  if [ "x$SLURM_NTASKS_PER_NODE" = "x" ]
  then
    SLURM_NTASKS_PER_NODE=1
  fi
  SLURM_NPROCS=`expr $SLURM_JOB_NUM_NODES \* $SLURM_NTASKS_PER_NODE`
fi

echo "Starting Job"
date

export JOBNAME=`squeue -j $SLURM_JOB_ID -o %j | grep -v NAME`
cp $JOBNAME $JOBNAME.$SLURM_JOB_ID

srun --mpi=none -n $SLURM_NPROCS pvserver --use-offscreen-rendering
 
echo "Job completed"
date

rm /tmp/hosts.$SLURM_JOB_ID

Submit the Server Job Script

Submit paraviewSLURMjob.sh to Slurm:

 sbatch -p <queue> -n <number of processes> -N <number of nodes> -t 

Once the job is running the slurm-<jobid>.out file will contain info needed to connect the client. In the following example output the server is waiting for a client to connect to the compute node drp24 on port 11111 (default).

 Waiting for client...
 Connection URL: cs://drp24:11111
 Accepting connection(s): drp24:11111

Run the Client

The paraview server runs on the DRP front end node drpfen01.

Run the following steps in a different terminal than the previous ones.

Load the Modules

 module load paraview/4.4.0_Qt4

Launch Paraview

 paraview

Launch the 'Choose Server' dialog by selecting the button circled in red:

Select button circled in red

Select the 'Add Server' button:

Select the 'Add Server' button

Input the master paraview server node ID, for this example olb001 is used:

Edit the 'Name' and 'Host' fields.

Select 'Configure' and set the 'Startup Type' to 'Manual' as shown below:

Set 'Startup Type' to 'Manual'.

Select 'Save'. In the 'Choose Server' window select the newly added server and select the 'Connect' button:

Connect to the server.

In a minute or so the server will connect. Click 'OK' if a dialog warns of disabled rendering on remote host.

These instructions are derived from: https://www.scorec.rpi.edu/wiki/Running_ParaView_In_Parallel#Running_on_CCNI_opterons