diff --git a/content/applications/app_specific/running_paraview.md b/content/applications/app_specific/running_paraview.md new file mode 100644 index 0000000000000000000000000000000000000000..9786468c2744653c85f13ca78cc5b2a07336086b --- /dev/null +++ b/content/applications/app_specific/running_paraview.md @@ -0,0 +1,80 @@ ++++ +title = "Running Paraview" +description = "How to run Paraview on HCC resources." ++++ + +## This document provides the steps to run ParaView on HCC resources in both client-only mode and client-server mode. + + +### Running the ParaView client on HCC clusters + +The ParaView GUI client can be ran from the [OpenOnDemand Desktop App]({{< relref "../../open_ondemand/virtual_desktop_and_interactive_apps" >}}). +After the Desktop App has launched, the ParaView client can be started by using the terminal to load the ParaView module and start the application. + +```Bash +module purge +module load paraview +paraview +``` + +{{< figure src="/images/ParaView/paraview_client_terminal.png" height="450" >}} + +Once the ParaView application has started, it can be used similar to a locally installed version of ParaView to visualize data and results. + +{{< figure src="/images/ParaView/paraview_client_launched.png" height="450" >}} + +### Running Paraview with extra resources + +If you want to use additional resources beyond those available through an Open Ondemand application, you can run a ParaView server as a SLURM job and connect the ParaView client running in OpenOnDemand to the ParaView server. + +To help facilitate this, a headless build of ParaView has been installed on Crane and Swan, which can be used to provide extra computational resources the GUI session. +To start the MPI server process on Swan, you can use the following submit script as an example: + +```Bash +#!/bin/bash +#SBATCH --name=paraview-headless +#SBATCH --ntasks=16 +#SBATCH --mem-per-cpu=1024 +#SBATCH --time=03:15:00 +#SBATCH --error=paraview.%J.err +#SBATCH --output=paraview.%J.out + +module purge +module load compiler/gcc/11 openmpi/4.1 python/3.9 paraview-headless/5.10 +PORT=$(shuf -i 10000-50000 -n 1) +mpirun pvserver -p $PORT +``` + +The `PORT=$(shuf -i 10000-50000 -n 1)` is important to help avoid starting the ParaView server on an already used networking port. Once the server job starts, it will print out the host and port to connect on in the 'paraview.out' file. + +##### Example output: +``` +Waiting for client... +Connection URL: cs://c1517.swan.hcc.unl.edu:41031 +Accepting connection(s): c1517.swan.hcc.unl.edu:41031 +``` +{{% panel theme="warning" header="**Configuration will need done every time**" %}} Once your ParaView server job has finished, the connection details will change the next time you want to run the ParaView server. When you start the new server job, only the first section of the hostname and port will need to be changed. Click "Connect" then.{{% /panel %}} +The hostname and port is listed on the `Accepting connection(s)` line and are used in the GUI client to connect to the server process. + +To connect to the server process, choose "File" > "Connect", then "Add Server". + +{{< figure src="/images/ParaView/paraview_connect_add_server.png" height="450" >}} + +Fill in the information using the hostname and port previously. Using the example above, the dialog would look like + +{{< figure src="/images/ParaView/paraview_server_config.png" height="450" >}} + + +Click "Configure", then do "Manual Launch" on the next screen, and then save. +{{< figure src="/images/ParaView/paraview_manual_server.png" height="450" >}} +Once the configuration has been saved, it should return to the previous dialog and you can click "Connect" to have the client use the ParaView server running in a slurm job from earlier. +{{< figure src="/images/ParaView/paraview_server_connect.png" height="450" >}} +To verify you're connected, you can show the Memory Inspector by doing "View" -> "Memory Inspector". It should show both your client GUI and the server processes. +{{< figure src="/images/ParaView/paraview_server_memory.png" height="450" >}} + + + + + + + diff --git a/static/images/ParaView/paraview_add_server.png b/static/images/ParaView/paraview_add_server.png new file mode 100644 index 0000000000000000000000000000000000000000..83efdcdd67e62f252fc06c3bfa482b8a35397177 Binary files /dev/null and b/static/images/ParaView/paraview_add_server.png differ diff --git a/static/images/ParaView/paraview_client_file_connect.png b/static/images/ParaView/paraview_client_file_connect.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb515c5986ef977b8315e9c8f1a57ca04e8c08f Binary files /dev/null and b/static/images/ParaView/paraview_client_file_connect.png differ diff --git a/static/images/ParaView/paraview_client_launched.png b/static/images/ParaView/paraview_client_launched.png new file mode 100644 index 0000000000000000000000000000000000000000..7c1fb2a36a5179222b852669de263f26bb2d7cd3 Binary files /dev/null and b/static/images/ParaView/paraview_client_launched.png differ diff --git a/static/images/ParaView/paraview_client_terminal.png b/static/images/ParaView/paraview_client_terminal.png new file mode 100644 index 0000000000000000000000000000000000000000..bdf2d8e25025cc39aee4a82573b7df91278e7dd3 Binary files /dev/null and b/static/images/ParaView/paraview_client_terminal.png differ diff --git a/static/images/ParaView/paraview_connect_add_server.png b/static/images/ParaView/paraview_connect_add_server.png new file mode 100644 index 0000000000000000000000000000000000000000..e014d112053f31f76c6891d0e11c67a68ad14bdb Binary files /dev/null and b/static/images/ParaView/paraview_connect_add_server.png differ diff --git a/static/images/ParaView/paraview_manual_server.png b/static/images/ParaView/paraview_manual_server.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c6ea24947d2d1b56f60b1794f00e8325a734f1 Binary files /dev/null and b/static/images/ParaView/paraview_manual_server.png differ diff --git a/static/images/ParaView/paraview_server_config.png b/static/images/ParaView/paraview_server_config.png new file mode 100644 index 0000000000000000000000000000000000000000..4718d310b07333ad993952762b68206582a6247d Binary files /dev/null and b/static/images/ParaView/paraview_server_config.png differ diff --git a/static/images/ParaView/paraview_server_connect.png b/static/images/ParaView/paraview_server_connect.png new file mode 100644 index 0000000000000000000000000000000000000000..b1139ef49f33a9441bee2cf87762f9685fb2921d Binary files /dev/null and b/static/images/ParaView/paraview_server_connect.png differ diff --git a/static/images/ParaView/paraview_server_memory.png b/static/images/ParaView/paraview_server_memory.png new file mode 100644 index 0000000000000000000000000000000000000000..427079f620e79c8a61a617847d8c98a54a32c647 Binary files /dev/null and b/static/images/ParaView/paraview_server_memory.png differ