-
Notifications
You must be signed in to change notification settings - Fork 41
adding category for Visualization apps, and adding ParaView #234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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]. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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 <account> | ||
| #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 | ||
jfavre marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| #SBATCH -A <account> | ||
| #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 | ||
jfavre marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ``` | ||
|
|
||
|
|
||
| ## 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 | ||
jfavre marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| <Servers> | ||
| <Server name="Reverse-Connect-Daint.Alps" configuration="" resource="csrc://:11111" timeout="-1"> | ||
| <CommandStartup> | ||
| <Options> | ||
| <Option name="MACHINE" label="remote cluster" save="true"> | ||
| <String default="daint"/> | ||
| </Option> | ||
| <Option name="SSH_USER" label="SSH Username" save="true"> | ||
| <String default="your-userid"/> | ||
| </Option> | ||
| <Option name="ACCOUNT" label="Account to be charged" save="true"> | ||
| <String default="your-projectid"/> | ||
| </Option> | ||
| <Option name="RESERVATION" label="reservation name" save="true"> | ||
| <Enumeration default="none"> | ||
| <Entry value="" label="none"/> | ||
| </Enumeration> | ||
| </Option> | ||
| <Option name="SSH_CMD" label="SSH command" save="true"> | ||
| <File default="/usr/bin/ssh"/> | ||
| </Option> | ||
| <Option name="REMOTESCRIPT" label="The remote script which generates the SLURM job" save="true"> | ||
| <String default="/users/your-userid/rc-submit-pvserver.sh"/> | ||
| </Option> | ||
| <Option name="PVNodes" label="Number of cluster nodes" save="true"> | ||
| <Range type="int" min="1" max="128" step="1" default="1"/> | ||
| </Option> | ||
| <Option name="PVTasks" label="Number of pvserver per node" save="true"> | ||
| <Range type="int" min="1" max="4" step="1" default="4"/> | ||
| </Option> | ||
| <Option name="Queue" label="Queue" save="true"> | ||
| <Enumeration default="normal"> | ||
| <Entry value="normal" label="normal"/> | ||
| <Entry value="debug" label="debug"/> | ||
| </Enumeration> | ||
| </Option> | ||
| <Option name="MemxNode" label="MemxNode" save="true"> | ||
| <Enumeration default="standard"> | ||
| <Entry value="high" label="high"/> | ||
| <Entry value="standard" label="standard"/> | ||
| </Enumeration> | ||
| </Option> | ||
| <Option name="VERSION" label="VERSION ?" save="true"> | ||
| <Enumeration default="5.13.2:v2"> | ||
| <Entry value="5.13.2:v2" label="5.13.2:v2"/> | ||
| </Enumeration> | ||
| </Option> | ||
| <Option name="PV_SERVER_PORT" label="pvserver port" save="true"> | ||
| <Range type="int" min="1024" max="65535" step="1" default="1100"/> | ||
| </Option> | ||
| <Option name="NUMMIN" label="job wall time" save="true"> | ||
| <String default="00:29:59"/> | ||
| </Option> | ||
| <Option name="SESSIONID" label="Session id" save="true"> | ||
| <String default="ParaViewServer"/> | ||
| </Option> | ||
| </Options> | ||
| <Command exec="$SSH_CMD$" delay="5" process_wait="0"> | ||
| <Arguments> | ||
| <Argument value="-A"/> | ||
| <Argument value="-l"/> | ||
| <Argument value="$SSH_USER$"/> | ||
| <Argument value="-R"/> | ||
| <Argument value="$PV_SERVER_PORT$:localhost:$PV_SERVER_PORT$"/> | ||
| <Argument value="$MACHINE$"/> | ||
| <Argument value="$REMOTESCRIPT$"/> | ||
| <Argument value="$SESSIONID$"/> | ||
| <Argument value="$NUMMIN$"/> | ||
| <Argument value="$PVNodes$"/> | ||
| <Argument value="$PVTasks$"/> | ||
| <Argument value="$PV_SERVER_PORT$"/> | ||
| <Argument value="$MACHINE$"/> | ||
| <Argument value="$VERSION$"/> | ||
| <Argument value="$Queue$"/> | ||
| <Argument value="$MemxNode$"/> | ||
| <Argument value="$ACCOUNT$"/> | ||
| <Argument value="$RESERVATION$;"/> | ||
| <Argument value="sleep"/> | ||
| <Argument value="6000"/> | ||
| </Arguments> | ||
| </Command> | ||
| </Comma | ||
| </Servers> | ||
| ``` | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.