Visualization: Difference between revisions

Jump to navigation Jump to search
Marked this version for translation
No edit summary
(Marked this version for translation)
Line 28: Line 28:
= Visualization on the new Compute Canada systems = <!--T:6-->
= Visualization on the new Compute Canada systems = <!--T:6-->


== Start a remote desktop via VNC ==
== Start a remote desktop via VNC == <!--T:92-->


<!--T:93-->
Frequently, it may be useful to start up graphical user interfaces for various software packages like Matlab. Doing so over X-forwarding can result in a very slow connection to the server, one useful alternative to X-forwarding is using VNC to start and connect to a remote desktop.  
Frequently, it may be useful to start up graphical user interfaces for various software packages like Matlab. Doing so over X-forwarding can result in a very slow connection to the server, one useful alternative to X-forwarding is using VNC to start and connect to a remote desktop.  


<!--T:94-->
For more information, please see the article on [[VNC]].
For more information, please see the article on [[VNC]].


Line 188: Line 190:
Click Ok and wait for VisIt's engine to start. If you selected rendering on a compute node, it may take some time for your job to get started. Once your dataset appears in the Active source in the main VisIt window, the VisIt's engine is running, and you can proceed with creating and drawing your plot.
Click Ok and wait for VisIt's engine to start. If you selected rendering on a compute node, it may take some time for your job to get started. Once your dataset appears in the Active source in the main VisIt window, the VisIt's engine is running, and you can proceed with creating and drawing your plot.


== Visualization on Niagara ==
== Visualization on Niagara == <!--T:95-->
=== Software Available ===
=== Software Available ===
We have installed the latest versions of the open source visualization suites: VMD, VisIt and ParaView.
We have installed the latest versions of the open source visualization suites: VMD, VisIt and ParaView.


<!--T:96-->
Notice that for using ParaView you need to explicitly specify one of the mesa flags in order to avoid trying to use openGL, i.e.,
Notice that for using ParaView you need to explicitly specify one of the mesa flags in order to avoid trying to use openGL, i.e.,
after loading the paraview module, use the following command:
after loading the paraview module, use the following command:


   paraview --mesa-swr
   <!--T:97-->
paraview --mesa-swr


<!--T:98-->
Notice that Niagara does not have specialized nodes nor specially designated hardware for visualization, so if you want to perform interactive visualization or exploration of your data you will need to submit an interactive job (debug job, see [[https://docs.scinet.utoronto.ca/index.php/Niagara_Quickstart#Testing]]).
Notice that Niagara does not have specialized nodes nor specially designated hardware for visualization, so if you want to perform interactive visualization or exploration of your data you will need to submit an interactive job (debug job, see [[https://docs.scinet.utoronto.ca/index.php/Niagara_Quickstart#Testing]]).
For the same reason you won't be able to request or use GPUs for rendering as there are none!
For the same reason you won't be able to request or use GPUs for rendering as there are none!


=== Interactive Visualization ===
=== Interactive Visualization === <!--T:99-->
Runtime is limited on the login nodes, so you will need to request a testing job in order to have more time for exploring and visualizing your data.
Runtime is limited on the login nodes, so you will need to request a testing job in order to have more time for exploring and visualizing your data.
Additionally by doing so, you will have access to the 40 cores of each of the nodes requested.
Additionally by doing so, you will have access to the 40 cores of each of the nodes requested.
Line 207: Line 212:
<li> ssh into niagara.scinet.utoronto.ca with the -X/-Y flag for x-forwarding
<li> ssh into niagara.scinet.utoronto.ca with the -X/-Y flag for x-forwarding


<!--T:100-->
<li> request an interactive job, ie.</li>
<li> request an interactive job, ie.</li>
   debugjob
   debugjob
this will connect you to a node, let's say for the argument "niaXYZW"
this will connect you to a node, let's say for the argument "niaXYZW"


<!--T:101-->
<li> run your favourite visualization program, eg. VisIt/ParaView </li>
<li> run your favourite visualization program, eg. VisIt/ParaView </li>


   module load visit
   <!--T:102-->
module load visit
   visit
   visit


   module load paraview
   <!--T:103-->
module load paraview
   paraview --mesa-swr
   paraview --mesa-swr


<!--T:104-->
<li> exit the debug session.
<li> exit the debug session.
</ol>
</ol>


=== Remote Visualization -- Client-Server Mode ===
=== Remote Visualization -- Client-Server Mode === <!--T:105-->
You can use any of the remote visualization protocols supported for both VisIt and ParaView.
You can use any of the remote visualization protocols supported for both VisIt and ParaView.


<!--T:106-->
Both, VisIt and ParaView, support "remote visualization" protocols.
Both, VisIt and ParaView, support "remote visualization" protocols.
This includes:
This includes:
Line 233: Line 244:
</ul>
</ul>


==== VisIt Client-Server Configuration ====
==== VisIt Client-Server Configuration ==== <!--T:107-->
For allowing VisIt connect to the Niagara cluster you need to set up a "Host Configuration".
For allowing VisIt connect to the Niagara cluster you need to set up a "Host Configuration".


<!--T:108-->
Choose *one* of the methods bellow:
Choose *one* of the methods bellow:


====Niagara Host Configuration File====
====Niagara Host Configuration File==== <!--T:109-->
You can just download the Niagara host file, right click on the following link [https://support.scinet.utoronto.ca/~mponce/viz/host_niagara.xml host_niagara.xml] and select save as...  
You can just download the Niagara host file, right click on the following link [https://support.scinet.utoronto.ca/~mponce/viz/host_niagara.xml host_niagara.xml] and select save as...  
Depending on the OS you are using on your local machine:
Depending on the OS you are using on your local machine:
Line 246: Line 258:
</ul>
</ul>


<!--T:110-->
Restart VisIt and check that the niagara profile should be available in your hosts.
Restart VisIt and check that the niagara profile should be available in your hosts.


====Manual Niagara Host Configuration====
====Manual Niagara Host Configuration==== <!--T:111-->
If you prefer to set up the verser yourself, instead of the configuration file from the previous section, just follow along these steps.
If you prefer to set up the verser yourself, instead of the configuration file from the previous section, just follow along these steps.
Open VisIt in your computer, go to the 'Options' menu, and click on "Host profiles..."
Open VisIt in your computer, go to the 'Options' menu, and click on "Host profiles..."
Then click on 'New Host' and select:
Then click on 'New Host' and select:


  Host nickname = niagara
  <!--T:112-->
Host nickname = niagara
  Remote host name = niagara.scinet.utoronto.ca
  Remote host name = niagara.scinet.utoronto.ca
  Username = Enter_Your_OWN_username_HERE
  Username = Enter_Your_OWN_username_HERE
  Path to VisIt installation = /scinet/niagara/software/2018a/opt/base/visit/2.13.1
  Path to VisIt installation = /scinet/niagara/software/2018a/opt/base/visit/2.13.1


<!--T:113-->
Click on the "<code>Tunnel data connections through SSH</code>", and then hit Apply!
Click on the "<code>Tunnel data connections through SSH</code>", and then hit Apply!


<!--T:114-->
{| align="center"
{| align="center"
| [[File:Visit_niagara-01.png|480px|]]
| [[File:Visit_niagara-01.png|480px|]]
Line 265: Line 281:




<!--T:115-->
Now on the top of the window click on 'Launch Profiles' tab.
Now on the top of the window click on 'Launch Profiles' tab.
You will have to create two profiles:
You will have to create two profiles:
Line 274: Line 291:
Then click on the Parallel tab and set the "Launch parallel engine"
Then click on the Parallel tab and set the "Launch parallel engine"


<!--T:116-->
For the slurm profile, you will need to set the parameters as seen below:
For the slurm profile, you will need to set the parameters as seen below:


<!--T:117-->
<br style="clear:both" />
<br style="clear:both" />
{| align="center"
{| align="center"
Line 283: Line 302:
<br style="clear:both" />
<br style="clear:both" />


<!--T:118-->
Finally, after you are done with these changes, go to the "Options" menu and select "Save settings", so that your changes are saved and available next time you relaunch VisIt.
Finally, after you are done with these changes, go to the "Options" menu and select "Save settings", so that your changes are saved and available next time you relaunch VisIt.


==== ParaView Client-Server Configuration ====
==== ParaView Client-Server Configuration ==== <!--T:119-->
Similarly to VisIt you will need to start a <code>debugjob</code> in order to use a compute node to files and compute resources.
Similarly to VisIt you will need to start a <code>debugjob</code> in order to use a compute node to files and compute resources.
Here are the steps to follow:
Here are the steps to follow:
Line 291: Line 311:
<li> Launch an interactive job (debugjob) on Niagara,</li>
<li> Launch an interactive job (debugjob) on Niagara,</li>


   debugjob
   <!--T:120-->
debugjob


<!--T:121-->
<li> After getting a compute node, let's say niaXYZW, load the ParaView module and start a ParaView server,</li>
<li> After getting a compute node, let's say niaXYZW, load the ParaView module and start a ParaView server,</li>


   module load paraview
   <!--T:122-->
module load paraview
   pvserver --mesa-swr-ax2
   pvserver --mesa-swr-ax2


<!--T:123-->
The <code>--mesa-swr-avx2</code> flag has been reported to offer faster software rendering using the OpenSWR library.
The <code>--mesa-swr-avx2</code> flag has been reported to offer faster software rendering using the OpenSWR library.


<!--T:124-->
<li> Now, you have to wait a few seconds for the server to be ready to accept client connections.</li>
<li> Now, you have to wait a few seconds for the server to be ready to accept client connections.</li>


   Waiting for client...
   <!--T:125-->
Waiting for client...
   Connection URL: cs://niaXYZW.scinet.local:11111
   Connection URL: cs://niaXYZW.scinet.local:11111
   Accepting connection(s): niaXYZW.scinet.local:11111
   Accepting connection(s): niaXYZW.scinet.local:11111


<!--T:126-->
<li> Open a new terminal without closing your debugjob, and ssh into Niagara using the following command,</li>
<li> Open a new terminal without closing your debugjob, and ssh into Niagara using the following command,</li>


   ssh YOURusername@niagara.scinet.utoronto.ca -L11111:niaXYZW:11111 -N
   <!--T:127-->
ssh YOURusername@niagara.scinet.utoronto.ca -L11111:niaXYZW:11111 -N


<!--T:128-->
this will establish a tunnel mapping the port 11111 in your computer (<code>localhost</code>) to the port 11111 on the Niagara's compute node, <code>niaXYZW</code>, where the ParaView server will be waiting for connections.
this will establish a tunnel mapping the port 11111 in your computer (<code>localhost</code>) to the port 11111 on the Niagara's compute node, <code>niaXYZW</code>, where the ParaView server will be waiting for connections.


<!--T:129-->
<li> Start ParaView on your local computer, go to "File -> Connect" and click on 'Add Server'.
<li> Start ParaView on your local computer, go to "File -> Connect" and click on 'Add Server'.
You will need to point ParaView to your local port <code>11111</code>, so you can do something like</li>
You will need to point ParaView to your local port <code>11111</code>, so you can do something like</li>
Line 320: Line 350:
then click Configure, select <code>Manual</code> and click Save.
then click Configure, select <code>Manual</code> and click Save.


<!--T:130-->
<li> Once the remote server is added to the configuration, simply select the server from the list and click Connect.
<li> Once the remote server is added to the configuration, simply select the server from the list and click Connect.
The first terminal window that read <code>Accepting connection...</code> will now read <code>Client connected</code>.
The first terminal window that read <code>Accepting connection...</code> will now read <code>Client connected</code>.


<!--T:131-->
<li> Open a file in ParaView (it will point you to the remote filesystem) and visualize it as usual.
<li> Open a file in ParaView (it will point you to the remote filesystem) and visualize it as usual.


<!--T:132-->
</ol>
</ol>


====Multiple CPUs====
====Multiple CPUs==== <!--T:133-->
For performing parallel rendering using multiple CPUs, <code>pvserver</code> should be run using <code>srun</code>, ie. either submit a job script or request a job using
For performing parallel rendering using multiple CPUs, <code>pvserver</code> should be run using <code>srun</code>, ie. either submit a job script or request a job using


<!--T:134-->
<source lang="bash"> salloc --ntasks=N*40 --nodes=N --time=1:00:00</source>
<source lang="bash"> salloc --ntasks=N*40 --nodes=N --time=1:00:00</source>


   module load paraview
   <!--T:135-->
module load paraview
   srun pvserver --mesa
   srun pvserver --mesa


==== Final Considerations ====
==== Final Considerations ==== <!--T:136-->
Usually both VisIt and ParaView require to use the same version between the local client and the remote host, please try to stick to that to avoid having incompatibility issues, which might result in potential problems during the connections.
Usually both VisIt and ParaView require to use the same version between the local client and the remote host, please try to stick to that to avoid having incompatibility issues, which might result in potential problems during the connections.


=== Other Versions ===
=== Other Versions === <!--T:137-->
Alternatively you can try to use the visualization modules available on the CCEnv stack, for doing so just load the CCEnv module and select your favourite visualization module.
Alternatively you can try to use the visualization modules available on the CCEnv stack, for doing so just load the CCEnv module and select your favourite visualization module.


Line 478: Line 513:
= Upcoming visualization events = <!--T:7-->
= Upcoming visualization events = <!--T:7-->


<!--T:138-->
Please let us know if you would like to see a visualization workshop at your institution.
Please let us know if you would like to see a visualization workshop at your institution.


rsnt_translations
56,420

edits

Navigation menu