ParaView/en: Difference between revisions

Jump to navigation Jump to search
Updating to match new version of source page
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 6: Line 6:
'''NOTE 1:''' An important setting in ParaView's preferences is ''Render View -> Remote/Parallel Rendering Options -> Remote Render Threshold.'' If you set it to default (20MB) or similar, small rendering will be done on your computer's GPU, the rotation with a mouse will be fast, but anything modestly intensive (under 20MB) will be shipped to your computer and (depending on your connection) visualization might be slow. If you set it to 0MB, all rendering will be remote including rotation, so you will really be using the cluster resources for everything, which is good for large data processing but not so good for interactivity. Experiment with the threshold to find a suitable value.
'''NOTE 1:''' An important setting in ParaView's preferences is ''Render View -> Remote/Parallel Rendering Options -> Remote Render Threshold.'' If you set it to default (20MB) or similar, small rendering will be done on your computer's GPU, the rotation with a mouse will be fast, but anything modestly intensive (under 20MB) will be shipped to your computer and (depending on your connection) visualization might be slow. If you set it to 0MB, all rendering will be remote including rotation, so you will really be using the cluster resources for everything, which is good for large data processing but not so good for interactivity. Experiment with the threshold to find a suitable value.


'''NOTE 2:''' ParaView requires the same major version on the local client and the remote host; this prevents incompatibility that typically shows as a failed handshake when establishing the client-server connection. For example, to use ParaView server version 5.8.0 on the cluster, you need client version 5.8.x on your computer.
'''NOTE 2:''' ParaView requires the same major version on the local client and the remote host; this prevents incompatibility that typically shows as a failed handshake when establishing the client-server connection. For example, to use ParaView server version 5.10.0 on the cluster, you need client version 5.10.x on your computer.


Please use the tabs below to select the remote system.
Please use the tabs below to select the remote system.
Line 12: Line 12:
<tabs>
<tabs>


<tab name="Cedar,Graham,Béluga">
<tab name="Cedar,Graham,Béluga,Narval">
== Client-server visualization on Cedar, Graham and Béluga ==
== Client-server visualization on Cedar, Graham and Béluga ==


On Cedar / Graham / Béluga, you can do client-server rendering on both CPUs (in software) and GPUs (hardware acceleration). Due to additional complications with GPU rendering, we strongly recommend starting with CPU-only visualization, allocating as many cores as necessary to your rendering. The easiest way to estimate the number of necessary cores is to look at the amount of memory that you think you will need for your rendering and divide it by ~3.5 GB/core. For example, a 40GB dataset (that you load into memory at once, e.g. a single timestep) would require at least 12 cores just to hold the data. Since software rendering is CPU-intensive, we do not recommend allocating more than 4GB/core. In addition, it is important to allocate some memory for filters and data processing (e.g. a structured to unstructured dataset conversion will increase your memory footprint by ~3X); depending on your workflow, you may want to start this rendering with 32 cores or 64 cores. If your ParaView server gets killed when processing these data, you will need to increase the number of cores.
On Cedar / Graham / Béluga / Narval, you can do client-server rendering on both CPUs (in software) and GPUs (hardware acceleration). Due to additional complications with GPU rendering, we strongly recommend starting with CPU-only visualization, allocating as many cores as necessary to your rendering. The easiest way to estimate the number of necessary cores is to look at the amount of memory that you think you will need for your rendering and divide it by ~3.5 GB/core. For example, a 40GB dataset (that you load into memory at once, e.g. a single timestep) would require at least 12 cores just to hold the data. Since software rendering is CPU-intensive, we do not recommend allocating more than 4GB/core. In addition, it is important to allocate some memory for filters and data processing (e.g. a structured to unstructured dataset conversion will increase your memory footprint by ~3X); depending on your workflow, you may want to start this rendering with 32 cores or 64 cores. If your ParaView server gets killed when processing these data, you will need to increase the number of cores.


=== CPU-based visualization ===
=== CPU-based visualization ===
Line 29: Line 29:
2. At the prompt that is now running inside your job, load the offscreen ParaView module and start the server.
2. At the prompt that is now running inside your job, load the offscreen ParaView module and start the server.


{{Command|module load gcc/9.3.0 paraview-offscreen/5.8.0}}
{{Command|module load gcc/9.3.0 paraview-offscreen/5.10.0}}
{{Command|pvserver --force-offscreen-rendering
{{Command|pvserver --force-offscreen-rendering
|result=
|result=
Line 57: Line 57:


{{Commands
{{Commands
|module load gcc/9.3.0 paraview-offscreen/5.8.0
|module load gcc/9.3.0 paraview-offscreen/5.10.0
|srun pvserver --force-offscreen-rendering
|srun pvserver --force-offscreen-rendering
}}
}}
Line 75: Line 75:


{{Commands
{{Commands
|module load gcc/9.3.0 paraview-offscreen-gpu/5.8.0
|module load gcc/9.3.0 paraview-offscreen-gpu/5.10.0
|unset DISPLAY
|unset DISPLAY
}}
}}
Line 95: Line 95:


5. Open a file in ParaView (it will point you to the remote filesystem) and visualize it as usual.
5. Open a file in ParaView (it will point you to the remote filesystem) and visualize it as usual.
=== Rendering with NVIDIA's IndeX plugin ===
NVIDIA IndeX is a 3D volumetric interactive renderer on NVIDIA GPUs enabled as a ParaView server plugin. To use IndeX, connect via client-server to ParaView 5.10 (provided by paraview-offscreen-gpu/5.10.0) running inside an interactive GPU job as described above. Then in your client go to Tools | Manage Plugins and enable pvNVIDIAIndeX plugin first locally and then remotely. Loading it locally might not be necessary on all platforms, but we saw a bug in several configurations where ParaView server would crash if the local plugin was not selected first. After enabling the plugin, load your dataset and in the Representation drop-down menu select NVIDIA Index.
Our license lets you run NVIDIA IndeX in parallel on multiple GPUs, however parallel speedup is far from perfect. Before doing any production rendering with IndeX on multiple GPUs, please test your parallel scaling and verify that using more than one GPU leads to better performance for your dataset, otherwise use a single GPU.


</tab>
</tab>
38,760

edits

Navigation menu