Visualization: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 62: Line 62:


<!--T:69-->
<!--T:69-->
4. Start ParaView on your laptop, go to ''File -> Connect'' (or click on the green ''Connect'' button on the toolbar) and then click ''Add Server''. You'll need to point ParaView to your local port 11111, so you can do something like name = cedar, server type = Client/Server, host = localhost, port = 11111, then click ''Configure'', select ''Manual'' and click ''Save''.
4. Start ParaView on your laptop, go to ''File -> Connect'' (or click on the green ''Connect'' button on the toolbar) and click ''Add Server''. You will need to point ParaView to your local port 11111, so you can do something like name = cedar, server type = Client/Server, host = localhost, port = 11111, then click ''Configure'', select ''Manual'' and click ''Save''.
:Once the remote is added to the configuration, simply select the server from the list and click ''Connect''. The first terminal window that read ''Accepting connection ...'' will now read ''Client connected''.
:Once the remote is added to the configuration, simply select the server from the list and click ''Connect''. The first terminal window that read ''Accepting connection ...'' will now read ''Client connected''.


Line 68: Line 68:
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.


'''NOTE:''' 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 laptop's GPU, the rotation with a mouse will be fast, but anything modestly intensive (under 20MB) will be shipped to your laptop and—depending on your connection—visualization might be slow. If you set it to 0MB, all rendering will be remote including rotation, so you'll be really using the cluster's GPU 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:''' 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 laptop's GPU, the rotation with a mouse will be fast, but anything modestly intensive (under 20MB) will be shipped to your laptop 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 be really using the cluster's GPU for everything, which is good for large data processing but not so good for interactivity. Experiment with the threshold to find a suitable value.
 


== CPU-based client-server visualization on Cedar and Graham == <!--T:43-->
== CPU-based client-server visualization on Cedar and Graham == <!--T:43-->


<!--T:44-->
<!--T:44-->
You can also do interactive client-server ParaView rendering on cluster CPUs. For some types of rendering modern CPU-based libraries such as OSPRay and OpenSWR offer performance quite similar to GPU-based rendering. And, since ParaView server uses MPI for distributed-memory processing, for very large datasets one can do parallel rendering on a large number of CPU cores, either on a single node, or scattered across multiple nodes.
You can also do interactive client-server ParaView rendering on cluster CPUs. For some types of rendering, modern CPU-based libraries such as OSPRay and OpenSWR offer performance quite similar to GPU-based rendering. Also, since the ParaView server uses MPI for distributed-memory processing, for very large datasets one can do parallel rendering on a large number of CPU cores, either on a single node, or scattered across multiple nodes.


<!--T:71-->
<!--T:71-->
To get started, install ParaView 5.3.x (where "x" could be anything) on your laptop as you need the same version as on the cluster. Log in to Cedar or Graham and start a serial non-GPU interactive job:
1. First, install on your laptop the same ParaView version as the one available on the cluster you will be using; log into Cedar or Graham and start a serial GPU interactive job.


   <!--T:45-->
   <!--T:45-->
Line 83: Line 82:


<!--T:46-->
<!--T:46-->
The job should automatically start on one of CPU interactive nodes. Once you get an interactive prompt (that is part of your job), load the offscreen ParaView module and start the server:
The job should automatically start on one of the CPU interactive nodes.
2. At the prompt that is now running inside your job, load the offscreen ParaView module and start the server.


   <!--T:47-->
   <!--T:47-->
Line 90: Line 90:


<!--T:48-->
<!--T:48-->
The flag "--mesa-swr-avx2" is important for much faster software rendering with OpenSWR library. Wait for the server to be ready to accept client connection:
The '''--mesa-swr-avx2''' flag is important for much faster software rendering with the OpenSWR library.  


<!--T:49-->
  <!--T:49-->
Connection URL: cs://cdr774.int.cedar.computecanada.ca:11111
Connection URL: cs://cdr774.int.cedar.computecanada.ca:11111
Accepting connection(s): cdr774.int.cedar.computecanada.ca:11111
Accepting connection(s): cdr774.int.cedar.computecanada.ca:11111


Wait for the server to be ready to accept client connection.
<!--T:50-->
<!--T:50-->
Take a note of the node (in this case cdr774) and the port (usually 11111) and then in another terminal on your laptop (on Mac/Linux; in Windows use a terminal emulator) link the port 11111 on your laptop and the same port on the compute node (make sure to use the correct compute node):
3. Make a note of the node (in this case cdr774) and the port (usually 11111) and in another terminal on your laptop (on Mac/Linux; in Windows use a terminal emulator) link the port 11111 on your laptop and the same port on the compute node (make sure to use the correct compute node).


   <!--T:51-->
   <!--T:51-->
Line 103: Line 104:


<!--T:52-->
<!--T:52-->
Start ParaView on your laptop, go to File -> Connect (or click on the green Connect button in the toolbar) and then click Add Server. You'll need to point ParaView to your local port 11111, so you can do something like name = cedar, server type = Client/Server, host = localhost, port = 11111, then click Configure, then select Manual and click Save. Once the remote is added to the configuration, simply select the server from the list and click Connect. The first terminal window that was saying "Accepting connection ..." will now say "Client connected" and possibly "SWR detected AVX2" (or it may confirm AVX2 support when you start rendering).
4. Start ParaView on your laptop, go to ''File -> Connect'' (or click on the green ''Connect'' button in the toolbar) and click ''Add Server''. You will need to point ParaView to your local port 11111, so you can do something like name = cedar, server type = Client/Server, host = localhost, port = 11111, then click ''Configure'', select ''Manual'' and click ''Save''.
:Once the remote is added to the configuration, simply select the server from the list and click ''Connect''. The first terminal window that read ''Accepting connection ...'' will now read ''Client connected''.


<!--T:53-->
<!--T:53-->
Then open a file in ParaView (it'll point you to the remote filesystem) and visualize it as usual. 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 laptop's GPU, the rotation with a mouse will be fast, but anything modestly intensive (under 20MB) will be shipped to your laptop and -- depending on your connection -- visualization might be slow. If you set it to 0MB, all rendering will be remote including rotation, so you'll be really using the cluster's CPU for everything, good for large data processing but not so good for interactivity. You'll need to play with this setting to see what works best for you.
5. Open a file in ParaView (it will point you to the remote filesystem) and visualize it as usual.
 
'''NOTE:''' 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 laptop's GPU, the rotation with a mouse will be fast, but anything modestly intensive (under 20MB) will be shipped to your laptop 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 be really using the cluster's GPU for everything, which is good for large data processing but not so good for interactivity. Experiment with the threshold to find a suitable value.


<!--T:54-->
<!--T:54-->
If you want to do parallel rendering on multiple CPUs, start a parallel job (don't forget to specify the correct maximum walltime limit):
If you want to do parallel rendering on multiple CPUs, start a parallel job; don't forget to specify the correct maximum walltime limit.


   <!--T:55-->
   <!--T:55-->
Line 132: Line 136:


<!--T:22-->
<!--T:22-->
You can launch a new cloud virtual machine (VM) as described in the [[Cloud Quick Start|Cloud Quick Start Guide]]. Once you log into the VM, you'll need to install some additional packages to be able to compile ParaView or VisIt. For example, on a CentOS VM you can type:
You can launch a new cloud virtual machine (VM) as described in the [[Cloud Quick Start|Cloud Quick Start Guide]]. Once you log into the VM, you will need to install some additional packages to be able to compile ParaView or VisIt. For example, on a CentOS VM you can type:


</translate>
</translate>
Line 153: Line 157:


<!--T:25-->
<!--T:25-->
Since the VM does not have access to a GPU (most Cloud West VMs don't), we need to compile ParaView with OSMesa support so that it can do offscreen (software) rendering. The default configuration of OSMesa will enable OpenSWR (Intel's software rasterization library to run OpenGL). What you'll end up with is a ParaView server that uses OSMesa for offscreen CPU-based rendering without X but with both llvmpipe (older and slower) and SWR (newer and faster) drivers built. We recommend using SWR.
Since the VM does not have access to a GPU (most Cloud West VMs don't), we need to compile ParaView with OSMesa support so that it can do offscreen (software) rendering. The default configuration of OSMesa will enable OpenSWR (Intel's software rasterization library to run OpenGL). What you will end up with is a ParaView server that uses OSMesa for offscreen CPU-based rendering without X but with both llvmpipe (older and slower) and SWR (newer and faster) drivers built. We recommend using SWR.


<!--T:26-->
<!--T:26-->
rsnt_translations
56,420

edits

Navigation menu