From c35557ce5839a3523fbfe01da00da893fe0c2d5a Mon Sep 17 00:00:00 2001 From: "Jean M. Favre" Date: Thu, 21 Aug 2025 15:37:54 +0200 Subject: [PATCH 1/4] adding category for Visualization apps, and adding ParaView --- docs/software/sciviz/index.md | 15 ++++ docs/software/sciviz/paraview.md | 137 +++++++++++++++++++++++++++++++ mkdocs.yml | 3 + 3 files changed, 155 insertions(+) create mode 100644 docs/software/sciviz/index.md create mode 100644 docs/software/sciviz/paraview.md diff --git a/docs/software/sciviz/index.md b/docs/software/sciviz/index.md new file mode 100644 index 00000000..083dc0e0 --- /dev/null +++ b/docs/software/sciviz/index.md @@ -0,0 +1,15 @@ +[](){#ref-software-scivis} +# Scientific Visualization + +CSCS provides and supports a selection of scientific visualization applications on the computing systems: we usually build community codes that are adopted by several users on our systems. + +CSCS staff can also help users with performance tuning and ParaView Python code to optimise their workflow in production. + +* [ParaView][ref-uenv-paraview] + +## Other applications + +CSCS provides [tools and environments][ref-building] for installing applications that are not on the list of supported applications. + +!!! info + We are building guides for installing [popular applications][ref-software-installation-guides]. diff --git a/docs/software/sciviz/paraview.md b/docs/software/sciviz/paraview.md new file mode 100644 index 00000000..6e8408df --- /dev/null +++ b/docs/software/sciviz/paraview.md @@ -0,0 +1,137 @@ +[](){#ref-uenv-paraview} +# ParaView + +[ParaView](https://www.paraview.org/) is an open-source, multi-platform scientific data analysis and visualization tool that enables analysis and visualization of extremely large datasets. ParaView is both a general purpose, end-user application with a distributed architecture that can be seamlessly leveraged by your desktop or other remote parallel computing resources and an extensible framework with a collection of tools and libraries for various applications including scripting (using Python), web visualization (through trame and ParaViewWeb), or in situ analysis (with Catalyst). + +!!! note "uenvs" + + [ParaView](https://www.paraview.org/) is provided on [ALPS][platforms-on-alps] via [uenv][ref-uenv]. + Please have a look at the [uenv documentation][ref-uenv] for more information about uenvs and how to use them. + + +## Running ParaView in batch mode with Python scripts + +The following sbatch script can be used as a template. + +=== "GH200" + + ```bash + #SBATCH -N 1 + #SBATCH --ntasks-per-node=4 + #SBATCH --cpus-per-task=72 + #SBATCH --gpus-per-task=1 + #SBATCH -A + #SBATCH --uenv=paraview/5.13.2:v2 --view=paraview + #SBATCH --hint=nomultithread + + export MPICH_GPU_SUPPORT_ENABLED=0 + + srun --cpus-per-task=72 --cpu_bind=sockets /user-environment/ParaView-5.13/gpu_wrapper.sh /user-environment/ParaView-5.13/bin/pvbatch ParaViewPythonScript.py + ``` + Current observation is that best performance is achieved using [one MPI rank per GPU][ref-slurm-gh200-single-rank-per-gpu]. How to run multiple ranks per GPU is described [here][ref-slurm-gh200-multi-rank-per-gpu]. + +=== "Eiger" + + ```bash + #SBATCH -N 1 + #SBATCH --ntasks-per-node=144 + #SBATCH -A + #SBATCH --uenv=paraview/5.13.2:v2 --view=paraview + #SBATCH --hint=nomultithread + + srun --cpus-per-task=144 /user-environment/ParaView-5.13/bin/pvbatch ParaViewPythonScript.py + ``` + + +## Using ParaView in client-server mode + +A ParaView server can connect to a remote ParaView client installed on your desktop. Make sure to use the same version on both sides. Your local ParaView GUI client needs to create a SLURM job with appropriate parameters. We recommend that you make a copy of the file `/user-environment/ParaView-5.13/rc-submit-pvserver.sh` to your $HOME, such that you can further fine-tune it. + +You will need to add the corresponding XML code to your local ParaView installation, such that the Connect menu entry recognizes the ALPS cluster. The following code would be added to your **local** `$HOME/.config/ParaView/servers.pvsc` file + +!!! Example "XML code to add to your local ParaView settings" +```console + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` diff --git a/mkdocs.yml b/mkdocs.yml index c1167de4..bb8b560c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -96,6 +96,9 @@ nav: - 'Resource and hooks': software/container-engine/resource-hook.md - 'EDF reference': software/container-engine/edf.md - 'Known issues': software/container-engine/known-issue.md + - 'Scientific Visualization': + - software/sciviz/index.md + - 'ParaView': software/sciviz/paraview.md - 'Unsupported Software': - software/unsupported/index.md - 'Matlab': build-install/applications/matlab.md From 1feb8d237e926f1fce18ceab546fe806cab5314b Mon Sep 17 00:00:00 2001 From: jfavre Date: Thu, 21 Aug 2025 16:05:43 +0200 Subject: [PATCH 2/4] Update docs/software/sciviz/index.md Co-authored-by: Ben Cumming --- docs/software/sciviz/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/software/sciviz/index.md b/docs/software/sciviz/index.md index 083dc0e0..0e1bac07 100644 --- a/docs/software/sciviz/index.md +++ b/docs/software/sciviz/index.md @@ -11,5 +11,5 @@ CSCS staff can also help users with performance tuning and ParaView Python code CSCS provides [tools and environments][ref-building] for installing applications that are not on the list of supported applications. -!!! info +!!! under-construction We are building guides for installing [popular applications][ref-software-installation-guides]. From fc01c46d58262aee7772b74305bb4632a8117524 Mon Sep 17 00:00:00 2001 From: jfavre Date: Thu, 21 Aug 2025 16:17:07 +0200 Subject: [PATCH 3/4] eiger has 128 cores available and the SLURM option is indeed --cpus-per-task to enable hybrid SMP parallelism in ParaView --- docs/software/sciviz/paraview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/software/sciviz/paraview.md b/docs/software/sciviz/paraview.md index 6e8408df..3f2dcd42 100644 --- a/docs/software/sciviz/paraview.md +++ b/docs/software/sciviz/paraview.md @@ -34,12 +34,12 @@ The following sbatch script can be used as a template. ```bash #SBATCH -N 1 - #SBATCH --ntasks-per-node=144 + #SBATCH --ntasks-per-node=128 #SBATCH -A #SBATCH --uenv=paraview/5.13.2:v2 --view=paraview #SBATCH --hint=nomultithread - srun --cpus-per-task=144 /user-environment/ParaView-5.13/bin/pvbatch ParaViewPythonScript.py + srun --cpus-per-task=128 /user-environment/ParaView-5.13/bin/pvbatch ParaViewPythonScript.py ``` From 89961543f44fedd28b913b57b879bd5ac657924d Mon Sep 17 00:00:00 2001 From: jfavre Date: Thu, 21 Aug 2025 16:27:27 +0200 Subject: [PATCH 4/4] reformat XML code in Example box --- docs/software/sciviz/paraview.md | 169 +++++++++++++++---------------- 1 file changed, 84 insertions(+), 85 deletions(-) diff --git a/docs/software/sciviz/paraview.md b/docs/software/sciviz/paraview.md index 3f2dcd42..fbb78b42 100644 --- a/docs/software/sciviz/paraview.md +++ b/docs/software/sciviz/paraview.md @@ -50,88 +50,87 @@ A ParaView server can connect to a remote ParaView client installed on your desk You will need to add the corresponding XML code to your local ParaView installation, such that the Connect menu entry recognizes the ALPS cluster. The following code would be added to your **local** `$HOME/.config/ParaView/servers.pvsc` file !!! Example "XML code to add to your local ParaView settings" -```console - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` + ```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ```