https://public.kitware.com/Wiki/api.php?action=feedcontributions&user=Kmorel&feedformat=atomKitwarePublic - User contributions [en]2024-03-29T00:17:26ZUser contributionsMediaWiki 1.38.6https://public.kitware.com/Wiki/index.php?title=File:ParaViewTutorial56.pdf&diff=62977File:ParaViewTutorial56.pdf2018-12-06T17:41:07Z<p>Kmorel: Kmorel uploaded a new version of File:ParaViewTutorial56.pdf</p>
<hr />
<div>SAND 2018-11803 TR</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=62976File:ParaView Tutorial Slides.pptx2018-12-06T17:37:47Z<p>Kmorel: Kmorel uploaded a new version of File:ParaView Tutorial Slides.pptx</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1 and Supercomputing 2016 for ParaView 5.2.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=ParaView_Self-directed_Tutorial&diff=62901ParaView Self-directed Tutorial2018-10-15T21:25:24Z<p>Kmorel: /* LaTeX Source */</p>
<hr />
<div>The ParaView Tutorial is an introductory and comprehensive tutorial. It teaches using ParaView through examples that start at basic usage and continue through more advanced topics such as temporal analysis, animation, parallel processing, and scripting.<br />
<br />
This tutorial is sometimes referred to as the supercomputing tutorial because it originated as the handout documents for a series of tutorials at supercomputing. However, because the tutorial was designed for the beginning user, the material was general enough to be useful to a broad audience and became a popular document for learning ParaView. As time passes we are starting to add more advanced topics from tutorials in more specific domains. This tutorial has become something of a repository for teaching materials, hence simply ''the'' tutorial.<br />
<br />
To get started, you will need the document itself.<br />
<br />
* [[Media:ParaViewTutorial56.pdf|The ParaView Tutorial (for version 5.6)]]<br />
<br />
Of course, you will also need ParaView itself. You can get the most recent version of ParaView from http://www.paraview.org.<br />
<br />
If you want to reference this version of The ParaView Tutorial as a publication, please use the following:<br />
<br />
Kenneth Moreland. ''The ParaView Tutorial'', Version 5.6. Technical Report SAND 2018-11803 TR, Sandia National Laboratories, 2018.<br />
<br />
== Translations ==<br />
<br />
Some individuals have been good enough to translate the tutorial in other languages. When they become available, we will post them here. Please keep in mind that these are done after the English version is created and on a volunteer basis. If you are not finding a recent translation in your native language, then thanks in advance for volunteering to create a new translation.<br />
<br />
* [[Media:ParaViewTutorial42-jp.pdf|'''Japanese Translation''' of the ParaView Tutorial for version 4.2]]. Thanks to Takuya OSHIMA, Kei OGINO, Hidekazu TANAKA, Masashi IMANO, and Haruka Tsubota.<br />
<br />
== Previous Versions ==<br />
<br />
* [[Media:ParaViewTutorial54.pdf|The ParaView Tutorial for version 5.4]]<br />
* [[Media:ParaViewTutorial52.pdf|The ParaView Tutorial for version 5.2]]<br />
* [[Media:ParaViewTutorial51.pdf|The ParaView Tutorial for version 5.1]]<br />
* [[Media:ParaViewTutorial44.pdf|The ParaView Tutorial for version 4.4]]<br />
* [[Media:ParaViewTutorial42.pdf|The ParaView Tutorial for version 4.2]]<br />
* [[Media:ParaViewTutorial41.pdf|The ParaView Tutorial for version 4.1]]<br />
* [[Media:ParaViewTutorial40.pdf|The ParaView Tutorial for version 4.0]]<br />
* [[Media:ParaViewTutorial398.pdf|The ParaView Tutorial for version 3.98]]<br />
* [[Media:ParaViewTutorial312.pdf|The ParaView Tutorial for version 3.12]]<br />
* [[Media:ParaViewTutorial310.pdf|The ParaView Tutorial for version 3.10]]<br />
* [[Media:ParaViewTutorial38.pdf|The ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial36.pdf|The ParaView Tutorial for version 3.6]]<br />
* [[SC08 ParaView Tutorial]]<br />
* [[SC07 ParaView Tutorial]]<br />
* [[Media:ParaViewTutorial38-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.6]]<br />
<br />
<br />
== Presentation Data and Scripts ==<br />
Your one stop shop for data files and scripts that accompany the tutorial.<br />
<br />
* [[Media:ParaViewTutorialHandouts.tar.gz|'''ParaView Tutorial Handouts''' (in tar/gzip)]]<br />
* [[Media:ParaViewTutorialHandouts.zip|'''ParaView Tutorial Handouts''' (in zip)]]<br />
<br />
<br />
Recent binary distributions of ParaView (starting with version 5.2) come with the data needed for the tutorial exercises. For earlier versions you will need to download the example data. (The two archives below contain the same data. Just download the one with your preferred archive format.)<br />
<br />
* [[Media:ParaViewTutorialData.tar.gz|'''The ParaView Tutorial Data''' (in tar/gzip)]]<br />
* [[Media:ParaViewTutorialData.zip|'''The ParaView Tutorial Data''' (in zip)]]<br />
* [[Media:ParaViewTutorialScripts.tar.gz|'''ParaView Scripts''' (in tar/gzip)]]<br />
<br />
<br />
== Presentation Slides ==<br />
<br />
Several people have requested the slides for the tutorial for their own presentations. Here is a link to PowerPoint slides that have been presented recently.<br />
<br />
* [[Media:ParaView_Tutorial_Slides.pptx|ParaView Tutorial Slides]]<br />
<br />
Be aware that these slides are ''not'' intended for learning ParaView on your own. They make no sense without an instructor already familiar with ParaView. Instead, use the ParaView tutorial notes document posted at the top of this page. It contains all of the material in the slides plus more plus full descriptions on how everything works.<br />
<br />
Additional material for the IEEE SC presentations is here:<br />
* [[Media:SC17Supplemental.tgz|Additional Material for SC17 covering Catalyst]]<br />
* [[Media:SC14Supplemental.tgz|Additional Material for SC14 covering Catalyst and Cinema]]<br />
<br />
== LaTeX Source ==<br />
<br />
In the past, individuals have requested the source materials for the tutorial. In response, the LaTeX source and images are posted at https://gitlab.kitware.com/paraview/paraview-tutorial. Or you can download the LaTeX repository from these links:<br />
<br />
* [https://gitlab.kitware.com/paraview/paraview-tutorial/-/archive/master/paraview-tutorial-master.zip paraview-tutorial-master.zip]<br />
* [https://gitlab.kitware.com/paraview/paraview-tutorial/-/archive/master/paraview-tutorial-master.tar.gz paraview-tutorial-master.tar.gz]<br />
* [https://gitlab.kitware.com/paraview/paraview-tutorial/-/archive/master/paraview-tutorial-master.tar.bz2 paraview-tutorial-master.tar.bz2]<br />
* [https://gitlab.kitware.com/paraview/paraview-tutorial/-/archive/master/paraview-tutorial-master.tar paraview-tutorial-master.tar]<br />
<br />
Contributions to the text are always welcome. Please send patches or git pull requests either directly to me (kmorel@sandia.gov) or to the ParaView mailing list (paraview@paraview.org).<br />
<br />
== License ==<br />
<br />
https://i.creativecommons.org/l/by/4.0/88x31.png<br /><br />
This work is licensed under a [http://creativecommons.org/licenses/by/4.0/ Creative Commons Attribution 4.0 International License].</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=62900File:ParaView Tutorial Slides.pptx2018-10-15T21:24:29Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaView Tutorial Slides.pptx&quot;</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1 and Supercomputing 2016 for ParaView 5.2.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=ParaView_Self-directed_Tutorial&diff=62899ParaView Self-directed Tutorial2018-10-15T21:20:29Z<p>Kmorel: </p>
<hr />
<div>The ParaView Tutorial is an introductory and comprehensive tutorial. It teaches using ParaView through examples that start at basic usage and continue through more advanced topics such as temporal analysis, animation, parallel processing, and scripting.<br />
<br />
This tutorial is sometimes referred to as the supercomputing tutorial because it originated as the handout documents for a series of tutorials at supercomputing. However, because the tutorial was designed for the beginning user, the material was general enough to be useful to a broad audience and became a popular document for learning ParaView. As time passes we are starting to add more advanced topics from tutorials in more specific domains. This tutorial has become something of a repository for teaching materials, hence simply ''the'' tutorial.<br />
<br />
To get started, you will need the document itself.<br />
<br />
* [[Media:ParaViewTutorial56.pdf|The ParaView Tutorial (for version 5.6)]]<br />
<br />
Of course, you will also need ParaView itself. You can get the most recent version of ParaView from http://www.paraview.org.<br />
<br />
If you want to reference this version of The ParaView Tutorial as a publication, please use the following:<br />
<br />
Kenneth Moreland. ''The ParaView Tutorial'', Version 5.6. Technical Report SAND 2018-11803 TR, Sandia National Laboratories, 2018.<br />
<br />
== Translations ==<br />
<br />
Some individuals have been good enough to translate the tutorial in other languages. When they become available, we will post them here. Please keep in mind that these are done after the English version is created and on a volunteer basis. If you are not finding a recent translation in your native language, then thanks in advance for volunteering to create a new translation.<br />
<br />
* [[Media:ParaViewTutorial42-jp.pdf|'''Japanese Translation''' of the ParaView Tutorial for version 4.2]]. Thanks to Takuya OSHIMA, Kei OGINO, Hidekazu TANAKA, Masashi IMANO, and Haruka Tsubota.<br />
<br />
== Previous Versions ==<br />
<br />
* [[Media:ParaViewTutorial54.pdf|The ParaView Tutorial for version 5.4]]<br />
* [[Media:ParaViewTutorial52.pdf|The ParaView Tutorial for version 5.2]]<br />
* [[Media:ParaViewTutorial51.pdf|The ParaView Tutorial for version 5.1]]<br />
* [[Media:ParaViewTutorial44.pdf|The ParaView Tutorial for version 4.4]]<br />
* [[Media:ParaViewTutorial42.pdf|The ParaView Tutorial for version 4.2]]<br />
* [[Media:ParaViewTutorial41.pdf|The ParaView Tutorial for version 4.1]]<br />
* [[Media:ParaViewTutorial40.pdf|The ParaView Tutorial for version 4.0]]<br />
* [[Media:ParaViewTutorial398.pdf|The ParaView Tutorial for version 3.98]]<br />
* [[Media:ParaViewTutorial312.pdf|The ParaView Tutorial for version 3.12]]<br />
* [[Media:ParaViewTutorial310.pdf|The ParaView Tutorial for version 3.10]]<br />
* [[Media:ParaViewTutorial38.pdf|The ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial36.pdf|The ParaView Tutorial for version 3.6]]<br />
* [[SC08 ParaView Tutorial]]<br />
* [[SC07 ParaView Tutorial]]<br />
* [[Media:ParaViewTutorial38-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.6]]<br />
<br />
<br />
== Presentation Data and Scripts ==<br />
Your one stop shop for data files and scripts that accompany the tutorial.<br />
<br />
* [[Media:ParaViewTutorialHandouts.tar.gz|'''ParaView Tutorial Handouts''' (in tar/gzip)]]<br />
* [[Media:ParaViewTutorialHandouts.zip|'''ParaView Tutorial Handouts''' (in zip)]]<br />
<br />
<br />
Recent binary distributions of ParaView (starting with version 5.2) come with the data needed for the tutorial exercises. For earlier versions you will need to download the example data. (The two archives below contain the same data. Just download the one with your preferred archive format.)<br />
<br />
* [[Media:ParaViewTutorialData.tar.gz|'''The ParaView Tutorial Data''' (in tar/gzip)]]<br />
* [[Media:ParaViewTutorialData.zip|'''The ParaView Tutorial Data''' (in zip)]]<br />
* [[Media:ParaViewTutorialScripts.tar.gz|'''ParaView Scripts''' (in tar/gzip)]]<br />
<br />
<br />
== Presentation Slides ==<br />
<br />
Several people have requested the slides for the tutorial for their own presentations. Here is a link to PowerPoint slides that have been presented recently.<br />
<br />
* [[Media:ParaView_Tutorial_Slides.pptx|ParaView Tutorial Slides]]<br />
<br />
Be aware that these slides are ''not'' intended for learning ParaView on your own. They make no sense without an instructor already familiar with ParaView. Instead, use the ParaView tutorial notes document posted at the top of this page. It contains all of the material in the slides plus more plus full descriptions on how everything works.<br />
<br />
Additional material for the IEEE SC presentations is here:<br />
* [[Media:SC17Supplemental.tgz|Additional Material for SC17 covering Catalyst]]<br />
* [[Media:SC14Supplemental.tgz|Additional Material for SC14 covering Catalyst and Cinema]]<br />
<br />
== LaTeX Source ==<br />
<br />
In the past, individuals have requested the source materials for the tutorial. In response, the LaTeX source and images are posted at https://gitlab.kitware.com/paraview/paraview-tutorial. Or you can download the LaTeX repository from this link:<br />
<br />
* [[Media:ParaViewTutorialSrc.tar.gz]]<br />
<br />
Contributions to the text are always welcome. Please send patches or git pull requests either directly to me (kmorel@sandia.gov) or to the ParaView mailing list (paraview@paraview.org).<br />
<br />
== License ==<br />
<br />
https://i.creativecommons.org/l/by/4.0/88x31.png<br /><br />
This work is licensed under a [http://creativecommons.org/licenses/by/4.0/ Creative Commons Attribution 4.0 International License].</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaViewTutorial56.pdf&diff=62898File:ParaViewTutorial56.pdf2018-10-15T21:19:41Z<p>Kmorel: SAND 2018-11803 TR</p>
<hr />
<div>SAND 2018-11803 TR</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=CMakeUserUseLATEX&diff=62849CMakeUserUseLATEX2018-05-01T16:46:18Z<p>Kmorel: </p>
<hr />
<div>{{CMake/Template/Moved}}<br />
<br />
This page has moved [https://gitlab.kitware.com/kmorel/UseLATEX here].</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=62124File:ParaView Tutorial Slides.pptx2017-11-06T20:48:02Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaView Tutorial Slides.pptx&quot;</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1 and Supercomputing 2016 for ParaView 5.2.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=62123File:ParaView Tutorial Slides.pptx2017-10-30T19:46:12Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaView Tutorial Slides.pptx&quot;</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1 and Supercomputing 2016 for ParaView 5.2.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=62121File:ParaView Tutorial Slides.pptx2017-10-25T23:10:45Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaView Tutorial Slides.pptx&quot;</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1 and Supercomputing 2016 for ParaView 5.2.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=ParaView&diff=62091ParaView2017-10-19T20:38:26Z<p>Kmorel: /* Compile/Install */</p>
<hr />
<div><center>[[image:pvsplash1.png]]</center><br />
<br />
<br />
<br />
ParaView is an open-source, multi-platform application designed to visualize data sets of varying sizes from small to very large. The goals of the ParaView project include developing an open-source, multi-platform visualization application that supports distributed computational models to process large data sets. It has an open, flexible, and intuitive user interface. Furthermore, ParaView is built on an extensible architecture based on open standards. ParaView runs on distributed and shared memory parallel as well as single processor systems and has been succesfully tested on Windows, Linux, Mac OS X, IBM Blue Gene, Cray XT3 and various Unix workstations and clusters. Under the hood, ParaView uses the Visualization Toolkit as the data processing and rendering engine and has a user interface written using the Qt cross-platform application framework.<br />
<br />
The goal of this Wiki is to provide up-to-date documentation maintained by the developer and user communities. As such, we welcome volunteers that would like to contribute. If you are interested in contributing, please contact us on the ParaView mailing list http://public.kitware.com/mailman/listinfo/paraview.<br />
<br />
'''For new users, download and install the [http://paraview.org/paraview/resources/software.php ParaView binaries] for your local computer, and then read [[The ParaView Tutorial]]. ''' Additional tutorials are located under [[#Books and Tutorials]] below.<br />
<br />
You can find more information about ParaView on the ParaView web site: http://paraview.org. For more help, including a list of all sources and filters, check out http://paraview.org/paraview/help/help.html and http://paraview.org/paraview/help/documentation.html.<br />
<br />
==ParaView In Use==<br />
* [[ParaView In Action]]<br />
: Some examples of how ParaView is used<br />
<br />
* [http://flickr.com/groups/paraview/pool/ ParaView Screenshots]<br />
: Screenshots generated by ParaView<br />
<br />
* [[ParaView/HPC Installations|HPC Installations]]<br />
: Links to documentation of ParaView installations on various HPC sites<br />
<br />
== Documentation ==<br />
{| border="0" align="center" width="98%" valign="top" cellspacing="7" cellpadding="2"<br />
|-<br />
! width="33%"|<br />
! |<br />
! width="33%"|<br />
! |<br />
! width="33%"|<br />
|- <br />
|valign="top"|<br />
<br />
===License===<br />
* [[ParaView/License| ParaView License]]<br />
* [[ParaView/ThirdPartyLicenses | ParaView Third-Party Licenses]]<br />
<br />
===Compile/Install===<br />
----<br />
* [http://paraview.org/paraview/resources/software.php Download ParaView]<br />
: Instructions for downloading source as well as pre-compiled binaries for common platforms.<br />
* [[ParaView Release Notes]]<br />
: Collection of release notes for official ParaView releases.<br />
* [https://gitlab.kitware.com/paraview/paraview/blob/master/Documentation/dev/git/README.md Git Instructions]<br />
: Git is the revision control system that ParaView uses. If you would like to have the bleeding edge version of ParaView, or you would like to contribute code, this link describes the method you must use to get the code.<br />
* [[ParaView Nightly Binaries]]<br />
: Downloading nightly binaries for development versions of ParaView.<br />
* [[ParaView:Build And Install|Building and Installation instructions]]<br />
: Compiling and installing ParaView from source.<br />
* [[ParaView And Mesa 3D]]<br />
: Building ParaView with [http://www.mesa3d.org Mesa 3D].<br />
* [[ParaView Binaries | ParaView Binaries Build Information]]<br />
: Information about the official ParaView builds and versions of various dependencies used.<br />
* [[ParaView and VTK on Xeon Phi (KNC)]]<br />
: Information on cross compiling ParaView and VTK for Xeon Phi KNC<br />
<br />
===Server Setup===<br />
----<br />
* [[Setting up a ParaView Server| ParaView Server Setup]]<br />
:Configuring your cluster to act as a ParaView server.<br />
* [[Starting the server| ParaView Server Startup Using GUI]]<br />
:Using the ParaView client to start the servers.<br />
* [[ParaView:Server Configuration| Server Configuration]] <br />
:Customizing server startup and connection processes using XML-based configuration scripts.<br />
* [[ParaView/Distributing Server Configuration Files|Distributing Server Configuration Files]]<font color="green">*new in 3.14</font><br />
:Strategies for distributing server configuration xmls.<br />
* [[Reverse_connection_and_port_forwarding| Port forwarding]]<br />
:To run ParaView on clusters with head nodes - compute nodes<br />
* [[Configuring Server Environment Using *.pvx XML Files]]<br />
:Configure your cluster environment such as DISPLAY, or Cave settings using *.pvx xml files.<br />
* [http://www.iac.es/sieinvens/siepedia/pmwiki.php?n=HOWTOs.ParaviewInACluster Cluster Configuration to run ParaView]<br />
:A guide for configuring a cluster to run ParaView<br />
<br />
===Importing Data===<br />
----<br />
* [[Generating data]]<br />
:How to write out data in a format that Paraview understands<br />
* [[Data formats]]<br />
: More information on data formats ParaView supports and how to load them.<br />
* [[Writing ParaView Readers]]<br />
:How to write a VTK reader that will read your data directly into ParaView.<br />
* [[ParaView/ParaView Readers and Parallel Data Distribution|ParaView Readers and Parallel Data Distribution]]<br />
:How data is loaded in parallel for various readers.<br />
<br />
===Finding Data===<br />
----<br />
* [[Find Data using Queries]] <font color="green">* new in 3.8 </font><br />
: Selecting and focusing on subset of a dataset using queries.<br />
* [[Data Selection]]<br />
: Selecting and focusing on subset of a dataset.<br />
<br />
===Analyzing Data===<br />
----<br />
* [[Parameter Study|Parameter Study (Comparative Visualization)]] <font color="green">* improved in 3.8</font><br />
: Creating visualizations to compare effects for change in parameter(s).<br />
* [[Statistical analysis]]<br />
: Computing statistics and using them to assess datasets.<br />
<br />
===Animation===<br />
----<br />
* [[Animating legacy VTK file series]]<br />
: Animating file series.<br />
* [[Disconnecting from server while still saving an animation|Unattended saving of animation]]<br />
: Saving animations on the server without client connection.<br />
* [[Animation View]]<br />
: Using ''Animation View'' to setup animations.<br />
* [[Animating the Camera]]<br />
: Creating animations involving camera movements.<br />
<br />
===Plugins===<br />
----<br />
* [[Plugin HowTo | Extending ParaView Using Plugins]]<br />
:Using and writing new plugins to extend ParaView's functionality.<br />
* [[Extending ParaView at Compile Time]]<br />
:Including extensions into ParaView at compile time.<br />
* [http://pluginwizard.mirarco.org/ Plugin Wizard]<br />
:A simple wizard application developed by MIRARCO that provides boilerplate code for some of the most common plugin types.<br />
* [[User Created Plugins]] <br />
:Please post plugins that you have created that may be useful for other users.<br />
* [[Writing Custom Applications]] <font color="green">* new in 3.8</font><br />
: Writing custom applications based on ParaView.<br />
* [[ParaView:Plugin Deployment with Development Installs|Plugin Deployment with Development Installs]]<br />
: Building plugins for deployment with Released ParaView binaries.<br />
|bgcolor="#CCCCCC"|<br />
|valign="top"|<br />
<br />
===Python Scripting===<br />
----<br />
* [[ParaView/Python_Scripting#Getting_Started|Environment Setup]]<br />
: Environment variables to set when using a Python shell besides pvpython/pvbatch.<br />
* [[ParaView/Python Scripting|Python Scripting]] <font color="green">* updated to 3.6</font><br />
: Scripting ParaView using python<br />
* [[Python Programmable Filter]]<br />
: Generating/Processing data using python.<br />
* [[Python GUI Tools]] <font color="green">* updated for 3.10</font><br />
: Using the python shell interface in paraview including generating python trace.<br />
* Python [[Python recipes|recipes]] for ParaView<br />
: Collection of python scripts for some common tasks.<br />
<br />
===GUI Features===<br />
----<br />
* [[Camera and Property Linking]]<br />
: Synchronizing filters, clip planes, camera etc.<br />
* [[Color Palettes]]<br />
: Creating visualizations for Print and Screen.<br />
* [[Colormaps]]<br />
: Details of ParaView's xml colormap file format and collections of colormaps for use with ParaView. <br />
* [[ParaView/UI/CopyPaste|Copy/Paste Friendly]] <font color="green">* new feature for 3.14</font><br />
: Using ParaView Copy/Paste inside information tab and spreadsheet view<br />
* [[Custom Filters]]<br />
: Packaging pipelines into a single composite.<br />
* [[ParaView/Image Compressor Configuration|Image Compressor Configuration]]<br />
: How to configure ParaView's image compressor for use during remote rendering.<br />
* [[ParaView/Users_Guide/Memory_Inspector|Memory Inspector Panel]] <font color="green">* updated in 3.98.0 </font><br />
: Using ParaView's Memory Inspector Panel and its debugging features.<br />
* [[ParaView Settings Files]]<br />
: The locations where ParaView saves settings files (also known as config or configuration files).<br />
* [[ParaView/Properties Panel|Properties Panel]] <font color="green">* updated for 4.0</font><br />
: Using and customizing the Properties Panel.<br />
* [[Space Navigator]] <font color="green">* new feature for 3.10</font><br />
: Using ParaView with Space Navigator<br />
* [[Sortable spreadsheet view]] <font color="green">* new feature for 3.10</font><br />
: What can be done with the spreadsheet column sorting and how it works<br />
* [[ParaView/UI/TextFinder|Text Finder]] <font color="green">* new feature for 3.14</font><br />
: Searching in long lists and tables in the ParaView GUI.<br />
* [[Output Messages Window]]<br />
: Design document<br />
<br />
===Other Features===<br />
----<br />
* [[Restarted Simulation Readers]]<br />
: Loading restarted data for different file formats.<br />
* [[Exporting Scenes]]<br />
: Exporting scenes as VRML, X3D etc.<br />
* [[Backwards compatibility in state files]]<br />
: Backwards compatibility for ParaView state files (*.pvsm).<br />
* [[ParaView/Collaboration| Collaboration]] <font color="green">* new in 3.14</font><br />
: Information of the changes that have been done undercover to support and improve collaboration.<br />
* [[ParaView/Vector Graphics Export| Vector Graphics Export]] <font color="green">* new in 3.98</font><br />
: Export publication quality 3D scenes and charts.<br />
* [[ParaView/Equation Rendering| Equation Rendering]] <font color="green">* new in 3.98.1</font><br />
: Annotating scenes with mathematical equations.<br />
* [[ParaView/Line_Integral_Convolution|Surface LIC]] <font color="green">* updated in 4.1 </font><br />
: Documentation describing how to configure and use the surface LIC plugin.<br />
* [[Spatio-Temporal Parallelism]] <font color="green">* available in the ParaView Git repository</font><br />
<br />
=== Books and Tutorials ===<br />
----<br />
* [http://www.kitware.com/products/books.html The ParaView Guide]<br />
: The official ParaView guide available from Kitware. [[Book Errata]]<br />
: You can download the open-source PDF edition from the [http://www.paraview.org/download/ downloads] page.<br />
*[http://www.paraview.org/ParaView/Doc/Nightly/www/cxx-doc/index.html ParaView API Documentation]<br />
: API documentation auto-generated from the source files.<br />
* [[The ParaView Tutorial]]<br />
: An introductory and comprehensive tutorial.<br />
* [[Media:CatalystUsersGuide.pdf|ParaView Catalyst User's Guide]]<br />
: The offical ParaView Catalyst User's Guide corresponding to ParaView 4.0.1.<br />
* [[SNL ParaView Tutorials]]<br />
: Beginning and advanced tutorial sets, each presented as 3 hour classes by Sandia National Laboratories<br />
* [[Intel HPC Dev Con ParaView and OSPRay Tutorial]]<br />
: Short course on ray tracing with a focus on ParaView w/ OSPRay at TACC<br />
* [[howtos|Howtos]]<br />
: These howtos are instructions for some common operations.<br />
* [[Related Publications]]<br />
: ParaView related books, articles and papers<br />
* [[ParaView 3 Tutorials]]<br />
* [[ParaView 2 Tutorials]]<br />
<br />
<br />
|bgcolor="#CCCCCC"|<br />
|valign="top"|<br />
<br />
===Design & Implementation===<br />
----<br />
* [[Testing design]]<br />
: ParaView GUI Testing framework.<br />
* [[Block Hierarchy Meta Data]]<br />
: Providing details about blocks, hierarchies, assemblies etc. to the client.<br />
* [[Multiple views]]<br />
: Details on handling multiple views in client-server framework.<br />
* [[Composite Datasets in VTK|Composite Datasets]]<br />
: Dealing with composite datasets in VTK.<br />
* [[Representations and Views]]<br />
: Understanding ParaView's views and representations.<br />
* [[Time in ParaView]]<br />
: Understanding Time implementation.<br />
* [[Cross compiling ParaView3 and VTK|Cross-compiling ParaView]]<br />
: Compiling ParaView and VTK on BlueGene and Cray Xt3/Catamount.<br />
* [[Selection Implementation in VTK and ParaView III]]<br />
* [[Suggested online help documentation changes]]<br />
: Suggestions for online help documentation changes.<br />
* [[ServerManager XML Hints]]<br />
: A place to document ServerManager configuration XML hints.<br />
<br />
===ParaView based Applications===<br />
----<br />
* [[StreamingParaView]]<br />
: Documentation about the StreamingParaView application.<br />
* [[VeloView]]<br />
: An application for visualizing and processing Velodyne LiDAR data<br />
<br />
===Web Visualization with ParaView===<br />
----<br />
* [[ParaViewWeb | ParaView Web Visualization Framework]]<br />
: Documentation for the ParaView Web Visualization Framework<br />
<br />
===''In situ'' Analysis with ParaView===<br />
----<br />
* [[ParaView/Catalyst/Overview | ParaView Catalyst]]<br />
: Documentation for using ParaView for co-processing<br />
<br />
===Plugins Distributed with ParaView===<br />
----<br />
:[[ParaView/Users_Guide/Included Plugins| Included Plugins]]<br />
<br />
===Community Contributed Plugins===<br />
----<br />
:[[ParaView/Guidelines for Contributing Plugins | Guidelines for Contributing Plugins]]<br />
<br />
===Miscellaneous===<br />
----<br />
* [[terminology map|Terminology Disambiguation]]<br />
* [http://kitware.com/products/thesource.html The Kitware Source]<br />
: Quarterly newsletter for developers designed to deliver detailed technical articles related to Kitware's open source products including ParaView.<br />
* [http://paraview.org/New/help.html More information about ParaView]<br />
* [[Terminology map | Real world concept -> Paraview terminology map]]<br />
: Often new users may say "Surely Paraview can do X... but I can't find it!". This terminology map should help!<br />
<br />
===Developers Corner===<br />
----<br />
====Mailing List====<br />
The developers mailing list is here: https://www.paraview.org/mailman/listinfo/paraview-developers<br />
This should be used for questions about modifying the Paraview code, not using Paraview.<br />
<br />
====Plugin Development====<br />
* [[Paraview_Make building Paraview plugin optional|Make building Paraview plugin optional]]<br />
<br />
====Handy Developer Info====<br />
* [[ParaView/Developer_Info | Developer Information]]<br />
<br />
====Release Testing====<br />
* [[Release Testing]]<br />
* [[Remote Cluster Testing]]<br />
<br />
{{ParaView/Template/Footer}}<br />
|}</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.cmake&diff=62088File:UseLATEX.cmake2017-10-16T22:35:07Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.cmake&quot;</p>
<hr />
<div>A collection of CMake macros that help build LaTeX documents.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=Setting_up_a_ParaView_Server&diff=62063Setting up a ParaView Server2017-10-09T20:14:48Z<p>Kmorel: /* Server processes always have 100% CPU usage */</p>
<hr />
<div>ParaView is designed to work well in client/server mode. In this way, users can have the full advantage of using a shared remote high-performance rendering cluster without leaving their offices. This document is designed to help get you started with build and setting up your own ParaView server. It also serves as a collection point for the "tribal knowledge" acquired to make parallel rendering and other aspects of parallel and client/server processing most efficient. You may also want to look at [[Media:Cluster09_PV_Tut_Setup.pdf|Configuring ParaView for Vis Clusters]].<br />
<br />
== Compiling ==<br />
<br />
Ideally, we would like to provide precompiled binaries of ParaView for all of our users to make installing it more convenient. Unfortunately, the large variety of hardware, operating systems, and MPI implementations makes this task impossible. Thus, if you wish to use ParaView on a parallel server, you will have to compile ParaView from source.<br />
<br />
After [http://www.paraview.org/New/download.html downloading] ParaView, follow the [[ParaView:Build And Install|Building and Installation instructions]]. When following these instructions, be sure to compile in MPI support by setting the PARAVIEW_USE_MPI CMake flag to ON and setting the appropriate paths to the MPI include directory and libraries.<br />
<br />
One problem many people face when compiling with MPI is that their MPI implementation provides multiple libraries, many of which are required when compiling ParaView. If there are only two such libraries, you can add them separately in the MPI_LIBRARY and MPI_EXTRA_LIBRARY CMake variables. If you need to link in more than two libraries, you can specify multiple libraries in the MPI_LIBRARY variable by separating them with semicolons (<tt>;</tt>). You can apply the same trick to the MPI_INCLUDE_PATH to specify several include directories.<br />
<br />
Another problem sometimes encountered is the lack of graphics libraries. There are many circumstances where you would want to compile the ParaView server on a parallel computer with no graphics hardware and thus no OpenGL implementation. In this case, most people use the [http://mesa3d.org Mesa 3D Graphics Library], which is a portable, software-only implementation of the OpenGL API. A cluster built using a Linux operating system probably already has a version of Mesa installed, but otherwise you can always download the source code from http://mesa3d.org.<br />
<br />
=== OSMesa support ===<br />
<br />
One of the most difficult problems people face when installing a ParaView server is establishing [[#X Connections|XConnections]]. This whole problem can be circumvented by using the OSMesa library. However, Mesa is strictly a CPU rendering library so, '''use the OSMesa solution if and only if your server hardware does not have rendering hardware'''. If your cluster does not have graphics hardware, then compile ParaView with OSMesa support and use the --use-offscreen-rendering flag when launching the server.<br />
<br />
The first step to compiling OSMesa support is to make sure that you are compiling with the [http://mesa3d.org Mesa 3D Graphics Library]. It is difficult to tell an installation of Mesa from any other OpenGL implementation (although the existence of an osmesa.h header and a libOSMesa library is a good clue). If you are not sure, you can always download your own copy from http://mesa3d.org.<br />
<br />
Now set the CMake variable OPENGL_INCLUDE_DIR to point to the Mesa include directory (the one containing the GL subdirectory), and set the OPENGL_gl_LIBRARY and OPENGL_glu_LIBRARY to the libGL and libGLU library files, respectively. Next, change the VTK_OPENGL_HAS_OSMESA variable to ON. After you configure again you will see a new CMake variable called OSMESA_LIBRARY. Set this to the libOSMesa library file. After you configure and generate your makefiles, you should be ready to build with OSMesa support.<br />
<br />
Once again, once you build with OSMesa support, it will not take effect unless you launch the server with the --use-offscreen-rendering flag.<br />
<br />
Please be aware that OSMesa support is not the same thing as mangled Mesa (although they are often used for the same thing). Mangled Mesa is not supported with ParaView. Mangled Mesa provides a mechanism to use either hardware acceleration or CPU-only rendering. Some organizations use this to provide a single build for multiple servers, some with and some without hardware rendering. We find it easier to simply provide a separate build for each server.<br />
<br />
For more elaborate discussion on building with OSMesa support with different versions of Mesa, refer to [[ParaView And Mesa 3D]].<br />
<br />
== Running the Server ==<br />
<br />
The ParaView client is a serial application and is always run with the <tt>paraview</tt> command. The server is a parallel MPI program that must be launched as a parallel job. Different implementations of MPI may have different ways to launch parallel programs, but the most common way is to use the <tt>mpirun</tt> command. Ask your system administrator if you are not sure how to launch your MPI programs. This document will assume you are using <tt>mpirun</tt>.<br />
<br />
The ParaView server is almost always enabled with the <tt>pvserver</tt> command. Thus, the most simple configuration would have it launched as something like the following.<br />
<br />
mpirun -np 4 ./pvserver<br />
<br />
An integral part of configuring the ParaView server is setting up the client for [[starting the server]]. However, when initially configuring your server, it is best to do it in stages to better identify problems as they occur. Thus, as you are first trying to set up your server, set up your client for [[starting the server#Manual Startup|manual startup]]. That way, you can launch the server with <tt>mpirun</tt> at the command prompt. You will be able to immediatly see any output on the stdout and stderr streams and retry when something goes wrong.<br />
<br />
Note that ParaView is designed to work well when the server and client are run remotely from each other. The idea is that the client can be run locally on the user's desktop/laptop<br />
<br />
=== pvserver vs. pvrenderserver and pvdataserver ===<br />
<br />
There are two modes in which you can launch the ParaView server. In the first mode, all data processing and rendering are handled in the same parallel job. This server is launched with the <tt>pvserver</tt> command. In the second mode, data processing is handled in one parallel job and the rendering is handled in another parallel job launched with the <tt>pvdataserver</tt> and <tt>pvrenderserver</tt> programs, respectively.<br />
<br />
The point of having a separate data server and render server is the ability to use two different parallel computers, one with high performance CPUs and the other with GPU hardware. However, the server functionality split in two necessitates repartitioning and transfering the data from one to the other. This overhead is seldom much smaller than the cost of just performing both data processing and rendering in the same job.<br />
<br />
Thus, we recommend on almost all instances simply using the single <tt>pvserver</tt>. This document does not describe how to launch data server / render server jobs. Even if you really feel like this mode is right for you, it is best to first to configure your server in single server mode. From there, establishing the data server / render server should be easier.<br />
<br />
=== Connecting Through a Firewall ===<br />
<br />
Often times security policies require either the ParaView server or client to be behind a firewall or some other network limiting technology. Such a configuration will add challenges to configuring your server to connect with a client. The type of networking safeguards, as well as the policies that govern them, vary greatly. We cannot possibly provide solutions for all of them, but we can give suggestions that might help you on your way. The main goal here is to establish a socket connection between client and (the first node of the) server. This socket by default is on port 11111.<br />
<br />
Many firewalls will deny incoming connection requests but will allow outgoing connection requests. If only one side of the connection is behind such a firewall, then establishing the connection is easy. By default, the client connects to the server, so if the client is the one behind a firewall, nothing needs to be done. If the server is behind the firewall, you can reverse the connection direction: the server will connect back to the client. The server is instructed to perform a reverse connection by simply adding the <tt>-rc</tt> flag to its command line.<br />
<br />
mpirun -np 4 ./pvserver -rc --client-host=myhost.mydomain.com<br />
<br />
It is similarly straightforward to specify a reverse connection [[Starting the server|using the ParaView GUI]] or [[ParaView:Server Configuration|server configuration using XML configuration files]].<br />
<br />
If your firewall does not allow outbound connections or if client and server are each behind their own firewall, then no direct connection is possible. Now is probably a good time to talk to your system administrator about options.<br />
<br />
One option that has proven to be effective when available is to use a VPN (virtual private network) connection on the client. A proper VPN connection can make the network of the client computer behave as if it is connected behind the firewall of the server, and thus the two can connect directly. Be aware that establishing a VPN connection will make the hostname and IP address for the client machine look different to the server, which may complicate specifying the connection.<br />
<br />
If VPN is not available, you may be able to achieve a connection using the [[Reverse connection and port forwarding| port forwarding]] feature of ssh. The ssh protocol allows for forwarding a socket request from one side of the connection to the other, assuming that the configuration settings allow for this. You might be able to use this feature to "punch through" the firewall. For more information, see the [[reverse connection and port forwarding]] page.<br />
<br />
Even though X11 forwarding might be available, '''you should not run the client remotely and forward its X calls'''. ParaView will run much more efficiently if you run the client locally and you let ParaView directly handle the data transfer between local and remote machines.<br />
<br />
=== X Connections ===<br />
<br />
One of the most common problems people have with setting up the ParaView server is allowing the server processes to open windows on the graphics card on each process's node. When ParaView needs to do parallel rendering, each process will create a window that it will use to render. This window is necessary because you need the X window before you can create an OpenGL context on the graphics hardware.<br />
<br />
There is a way around this. If you are using the Mesa as your OpenGL implementation, then you can also use the supplemental OSMesa library to create an OpenGL context without an X window. However, Mesa is strictly a CPU rendering library so, '''use the OSMesa solution if and only if your server hardware does not have rendering hardware'''. If your cluster does not have graphics hardware, then compile ParaView with [[#OSMesa support|OSMesa support]] and use the --use-offscreen-rendering flag when launching the server.<br />
<br />
Assuming that your cluster '''does''' have graphics hardware, you will need to establish the following three things.<br />
# If the clusters are not ''headless'' , i.e if the nodes are operating with full-blown desktop environments (e.g if you are running pvserver on one node that has many graphics cards), then you don't have to make any changes. Just spawn many processes using mpirun; since the desktop manager is already running, the X windows should not have any trouble in getting created. If Paraview shows errors when the client connects to the pvserver(s), then you will have to follow the instructions below and create '''one''' another display where all the rendering will be done by the pvservers.<br />
# Have xdm run on each cluster node at startup. Although xdm is almost always run at startup on workstation installations, it is not as commonplace to be run on cluster nodes. Talk to your system administrators for help in setting this up.<br />
# Disable all security on the X server. That is, allow any process to open a window on the x server without having to log in. Again, talk to your system administrators for help. On some systems, the command "<code>xhost +</code>" will do this.<br />
# Use the -display flag for pvserver to make sure that each process is connecting to the display <tt>localhost:0</tt> (or just <tt>:0</tt>).<br />
<br />
To enable the last condition, you would run something like<br />
<br />
mpirun -np 4 ./pvserver -display localhost:0<br />
<br />
An easy way to test your setup is to use the <tt>glxgears</tt> program. Unlike pvserver, it will quickly tell you (or, rather, fail to start) if it cannot connect to the local X server.<br />
<br />
mpirun -np 4 /usr/X11R6/bin/glxgears -display localhost:0<br />
<br />
=== Multiple GPUs Per Node ===<br />
<br />
It is becoming commonplace to put multiple GPUs on each node in a cluster. Taking advantage of these multiple GPUs can be tricky.<br />
<br />
Typically, each of these GPUs will have its own display. For example, if you have two GPUs on a node, they are probably referenced by the displays <tt>localhost:0.0</tt> and <tt>localhost:0.1</tt>. When you run an X program with the display parameter or flag set to one of these, all X windows will open on that respective GPU and any graphics acceleration will also happen on that GPU. Thus, you can take advantage of both GPUs by launching different pvserver processes with different arguments to point to different displays.<br />
<br />
Unfortunately, the method used to invoke an MPI job (usually through mpirun) is not part of the MPI specification and varies between implementations. In particular, the syntax used to declare different command lines for different processes can vary quite a bit.<br />
<br />
OpenMPI (not to be confused with OpenMP, which is totally different) has a particularly easy way to specify multiple command lines. Simply separate the different command lines, along with the -np flag, with a colon (<tt>:</tt>). In our case, the command lines should be identical except with different display flags. We also need to use the -bynode flag, which assigns processes in a round robin fashion. Basically, this makes sure that each node is assigned a pair (or more) of processes that use the different displays. As an example, the following command line when run on an 8 node cluster launches a 16 process job with each node having two processes, each using a different display.<br />
<br />
mpirun -bynode -np 8 ./pvserver -display :0.0 : -np 8 ./pvserver -display :0.1<br />
# on 3.98-4.1 versions of ParaView the display option was missing due to a bug, the replacement is to start pvserver with /bin/env DISPLAY=localhost:0.0 <br />
# With ParaView 4.2, the option is available, once again.<br />
<font color="red">If you have set up a parallel job with multiple GPUs per node using a different MPI implementation, please contribute back by documenting it here.</font><br />
<br />
If you are trying to verify which displays each pvserver node is using, you can use the Programmable Source to identify which processes are using which displays. After connecting to your pvserver, create a Programmable Source and set the following script.<br />
<br />
<pre><br />
import os<br />
import subprocess<br />
<br />
display = os.getenv('DISPLAY')<br />
hostname = subprocess.Popen(['hostname'], stdout=subprocess.PIPE).communicate()[0].strip()<br />
print hostname, display<br />
</pre><br />
<br />
After you apply the filter, this script will run on each process and output like the following will be printed to the pvserver terminal.<br />
<br />
<pre><br />
Process id: 3 >> vs8 :0.0<br />
Process id: 4 >> vs14 :0.1<br />
Process id: 7 >> vs8 :0.1<br />
Process id: 0 >> vs14 :0.0<br />
Process id: 5 >> vs30 :0.1<br />
Process id: 1 >> vs30 :0.0<br />
Process id: 2 >> vs2 :0.0<br />
Process id: 6 >> vs2 :0.1<br />
</pre><br />
<br />
=== Sharing GPUs Amongst Processes ===<br />
<br />
Visualization clusters that have GPUs are not always built with a one-to-one correspondence between CPUs and GPUs. In fact, industry trends at the time of this writing often lead to having more CPUs than GPUs on each node. For example, our current visualization cluster contains 4 CPUs per node but only 2 GPUs.<br />
<br />
The pvserver is rather dumb about the number of GPUs. It assumes that each process has equal access to local rendering. This means that there is no special mechanism to, for example, coordinate the rendering between pairs of processes.<br />
<br />
This leaves you with two options. Either you can launch one process per GPU and let CPUs go idle or you can launch one process per CPU and let multiple processes send rendering requests to the same GPU. The first option maximizes rendering speed but performs most other operations more slowly. The second option will maximize the speed of filter processing, but will throttle the rendering speed as GPU processors and buses must be shared.<br />
<br />
There was once a time when rendering speed was the bottleneck for visualization. That, however, is no longer the case. The time spent in rendering is minimal, especially when compared to the time spent processing filters. The rendering speed can be throttled quite a bit before making a serious impact on visualization performance, even when running interactively. We thus recommend the second option, sharing GPUs.<br />
<br />
GPUs can be implicitly shared by pointing multiple processes to the same display on the same host. One problem is that many GPUs will not correctly handle two windows on top of each other. The two windows share memory space and clobber each others memory. To get around this problem, use the --use-offscreen-rendering flag. This will create each rendering context in its own offscreen buffer and guarantees that the memory will not overrun that of another rendering context. As an example, here is the mpirun command you might use on a cluster with 8 nodes, each containing 4 cores (for a total of 32) and 1 GPU.<br />
<br />
mpirun -np 32 ./pvserver -display :0.0 --use-offscreen-rendering<br />
<br />
You can still share GPUs when you have [[#Multiple GPUs Per Node]]. You use the same techniques in the section above except that you allow processes to have the same display and you add the --use-offscreen-rendering flag for each command. So, for example, if your cluster has 8 nodes, each containing 4 cores and 2 GPUs, the OpenMPI mpirun command could look like the following.<br />
<br />
mpirun -bynode -np 16 ./pvserver -display :0.0 --use-offscreen-rendering : \<br />
-np 16 ./pvserver -display :0.1 --use-offscreen-rendering<br />
<br />
=== Using a Tiled Display ===<br />
<br />
ParaView has the ability to render directly to a tiled display. Furthermore, when rendering to a tiled display ParaView uses a built in library, [http://icet.sandia.gov/ IceT], to perform the rendering in a parallel and efficient manner.<br />
<br />
To put ParaView in a tiled display mode, give pvserver (or pvrenderserver) the X and Y dimensions of the 2D grid of displays that make up the tiled display with the --tile-dimensions-x (or -tdx) and --tile-dimensions-y (or -tdy) arguments. For example, to drive a 3 X 2 tiled display, you launch the server with a command like the following.<br />
<br />
mpirun -np 16 ./pvserver -display localhost:0 -tdx=3 -tdy=2<br />
<br />
There must be at least as many processes in the MPI job as there are tiles in the display; however, adding more processes than tiles is recommended as they will all be used to perform the parallel rendering. In the above example, I arbitrarily picked 16 processes. As few as 6 processes would work, but 32 would be even better if you had that many GPUs.<br />
<br />
ParaView assumes that the first ''T'' processes have their displays connected directly to one of the tiles in a ''T'' tile display. The processes are assigned in row major order from left to right and top to bottom. For example, in a 3 X 2 display the processes are assigned as follows.<br />
<br />
{| align="center" border="1" cellpadding="25" style="width:300px; align=center"<br />
|- align="center"<br />
| 0 || 1 || 2<br />
|- align="center"<br />
| 3 || 4 || 5<br />
|}<br />
<br />
The only way to adjust which processes are connected to which tiles is to reconfigure the machines configuration of MPI.<br />
<br />
The tiled display will not be driven correctly if the server is run with the --use-offscreen-rendering flag for obvious reasons.<br />
<br />
== Pitfalls ==<br />
<br />
Here we capture the most common problems people run into with setting up client/server.<br />
<br />
=== Specifying multiple MPI include directories ===<br />
<br />
You can add multiple directories to the MPI_INCLUDE_PATH CMake variable by separating them with semicolons (<tt>;</tt>). See the [[#Compiling]] section for more details.<br />
<br />
=== Specifying multiple MPI libraries ===<br />
<br />
You can use both the MPI_LIBRARY and MPI_EXTRA_LIBRARY CMake variables for specifying MPI libraries. You can also add multiple libraries to MPI_LIBRARY by separating the files with semicolons (<tt>;</tt>). See the [[#Compiling]] section for more details.<br />
<br />
=== Mangled Mesa ===<br />
<br />
Do not bother to use Mangled Mesa. Compiling a version of Mesa is typically more trouble than it is worth and is incompatible with the [[#OSMesa support|OSMesa support]] instructions given on this page.<br />
<br />
=== ParaView does not scale ===<br />
<br />
Many a user have reported to the mailing list that ParaView failed as they tried to scale up the data size on their server. First, let me assure you that ParaView’s parallel visualization and rendering are efficient and scalable. We (at Sandia National Laboratories) have been able to use ParaView to visualize 6 billion cell grids and have clocked rendering speeds of over 8 billion polygons per second.<br />
<br />
When a user reports that ParaView is not scaling to large data sets, it is almost always because the server is misconfigured for parallel rendering. The problem is often misinterpreted as a scaling problem because ParaView will use serial rendering for small data and parallel rendering for large data. So when the server is misconfigured and cannot perform parallel rendering, it sometimes misbehaves when the data gets big enough to use parallel rendering.<br />
<br />
Parallel rendering is build right into ParaView. There is nothing special you have to compile to set this up. However, to perform parallel rendering (or any rendering, for that matter), the ParaView server needs to have an OpenGL context. This is usually done through [[#X Connections|X Connections]]. However, most parallel programs have no need to open an X window, so most clusters are not configured to allow X connections. For help on how to configure your cluster, see the [[#X Connections|X Connections]] section.<br />
<br />
Before reporting scalability problems with ParaView, please verify that parallel rendering is working correctly. You can do that with the following procedure.<br />
<br />
# Open the Settings dialog box (Edit -> Settings) and go to the Server tab.<br />
# Make sure the checkbox next to Remote Render Threshold is checked, and move the associated slider all the way to the left (0 MBytes).<br />
# Make sure the checkbox next to Subsample Rate is checked and move the slider to the right (4 Pixels or more).<br />
# Create or load any data (the cone source works fine) and rotate the data with the mouse. While rotating, the image should look pixelated (blocky). When you let go of the mouse, the full resolution picture is restored.<br />
<br />
The Remote Render Threshold option tells ParaView to always use parallel rendering. The Subsample Rate tells ParaView to render smaller images during interaction to make the GUI more responsive. This latter feature is very noticeable when the subsample rate is high and only used during parallel rendering. So if you are not seeing the subsample effect (or if something went clearly wrong before that), then your parallel rendering is not working.<br />
<br />
=== Reverse connection does not work ===<br />
<br />
A "standard" connection has the server (<tt>pvserver</tt>) listen for a connection from the client (<tt>paraview</tt>). ParaView also has the ability to perform a "reverse connection" where the client waits for the server. Creating a reverse connection is straightforward. Simply use the <tt>--reverse-connection</tt> (<tt>-rc</tt>) command line option on the server and specify a reverse connection in the ParaView GUI (you will have to add a new server in the Choose Server dialog box; see [[Starting the server]]). If you can get the standard connection to work but not the reverse connection, one of the following may be occurring.<br />
<br />
# A firewall or some other network configuration may be preventing you from connecting from server to client. To test this, try swapping the location of the server and client and test the forward connection again.<br />
# Make sure that both the client and the server are set up to do a reverse connection. Make sure that the server is being launched with the reverse connection flag and that the GUI is configured to connect with a reverse connection.<br />
# Make sure that the client is started first and ready to receive a connection before starting the server. When doing a reverse connection, the client must already be started and waiting for a connection before starting the server. If you try to start the server before the client is ready, it may fail to connect and then give up before the client starts waiting for the connection. If you are starting the server from the client GUI, this should not be an issue.<br />
<br />
=== Cannot launch paraview with mpirun ===<br />
<br />
Occasionally users report problems with trying to run the ParaView client (<tt>paraview</tt>) with mpirun like this:<br />
<br />
mpirun paraview [args]<br />
<br />
'''Don't do this!''' The ParaView client is a serial application. It is not meant to be run under mpirun. Only run the server (<tt>pvserver</tt> with mpirun.<br />
<br />
=== The client only connects to one node on the server ===<br />
<br />
Users sometimes ask how to get the client to make a socket connection to every process on the server. You don't. ParaView is not supposed to run like that. When running in client/server mode, ParaView connects to process 0 of the server, and nothing else. All communication with the client goes through process 0, and process 0 of the server uses the MPI interconnect to pass data to and from the other nodes in the server.<br />
<br />
ParaView is implemented in this way for convenience and scalability. It is not scalable to have every process in the server to connect to the client because all communication will eventually have to go through the same network interface on the client side. Also, the MPI interconnect on the server is almost always faster than the socket communication between client and server.<br />
<br />
=== Server processes always have 100% CPU usage ===<br />
<br />
It has often been observed that when running <tt>pvserver</tt> under mpirun, many of the processes that are launched for this job always use a 100% of a CPU, even when it should be sitting idle. The most common pattern is for one processes (the root process) to actually be idle while the rest are constantly running.<br />
<br />
This observed behavior is due to the implementation of the MPI layer. OpenMPI and MPICH, the two most common implementations we encounter, both exhibit this behavior. In these implementations when a process is waiting for a message (which is the case when <tt>pvserver</tt> is supposed to be sitting idle waiting for a message), the process actually sits in a busy wait loop. (The root process is the single exception as it is waiting for a message on a socket, not an MPI message.)<br />
<br />
This behavior is intentionally added by the MPI library developers (not so much the ParaView developers) for efficiency. The general idea is to keep each process "attached" to the core it is running on. Once a process goes idle, it is likely to be scheduled off that core by the OS process scheduler and then scheduled back on to a different core. This can have detrimental effects on things like memory access as each core can have its own cache hierarchy.<br />
<br />
The parameters for controlling this behavior varies based on the MPI implementation. The following links are collected that might provide some solutions for different MPI implementations. These are highly dependent on the configuration of several system components, so results may vary.<br />
<br />
* OpenMPI<br />
** It may be possible to turn off the busy wait by putting it in "degraded" mode, which is designed to behave better when cores are "oversubscribed." (Note, some users have reported that this has not gotten rid of the busy-wait loop.)<br />
*** http://www.open-mpi.org/faq/?category=running#oversubscribing<br />
*** http://www.open-mpi.org/faq/?category=running#force-aggressive-degraded<br />
* MPICH<br />
** It has been reported that configuring with the CH3 Sock device (using the <tt>--with-device=ch3:sock</tt> configure option) does not use a busy-wait loop when waiting for messages. Note that the CH3 Sock device is likely slower in general than other ADI3 devices.<br />
* Intel MPI<br />
** Set the <tt>I_MPI_WAIT_MODE</tt> environment variable to <tt>enable</tt>.<br />
*** https://software.intel.com/en-us/mpi-developer-reference-linux-communication-fabrics-control<br />
* IBM MPI<br />
** Set the <tt>MP_WAIT_MODE</tt> environment variable to <tt>nopoll</tt>.<br />
* SUPER-UX MPI/SX<br />
** Set the <tt>MPISUSPEND</tt> environment variable to <tt>ON</tt>.<br />
*** http://www.atmosp.physics.utoronto.ca/internal/SX6/g1af09e/chap3.html<br />
<br />
<font color="red">If you have information on disabling the busy wait using a different MPI implementation, please contribute back by documenting it here.</font><br />
<br />
=== Server reports: Failed to set up server socket ===<br />
<br />
You might get an error like the following<br />
<br />
<pre><br />
Listen on port: 11111<br />
ERROR: In /Users/kmorel/src/ParaView/Servers/Common/vtkProcessModuleConnectionManager.cxx, line 191<br />
vtkProcessModuleConnectionManager (0xb380540): Failed to set up server socket.<br />
</pre><br />
<br />
The error is meant to tell you that there is already some process using port 11111. If you are on Linux or a system that has similar command line tools (like Mac OS X), you can confirm this with<br />
<br />
$ netstat -na | grep 11111<br />
<br />
or alternatively<br />
<br />
$ lsof -i:11111<br />
<br />
The latter will tell you the name of the process that is blocking the port (the first won't). If that name is cropped and not unique try adding "+c15" to the lsof command line. Chances are there is still an old pvserver process running and waiting on that socket. Either kill the process that blocks the port or use another one yourself with<br />
<br />
$ pvserver --server-port=11112<br />
<br />
You can get the same problem on the client side when doing a reverse connection. The solution is corresponding.<br />
<br />
=== Remote Rendering Tearing Issues ===<br />
<br />
You may experience tearing issues when using remote rendering.<br />
<br />
[[File:Untitled.png|ParaView Tearing Issues]]<br />
<br />
In this case it will most likely due to your X11 windows manager.<br />
* If your are using xdm, as proposed by this own page, your version of xdm most likely does not support windows resizing correctly.<br />
* If your are using another windows manager, for example a Tiling Window Manager like i3 are awesome, windows size may be constrained preventing the remote rendering to works correctly.<br />
In both these cases, the easier solution is to use another windows manager, we have experience ''xfwm4'' (xfce4 window manager) to be working very well while being quite lightweight.<br />
It is available as a package in most major distribution.<br />
<br />
== Acknowledgements ==<br />
<br />
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy's National Nuclear Security Administration under contract DE-AC04-94AL85000.<br />
<br />
{{ParaView/Template/Footer}}</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=Setting_up_a_ParaView_Server&diff=62062Setting up a ParaView Server2017-10-09T19:53:57Z<p>Kmorel: /* Server processes always have 100% CPU usage */</p>
<hr />
<div>ParaView is designed to work well in client/server mode. In this way, users can have the full advantage of using a shared remote high-performance rendering cluster without leaving their offices. This document is designed to help get you started with build and setting up your own ParaView server. It also serves as a collection point for the "tribal knowledge" acquired to make parallel rendering and other aspects of parallel and client/server processing most efficient. You may also want to look at [[Media:Cluster09_PV_Tut_Setup.pdf|Configuring ParaView for Vis Clusters]].<br />
<br />
== Compiling ==<br />
<br />
Ideally, we would like to provide precompiled binaries of ParaView for all of our users to make installing it more convenient. Unfortunately, the large variety of hardware, operating systems, and MPI implementations makes this task impossible. Thus, if you wish to use ParaView on a parallel server, you will have to compile ParaView from source.<br />
<br />
After [http://www.paraview.org/New/download.html downloading] ParaView, follow the [[ParaView:Build And Install|Building and Installation instructions]]. When following these instructions, be sure to compile in MPI support by setting the PARAVIEW_USE_MPI CMake flag to ON and setting the appropriate paths to the MPI include directory and libraries.<br />
<br />
One problem many people face when compiling with MPI is that their MPI implementation provides multiple libraries, many of which are required when compiling ParaView. If there are only two such libraries, you can add them separately in the MPI_LIBRARY and MPI_EXTRA_LIBRARY CMake variables. If you need to link in more than two libraries, you can specify multiple libraries in the MPI_LIBRARY variable by separating them with semicolons (<tt>;</tt>). You can apply the same trick to the MPI_INCLUDE_PATH to specify several include directories.<br />
<br />
Another problem sometimes encountered is the lack of graphics libraries. There are many circumstances where you would want to compile the ParaView server on a parallel computer with no graphics hardware and thus no OpenGL implementation. In this case, most people use the [http://mesa3d.org Mesa 3D Graphics Library], which is a portable, software-only implementation of the OpenGL API. A cluster built using a Linux operating system probably already has a version of Mesa installed, but otherwise you can always download the source code from http://mesa3d.org.<br />
<br />
=== OSMesa support ===<br />
<br />
One of the most difficult problems people face when installing a ParaView server is establishing [[#X Connections|XConnections]]. This whole problem can be circumvented by using the OSMesa library. However, Mesa is strictly a CPU rendering library so, '''use the OSMesa solution if and only if your server hardware does not have rendering hardware'''. If your cluster does not have graphics hardware, then compile ParaView with OSMesa support and use the --use-offscreen-rendering flag when launching the server.<br />
<br />
The first step to compiling OSMesa support is to make sure that you are compiling with the [http://mesa3d.org Mesa 3D Graphics Library]. It is difficult to tell an installation of Mesa from any other OpenGL implementation (although the existence of an osmesa.h header and a libOSMesa library is a good clue). If you are not sure, you can always download your own copy from http://mesa3d.org.<br />
<br />
Now set the CMake variable OPENGL_INCLUDE_DIR to point to the Mesa include directory (the one containing the GL subdirectory), and set the OPENGL_gl_LIBRARY and OPENGL_glu_LIBRARY to the libGL and libGLU library files, respectively. Next, change the VTK_OPENGL_HAS_OSMESA variable to ON. After you configure again you will see a new CMake variable called OSMESA_LIBRARY. Set this to the libOSMesa library file. After you configure and generate your makefiles, you should be ready to build with OSMesa support.<br />
<br />
Once again, once you build with OSMesa support, it will not take effect unless you launch the server with the --use-offscreen-rendering flag.<br />
<br />
Please be aware that OSMesa support is not the same thing as mangled Mesa (although they are often used for the same thing). Mangled Mesa is not supported with ParaView. Mangled Mesa provides a mechanism to use either hardware acceleration or CPU-only rendering. Some organizations use this to provide a single build for multiple servers, some with and some without hardware rendering. We find it easier to simply provide a separate build for each server.<br />
<br />
For more elaborate discussion on building with OSMesa support with different versions of Mesa, refer to [[ParaView And Mesa 3D]].<br />
<br />
== Running the Server ==<br />
<br />
The ParaView client is a serial application and is always run with the <tt>paraview</tt> command. The server is a parallel MPI program that must be launched as a parallel job. Different implementations of MPI may have different ways to launch parallel programs, but the most common way is to use the <tt>mpirun</tt> command. Ask your system administrator if you are not sure how to launch your MPI programs. This document will assume you are using <tt>mpirun</tt>.<br />
<br />
The ParaView server is almost always enabled with the <tt>pvserver</tt> command. Thus, the most simple configuration would have it launched as something like the following.<br />
<br />
mpirun -np 4 ./pvserver<br />
<br />
An integral part of configuring the ParaView server is setting up the client for [[starting the server]]. However, when initially configuring your server, it is best to do it in stages to better identify problems as they occur. Thus, as you are first trying to set up your server, set up your client for [[starting the server#Manual Startup|manual startup]]. That way, you can launch the server with <tt>mpirun</tt> at the command prompt. You will be able to immediatly see any output on the stdout and stderr streams and retry when something goes wrong.<br />
<br />
Note that ParaView is designed to work well when the server and client are run remotely from each other. The idea is that the client can be run locally on the user's desktop/laptop<br />
<br />
=== pvserver vs. pvrenderserver and pvdataserver ===<br />
<br />
There are two modes in which you can launch the ParaView server. In the first mode, all data processing and rendering are handled in the same parallel job. This server is launched with the <tt>pvserver</tt> command. In the second mode, data processing is handled in one parallel job and the rendering is handled in another parallel job launched with the <tt>pvdataserver</tt> and <tt>pvrenderserver</tt> programs, respectively.<br />
<br />
The point of having a separate data server and render server is the ability to use two different parallel computers, one with high performance CPUs and the other with GPU hardware. However, the server functionality split in two necessitates repartitioning and transfering the data from one to the other. This overhead is seldom much smaller than the cost of just performing both data processing and rendering in the same job.<br />
<br />
Thus, we recommend on almost all instances simply using the single <tt>pvserver</tt>. This document does not describe how to launch data server / render server jobs. Even if you really feel like this mode is right for you, it is best to first to configure your server in single server mode. From there, establishing the data server / render server should be easier.<br />
<br />
=== Connecting Through a Firewall ===<br />
<br />
Often times security policies require either the ParaView server or client to be behind a firewall or some other network limiting technology. Such a configuration will add challenges to configuring your server to connect with a client. The type of networking safeguards, as well as the policies that govern them, vary greatly. We cannot possibly provide solutions for all of them, but we can give suggestions that might help you on your way. The main goal here is to establish a socket connection between client and (the first node of the) server. This socket by default is on port 11111.<br />
<br />
Many firewalls will deny incoming connection requests but will allow outgoing connection requests. If only one side of the connection is behind such a firewall, then establishing the connection is easy. By default, the client connects to the server, so if the client is the one behind a firewall, nothing needs to be done. If the server is behind the firewall, you can reverse the connection direction: the server will connect back to the client. The server is instructed to perform a reverse connection by simply adding the <tt>-rc</tt> flag to its command line.<br />
<br />
mpirun -np 4 ./pvserver -rc --client-host=myhost.mydomain.com<br />
<br />
It is similarly straightforward to specify a reverse connection [[Starting the server|using the ParaView GUI]] or [[ParaView:Server Configuration|server configuration using XML configuration files]].<br />
<br />
If your firewall does not allow outbound connections or if client and server are each behind their own firewall, then no direct connection is possible. Now is probably a good time to talk to your system administrator about options.<br />
<br />
One option that has proven to be effective when available is to use a VPN (virtual private network) connection on the client. A proper VPN connection can make the network of the client computer behave as if it is connected behind the firewall of the server, and thus the two can connect directly. Be aware that establishing a VPN connection will make the hostname and IP address for the client machine look different to the server, which may complicate specifying the connection.<br />
<br />
If VPN is not available, you may be able to achieve a connection using the [[Reverse connection and port forwarding| port forwarding]] feature of ssh. The ssh protocol allows for forwarding a socket request from one side of the connection to the other, assuming that the configuration settings allow for this. You might be able to use this feature to "punch through" the firewall. For more information, see the [[reverse connection and port forwarding]] page.<br />
<br />
Even though X11 forwarding might be available, '''you should not run the client remotely and forward its X calls'''. ParaView will run much more efficiently if you run the client locally and you let ParaView directly handle the data transfer between local and remote machines.<br />
<br />
=== X Connections ===<br />
<br />
One of the most common problems people have with setting up the ParaView server is allowing the server processes to open windows on the graphics card on each process's node. When ParaView needs to do parallel rendering, each process will create a window that it will use to render. This window is necessary because you need the X window before you can create an OpenGL context on the graphics hardware.<br />
<br />
There is a way around this. If you are using the Mesa as your OpenGL implementation, then you can also use the supplemental OSMesa library to create an OpenGL context without an X window. However, Mesa is strictly a CPU rendering library so, '''use the OSMesa solution if and only if your server hardware does not have rendering hardware'''. If your cluster does not have graphics hardware, then compile ParaView with [[#OSMesa support|OSMesa support]] and use the --use-offscreen-rendering flag when launching the server.<br />
<br />
Assuming that your cluster '''does''' have graphics hardware, you will need to establish the following three things.<br />
# If the clusters are not ''headless'' , i.e if the nodes are operating with full-blown desktop environments (e.g if you are running pvserver on one node that has many graphics cards), then you don't have to make any changes. Just spawn many processes using mpirun; since the desktop manager is already running, the X windows should not have any trouble in getting created. If Paraview shows errors when the client connects to the pvserver(s), then you will have to follow the instructions below and create '''one''' another display where all the rendering will be done by the pvservers.<br />
# Have xdm run on each cluster node at startup. Although xdm is almost always run at startup on workstation installations, it is not as commonplace to be run on cluster nodes. Talk to your system administrators for help in setting this up.<br />
# Disable all security on the X server. That is, allow any process to open a window on the x server without having to log in. Again, talk to your system administrators for help. On some systems, the command "<code>xhost +</code>" will do this.<br />
# Use the -display flag for pvserver to make sure that each process is connecting to the display <tt>localhost:0</tt> (or just <tt>:0</tt>).<br />
<br />
To enable the last condition, you would run something like<br />
<br />
mpirun -np 4 ./pvserver -display localhost:0<br />
<br />
An easy way to test your setup is to use the <tt>glxgears</tt> program. Unlike pvserver, it will quickly tell you (or, rather, fail to start) if it cannot connect to the local X server.<br />
<br />
mpirun -np 4 /usr/X11R6/bin/glxgears -display localhost:0<br />
<br />
=== Multiple GPUs Per Node ===<br />
<br />
It is becoming commonplace to put multiple GPUs on each node in a cluster. Taking advantage of these multiple GPUs can be tricky.<br />
<br />
Typically, each of these GPUs will have its own display. For example, if you have two GPUs on a node, they are probably referenced by the displays <tt>localhost:0.0</tt> and <tt>localhost:0.1</tt>. When you run an X program with the display parameter or flag set to one of these, all X windows will open on that respective GPU and any graphics acceleration will also happen on that GPU. Thus, you can take advantage of both GPUs by launching different pvserver processes with different arguments to point to different displays.<br />
<br />
Unfortunately, the method used to invoke an MPI job (usually through mpirun) is not part of the MPI specification and varies between implementations. In particular, the syntax used to declare different command lines for different processes can vary quite a bit.<br />
<br />
OpenMPI (not to be confused with OpenMP, which is totally different) has a particularly easy way to specify multiple command lines. Simply separate the different command lines, along with the -np flag, with a colon (<tt>:</tt>). In our case, the command lines should be identical except with different display flags. We also need to use the -bynode flag, which assigns processes in a round robin fashion. Basically, this makes sure that each node is assigned a pair (or more) of processes that use the different displays. As an example, the following command line when run on an 8 node cluster launches a 16 process job with each node having two processes, each using a different display.<br />
<br />
mpirun -bynode -np 8 ./pvserver -display :0.0 : -np 8 ./pvserver -display :0.1<br />
# on 3.98-4.1 versions of ParaView the display option was missing due to a bug, the replacement is to start pvserver with /bin/env DISPLAY=localhost:0.0 <br />
# With ParaView 4.2, the option is available, once again.<br />
<font color="red">If you have set up a parallel job with multiple GPUs per node using a different MPI implementation, please contribute back by documenting it here.</font><br />
<br />
If you are trying to verify which displays each pvserver node is using, you can use the Programmable Source to identify which processes are using which displays. After connecting to your pvserver, create a Programmable Source and set the following script.<br />
<br />
<pre><br />
import os<br />
import subprocess<br />
<br />
display = os.getenv('DISPLAY')<br />
hostname = subprocess.Popen(['hostname'], stdout=subprocess.PIPE).communicate()[0].strip()<br />
print hostname, display<br />
</pre><br />
<br />
After you apply the filter, this script will run on each process and output like the following will be printed to the pvserver terminal.<br />
<br />
<pre><br />
Process id: 3 >> vs8 :0.0<br />
Process id: 4 >> vs14 :0.1<br />
Process id: 7 >> vs8 :0.1<br />
Process id: 0 >> vs14 :0.0<br />
Process id: 5 >> vs30 :0.1<br />
Process id: 1 >> vs30 :0.0<br />
Process id: 2 >> vs2 :0.0<br />
Process id: 6 >> vs2 :0.1<br />
</pre><br />
<br />
=== Sharing GPUs Amongst Processes ===<br />
<br />
Visualization clusters that have GPUs are not always built with a one-to-one correspondence between CPUs and GPUs. In fact, industry trends at the time of this writing often lead to having more CPUs than GPUs on each node. For example, our current visualization cluster contains 4 CPUs per node but only 2 GPUs.<br />
<br />
The pvserver is rather dumb about the number of GPUs. It assumes that each process has equal access to local rendering. This means that there is no special mechanism to, for example, coordinate the rendering between pairs of processes.<br />
<br />
This leaves you with two options. Either you can launch one process per GPU and let CPUs go idle or you can launch one process per CPU and let multiple processes send rendering requests to the same GPU. The first option maximizes rendering speed but performs most other operations more slowly. The second option will maximize the speed of filter processing, but will throttle the rendering speed as GPU processors and buses must be shared.<br />
<br />
There was once a time when rendering speed was the bottleneck for visualization. That, however, is no longer the case. The time spent in rendering is minimal, especially when compared to the time spent processing filters. The rendering speed can be throttled quite a bit before making a serious impact on visualization performance, even when running interactively. We thus recommend the second option, sharing GPUs.<br />
<br />
GPUs can be implicitly shared by pointing multiple processes to the same display on the same host. One problem is that many GPUs will not correctly handle two windows on top of each other. The two windows share memory space and clobber each others memory. To get around this problem, use the --use-offscreen-rendering flag. This will create each rendering context in its own offscreen buffer and guarantees that the memory will not overrun that of another rendering context. As an example, here is the mpirun command you might use on a cluster with 8 nodes, each containing 4 cores (for a total of 32) and 1 GPU.<br />
<br />
mpirun -np 32 ./pvserver -display :0.0 --use-offscreen-rendering<br />
<br />
You can still share GPUs when you have [[#Multiple GPUs Per Node]]. You use the same techniques in the section above except that you allow processes to have the same display and you add the --use-offscreen-rendering flag for each command. So, for example, if your cluster has 8 nodes, each containing 4 cores and 2 GPUs, the OpenMPI mpirun command could look like the following.<br />
<br />
mpirun -bynode -np 16 ./pvserver -display :0.0 --use-offscreen-rendering : \<br />
-np 16 ./pvserver -display :0.1 --use-offscreen-rendering<br />
<br />
=== Using a Tiled Display ===<br />
<br />
ParaView has the ability to render directly to a tiled display. Furthermore, when rendering to a tiled display ParaView uses a built in library, [http://icet.sandia.gov/ IceT], to perform the rendering in a parallel and efficient manner.<br />
<br />
To put ParaView in a tiled display mode, give pvserver (or pvrenderserver) the X and Y dimensions of the 2D grid of displays that make up the tiled display with the --tile-dimensions-x (or -tdx) and --tile-dimensions-y (or -tdy) arguments. For example, to drive a 3 X 2 tiled display, you launch the server with a command like the following.<br />
<br />
mpirun -np 16 ./pvserver -display localhost:0 -tdx=3 -tdy=2<br />
<br />
There must be at least as many processes in the MPI job as there are tiles in the display; however, adding more processes than tiles is recommended as they will all be used to perform the parallel rendering. In the above example, I arbitrarily picked 16 processes. As few as 6 processes would work, but 32 would be even better if you had that many GPUs.<br />
<br />
ParaView assumes that the first ''T'' processes have their displays connected directly to one of the tiles in a ''T'' tile display. The processes are assigned in row major order from left to right and top to bottom. For example, in a 3 X 2 display the processes are assigned as follows.<br />
<br />
{| align="center" border="1" cellpadding="25" style="width:300px; align=center"<br />
|- align="center"<br />
| 0 || 1 || 2<br />
|- align="center"<br />
| 3 || 4 || 5<br />
|}<br />
<br />
The only way to adjust which processes are connected to which tiles is to reconfigure the machines configuration of MPI.<br />
<br />
The tiled display will not be driven correctly if the server is run with the --use-offscreen-rendering flag for obvious reasons.<br />
<br />
== Pitfalls ==<br />
<br />
Here we capture the most common problems people run into with setting up client/server.<br />
<br />
=== Specifying multiple MPI include directories ===<br />
<br />
You can add multiple directories to the MPI_INCLUDE_PATH CMake variable by separating them with semicolons (<tt>;</tt>). See the [[#Compiling]] section for more details.<br />
<br />
=== Specifying multiple MPI libraries ===<br />
<br />
You can use both the MPI_LIBRARY and MPI_EXTRA_LIBRARY CMake variables for specifying MPI libraries. You can also add multiple libraries to MPI_LIBRARY by separating the files with semicolons (<tt>;</tt>). See the [[#Compiling]] section for more details.<br />
<br />
=== Mangled Mesa ===<br />
<br />
Do not bother to use Mangled Mesa. Compiling a version of Mesa is typically more trouble than it is worth and is incompatible with the [[#OSMesa support|OSMesa support]] instructions given on this page.<br />
<br />
=== ParaView does not scale ===<br />
<br />
Many a user have reported to the mailing list that ParaView failed as they tried to scale up the data size on their server. First, let me assure you that ParaView’s parallel visualization and rendering are efficient and scalable. We (at Sandia National Laboratories) have been able to use ParaView to visualize 6 billion cell grids and have clocked rendering speeds of over 8 billion polygons per second.<br />
<br />
When a user reports that ParaView is not scaling to large data sets, it is almost always because the server is misconfigured for parallel rendering. The problem is often misinterpreted as a scaling problem because ParaView will use serial rendering for small data and parallel rendering for large data. So when the server is misconfigured and cannot perform parallel rendering, it sometimes misbehaves when the data gets big enough to use parallel rendering.<br />
<br />
Parallel rendering is build right into ParaView. There is nothing special you have to compile to set this up. However, to perform parallel rendering (or any rendering, for that matter), the ParaView server needs to have an OpenGL context. This is usually done through [[#X Connections|X Connections]]. However, most parallel programs have no need to open an X window, so most clusters are not configured to allow X connections. For help on how to configure your cluster, see the [[#X Connections|X Connections]] section.<br />
<br />
Before reporting scalability problems with ParaView, please verify that parallel rendering is working correctly. You can do that with the following procedure.<br />
<br />
# Open the Settings dialog box (Edit -> Settings) and go to the Server tab.<br />
# Make sure the checkbox next to Remote Render Threshold is checked, and move the associated slider all the way to the left (0 MBytes).<br />
# Make sure the checkbox next to Subsample Rate is checked and move the slider to the right (4 Pixels or more).<br />
# Create or load any data (the cone source works fine) and rotate the data with the mouse. While rotating, the image should look pixelated (blocky). When you let go of the mouse, the full resolution picture is restored.<br />
<br />
The Remote Render Threshold option tells ParaView to always use parallel rendering. The Subsample Rate tells ParaView to render smaller images during interaction to make the GUI more responsive. This latter feature is very noticeable when the subsample rate is high and only used during parallel rendering. So if you are not seeing the subsample effect (or if something went clearly wrong before that), then your parallel rendering is not working.<br />
<br />
=== Reverse connection does not work ===<br />
<br />
A "standard" connection has the server (<tt>pvserver</tt>) listen for a connection from the client (<tt>paraview</tt>). ParaView also has the ability to perform a "reverse connection" where the client waits for the server. Creating a reverse connection is straightforward. Simply use the <tt>--reverse-connection</tt> (<tt>-rc</tt>) command line option on the server and specify a reverse connection in the ParaView GUI (you will have to add a new server in the Choose Server dialog box; see [[Starting the server]]). If you can get the standard connection to work but not the reverse connection, one of the following may be occurring.<br />
<br />
# A firewall or some other network configuration may be preventing you from connecting from server to client. To test this, try swapping the location of the server and client and test the forward connection again.<br />
# Make sure that both the client and the server are set up to do a reverse connection. Make sure that the server is being launched with the reverse connection flag and that the GUI is configured to connect with a reverse connection.<br />
# Make sure that the client is started first and ready to receive a connection before starting the server. When doing a reverse connection, the client must already be started and waiting for a connection before starting the server. If you try to start the server before the client is ready, it may fail to connect and then give up before the client starts waiting for the connection. If you are starting the server from the client GUI, this should not be an issue.<br />
<br />
=== Cannot launch paraview with mpirun ===<br />
<br />
Occasionally users report problems with trying to run the ParaView client (<tt>paraview</tt>) with mpirun like this:<br />
<br />
mpirun paraview [args]<br />
<br />
'''Don't do this!''' The ParaView client is a serial application. It is not meant to be run under mpirun. Only run the server (<tt>pvserver</tt> with mpirun.<br />
<br />
=== The client only connects to one node on the server ===<br />
<br />
Users sometimes ask how to get the client to make a socket connection to every process on the server. You don't. ParaView is not supposed to run like that. When running in client/server mode, ParaView connects to process 0 of the server, and nothing else. All communication with the client goes through process 0, and process 0 of the server uses the MPI interconnect to pass data to and from the other nodes in the server.<br />
<br />
ParaView is implemented in this way for convenience and scalability. It is not scalable to have every process in the server to connect to the client because all communication will eventually have to go through the same network interface on the client side. Also, the MPI interconnect on the server is almost always faster than the socket communication between client and server.<br />
<br />
=== Server processes always have 100% CPU usage ===<br />
<br />
It has often been observed that when running <tt>pvserver</tt> under mpirun, many of the processes that are launched for this job always use a 100% of a CPU, even when it should be sitting idle. The most common pattern is for one processes (the root process) to actually be idle while the rest are constantly running.<br />
<br />
This observed behavior is due to the implementation of the MPI layer. OpenMPI and MPICH, the two most common implementations we encounter, both exhibit this behavior. In these implementations when a process is waiting for a message (which is the case when <tt>pvserver</tt> is supposed to be sitting idle waiting for a message), the process actually sits in a busy wait loop. (The root process is the single exception as it is waiting for a message on a socket, not an MPI message.)<br />
<br />
This behavior is intentionally added by the MPI library developers (not so much the ParaView developers) for efficiency. The general idea is to keep each process "attached" to the core it is running on. Once a process goes idle, it is likely to be scheduled off that core by the OS process scheduler and then scheduled back on to a different core. This can have detrimental effects on things like memory access as each core can have its own cache hierarchy.<br />
<br />
The parameters for controlling this behavior varies based on the MPI implementation. The following links are collected that might provide some solutions for different MPI implementations. These are highly dependent on the configuration of several system components, so results may vary.<br />
<br />
* OpenMPI<br />
** It may be possible to turn off the busy wait by putting it in "degraded" mode, which is designed to behave better when cores are "oversubscribed." (Note, some users have reported that this has not gotten rid of the busy-wait loop.)<br />
*** http://www.open-mpi.org/faq/?category=running#oversubscribing<br />
*** http://www.open-mpi.org/faq/?category=running#force-aggressive-degraded<br />
* MPICH<br />
** It has been reported that configuring with the CH3 Sock device (using the <tt>--with-device=ch3:sock</tt> configure option) does not use a busy-wait loop when waiting for messages. Note that the CH3 Sock device is likely slower in general than other ADI3 devices.<br />
* Intel MPI<br />
** Set the <tt>I_MPI_WAIT_MODE</tt> environment variable to <tt>enable</tt>.<br />
*** https://software.intel.com/en-us/mpi-developer-reference-linux-communication-fabrics-control<br />
<br />
<font color="red">If you have information on disabling the busy wait using a different MPI implementation, please contribute back by documenting it here.</font><br />
<br />
=== Server reports: Failed to set up server socket ===<br />
<br />
You might get an error like the following<br />
<br />
<pre><br />
Listen on port: 11111<br />
ERROR: In /Users/kmorel/src/ParaView/Servers/Common/vtkProcessModuleConnectionManager.cxx, line 191<br />
vtkProcessModuleConnectionManager (0xb380540): Failed to set up server socket.<br />
</pre><br />
<br />
The error is meant to tell you that there is already some process using port 11111. If you are on Linux or a system that has similar command line tools (like Mac OS X), you can confirm this with<br />
<br />
$ netstat -na | grep 11111<br />
<br />
or alternatively<br />
<br />
$ lsof -i:11111<br />
<br />
The latter will tell you the name of the process that is blocking the port (the first won't). If that name is cropped and not unique try adding "+c15" to the lsof command line. Chances are there is still an old pvserver process running and waiting on that socket. Either kill the process that blocks the port or use another one yourself with<br />
<br />
$ pvserver --server-port=11112<br />
<br />
You can get the same problem on the client side when doing a reverse connection. The solution is corresponding.<br />
<br />
=== Remote Rendering Tearing Issues ===<br />
<br />
You may experience tearing issues when using remote rendering.<br />
<br />
[[File:Untitled.png|ParaView Tearing Issues]]<br />
<br />
In this case it will most likely due to your X11 windows manager.<br />
* If your are using xdm, as proposed by this own page, your version of xdm most likely does not support windows resizing correctly.<br />
* If your are using another windows manager, for example a Tiling Window Manager like i3 are awesome, windows size may be constrained preventing the remote rendering to works correctly.<br />
In both these cases, the easier solution is to use another windows manager, we have experience ''xfwm4'' (xfce4 window manager) to be working very well while being quite lightweight.<br />
It is available as a package in most major distribution.<br />
<br />
== Acknowledgements ==<br />
<br />
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy's National Nuclear Security Administration under contract DE-AC04-94AL85000.<br />
<br />
{{ParaView/Template/Footer}}</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=ParaView_Self-directed_Tutorial&diff=61946ParaView Self-directed Tutorial2017-08-29T16:37:36Z<p>Kmorel: </p>
<hr />
<div>The ParaView Tutorial is an introductory and comprehensive tutorial. It teaches using ParaView through examples that start at basic usage and continue through more advanced topics such as temporal analysis, animation, parallel processing, and scripting.<br />
<br />
This tutorial is sometimes referred to as the supercomputing tutorial because it originated as the handout documents for a series of tutorials at supercomputing. However, because the tutorial was designed for the beginning user, the material was general enough to be useful to a broad audience and became a popular document for learning ParaView. As time passes we are starting to add more advanced topics from tutorials in more specific domains. This tutorial has become something of a repository for teaching materials, hence simply ''the'' tutorial.<br />
<br />
To get started, you will need the document itself.<br />
<br />
* [[Media:ParaViewTutorial54.pdf|The ParaView Tutorial (for version 5.4)]]<br />
<br />
Of course, you will also need ParaView itself. You can get the most recent version of ParaView from http://www.paraview.org.<br />
<br />
If you want to reference this version of The ParaView Tutorial as a publication, please use the following:<br />
<br />
Kenneth Moreland. ''The ParaView Tutorial'', Version 5.4.1. Technical Report SAND 2017-9245 TR, Sandia National Laboratories, 2016.<br />
<br />
== Translations ==<br />
<br />
Some individuals have been good enough to translate the tutorial in other languages. When they become available, we will post them here. Please keep in mind that these are done after the English version is created and on a volunteer basis. If you are not finding a recent translation in your native language, then thanks in advance for volunteering to create a new translation.<br />
<br />
* [[Media:ParaViewTutorial42-jp.pdf|'''Japanese Translation''' of the ParaView Tutorial for version 4.2]]. Thanks to Takuya OSHIMA, Kei OGINO, Hidekazu TANAKA, Masashi IMANO, and Haruka Tsubota.<br />
<br />
== Previous Versions ==<br />
<br />
* [[Media:ParaViewTutorial52.pdf|The ParaView Tutorial for version 5.2]]<br />
* [[Media:ParaViewTutorial51.pdf|The ParaView Tutorial for version 5.1]]<br />
* [[Media:ParaViewTutorial44.pdf|The ParaView Tutorial for version 4.4]]<br />
* [[Media:ParaViewTutorial42.pdf|The ParaView Tutorial for version 4.2]]<br />
* [[Media:ParaViewTutorial41.pdf|The ParaView Tutorial for version 4.1]]<br />
* [[Media:ParaViewTutorial40.pdf|The ParaView Tutorial for version 4.0]]<br />
* [[Media:ParaViewTutorial398.pdf|The ParaView Tutorial for version 3.98]]<br />
* [[Media:ParaViewTutorial312.pdf|The ParaView Tutorial for version 3.12]]<br />
* [[Media:ParaViewTutorial310.pdf|The ParaView Tutorial for version 3.10]]<br />
* [[Media:ParaViewTutorial38.pdf|The ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial36.pdf|The ParaView Tutorial for version 3.6]]<br />
* [[SC08 ParaView Tutorial]]<br />
* [[SC07 ParaView Tutorial]]<br />
* [[Media:ParaViewTutorial38-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.6]]<br />
<br />
<br />
Recent binary distributions of ParaView (starting with version 5.2) come with the data needed for the tutorial exercises. For earlier versions you will need to download the example data. (The two archives below contain the same data. Just download the one with your preferred archive format.)<br />
<br />
* [[Media:ParaViewTutorialData.tar.gz|'''The ParaView Tutorial Data''' (in tar/gzip)]]<br />
* [[Media:ParaViewTutorialData.zip|'''The ParaView Tutorial Data''' (in zip)]]<br />
* [[Media:ParaViewTutorialScripts.tar.gz|'''ParaView Scripts''' (in tar/gzip)]]<br />
<br />
<br />
== Presentation Slides ==<br />
<br />
Several people have requested the slides for the tutorial for their own presentations. Here is a link to PowerPoint slides that have been presented recently.<br />
<br />
* [[Media:ParaView_Tutorial_Slides.pptx|ParaView Tutorial Slides]]<br />
<br />
Be aware that these slides are ''not'' intended for learning ParaView on your own. They make no sense without an instructor already familiar with ParaView. Instead, use the ParaView tutorial notes document posted at the top of this page. It contains all of the material in the slides plus more plus full descriptions on how everything works.<br />
<br />
Additional material for the IEEE SC presentations is here:<br />
* [[Media:SC17Supplemental.tgz|Additional Material for SC17 covering Catalyst]]<br />
* [[Media:SC14Supplemental.tgz|Additional Material for SC14 covering Catalyst and Cinema]]<br />
<br />
== LaTeX Source ==<br />
<br />
In the past, individuals have requested the source materials for the tutorial. In response, the LaTeX source and images are posted at https://gitlab.kitware.com/paraview/paraview-tutorial. Or you can download the LaTeX repository from this link:<br />
<br />
* [[Media:ParaViewTutorialSrc.tar.gz]]<br />
<br />
Contributions to the text are always welcome. Please send patches or git pull requests either directly to me (kmorel@sandia.gov) or to the ParaView mailing list (paraview@paraview.org).<br />
<br />
== License ==<br />
<br />
https://i.creativecommons.org/l/by/4.0/88x31.png<br /><br />
This work is licensed under a [http://creativecommons.org/licenses/by/4.0/ Creative Commons Attribution 4.0 International License].</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaViewTutorialSrc.tar.gz&diff=61944File:ParaViewTutorialSrc.tar.gz2017-08-29T16:33:59Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaViewTutorialSrc.tar.gz&quot;</p>
<hr />
<div>ParaView Tutorial LaTeX source.<br />
<br />
SAND2009-6039P</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaViewTutorial54.pdf&diff=61943File:ParaViewTutorial54.pdf2017-08-29T16:30:37Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaViewTutorial54.pdf&quot;</p>
<hr />
<div></div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=ParaView_Self-directed_Tutorial&diff=61942ParaView Self-directed Tutorial2017-08-29T16:28:29Z<p>Kmorel: /* LaTeX Source */</p>
<hr />
<div>The ParaView Tutorial is an introductory and comprehensive tutorial. It teaches using ParaView through examples that start at basic usage and continue through more advanced topics such as temporal analysis, animation, parallel processing, and scripting.<br />
<br />
This tutorial is sometimes referred to as the supercomputing tutorial because it originated as the handout documents for a series of tutorials at supercomputing. However, because the tutorial was designed for the beginning user, the material was general enough to be useful to a broad audience and became a popular document for learning ParaView. As time passes we are starting to add more advanced topics from tutorials in more specific domains. This tutorial has become something of a repository for teaching materials, hence simply ''the'' tutorial.<br />
<br />
To get started, you will need the document itself.<br />
<br />
* [[Media:ParaViewTutorial54.pdf|The ParaView Tutorial (for version 5.4)]]<br />
<br />
Of course, you will also need ParaView itself. You can get the most recent version of ParaView from http://www.paraview.org.<br />
<br />
If you want to reference this version of The ParaView Tutorial as a publication, please use the following:<br />
<br />
Kenneth Moreland. ''The ParaView Tutorial'', Version 5.2. Technical Report SAND 2016-11449 TR, Sandia National Laboratories, 2016.<br />
<br />
== Translations ==<br />
<br />
Some individuals have been good enough to translate the tutorial in other languages. When they become available, we will post them here. Please keep in mind that these are done after the English version is created and on a volunteer basis. If you are not finding a recent translation in your native language, then thanks in advance for volunteering to create a new translation.<br />
<br />
* [[Media:ParaViewTutorial42-jp.pdf|'''Japanese Translation''' of the ParaView Tutorial for version 4.2]]. Thanks to Takuya OSHIMA, Kei OGINO, Hidekazu TANAKA, Masashi IMANO, and Haruka Tsubota.<br />
<br />
== Previous Versions ==<br />
<br />
* [[Media:ParaViewTutorial52.pdf|The ParaView Tutorial for version 5.2]]<br />
* [[Media:ParaViewTutorial51.pdf|The ParaView Tutorial for version 5.1]]<br />
* [[Media:ParaViewTutorial44.pdf|The ParaView Tutorial for version 4.4]]<br />
* [[Media:ParaViewTutorial42.pdf|The ParaView Tutorial for version 4.2]]<br />
* [[Media:ParaViewTutorial41.pdf|The ParaView Tutorial for version 4.1]]<br />
* [[Media:ParaViewTutorial40.pdf|The ParaView Tutorial for version 4.0]]<br />
* [[Media:ParaViewTutorial398.pdf|The ParaView Tutorial for version 3.98]]<br />
* [[Media:ParaViewTutorial312.pdf|The ParaView Tutorial for version 3.12]]<br />
* [[Media:ParaViewTutorial310.pdf|The ParaView Tutorial for version 3.10]]<br />
* [[Media:ParaViewTutorial38.pdf|The ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial36.pdf|The ParaView Tutorial for version 3.6]]<br />
* [[SC08 ParaView Tutorial]]<br />
* [[SC07 ParaView Tutorial]]<br />
* [[Media:ParaViewTutorial38-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.6]]<br />
<br />
<br />
Recent binary distributions of ParaView (starting with version 5.2) come with the data needed for the tutorial exercises. For earlier versions you will need to download the example data. (The two archives below contain the same data. Just download the one with your preferred archive format.)<br />
<br />
* [[Media:ParaViewTutorialData.tar.gz|'''The ParaView Tutorial Data''' (in tar/gzip)]]<br />
* [[Media:ParaViewTutorialData.zip|'''The ParaView Tutorial Data''' (in zip)]]<br />
* [[Media:ParaViewTutorialScripts.tar.gz|'''ParaView Scripts''' (in tar/gzip)]]<br />
<br />
<br />
== Presentation Slides ==<br />
<br />
Several people have requested the slides for the tutorial for their own presentations. Here is a link to PowerPoint slides that have been presented recently.<br />
<br />
* [[Media:ParaView_Tutorial_Slides.pptx|ParaView Tutorial Slides]]<br />
<br />
Be aware that these slides are ''not'' intended for learning ParaView on your own. They make no sense without an instructor already familiar with ParaView. Instead, use the ParaView tutorial notes document posted at the top of this page. It contains all of the material in the slides plus more plus full descriptions on how everything works.<br />
<br />
Additional material for the IEEE SC presentations is here:<br />
* [[Media:SC17Supplemental.tgz|Additional Material for SC17 covering Catalyst]]<br />
* [[Media:SC14Supplemental.tgz|Additional Material for SC14 covering Catalyst and Cinema]]<br />
<br />
== LaTeX Source ==<br />
<br />
In the past, individuals have requested the source materials for the tutorial. In response, the LaTeX source and images are posted at https://gitlab.kitware.com/paraview/paraview-tutorial. Or you can download the LaTeX repository from this link:<br />
<br />
* [[Media:ParaViewTutorialSrc.tar.gz]]<br />
<br />
Contributions to the text are always welcome. Please send patches or git pull requests either directly to me (kmorel@sandia.gov) or to the ParaView mailing list (paraview@paraview.org).<br />
<br />
== License ==<br />
<br />
https://i.creativecommons.org/l/by/4.0/88x31.png<br /><br />
This work is licensed under a [http://creativecommons.org/licenses/by/4.0/ Creative Commons Attribution 4.0 International License].</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=61941File:ParaView Tutorial Slides.pptx2017-08-29T14:24:22Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaView Tutorial Slides.pptx&quot;</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1 and Supercomputing 2016 for ParaView 5.2.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=61933File:ParaView Tutorial Slides.pptx2017-08-23T01:49:36Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaView Tutorial Slides.pptx&quot;</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1 and Supercomputing 2016 for ParaView 5.2.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.pdf&diff=61930File:UseLATEX.pdf2017-08-21T21:16:05Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.pdf&quot;</p>
<hr />
<div>Documentation for UseLATEX macros.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.cmake&diff=61929File:UseLATEX.cmake2017-08-21T21:15:00Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.cmake&quot;</p>
<hr />
<div>A collection of CMake macros that help build LaTeX documents.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.pdf&diff=61913File:UseLATEX.pdf2017-07-27T20:27:06Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.pdf&quot;</p>
<hr />
<div>Documentation for UseLATEX macros.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.cmake&diff=61912File:UseLATEX.cmake2017-07-27T20:26:30Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.cmake&quot;</p>
<hr />
<div>A collection of CMake macros that help build LaTeX documents.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.pdf&diff=61856File:UseLATEX.pdf2017-06-09T00:47:10Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.pdf&quot;</p>
<hr />
<div>Documentation for UseLATEX macros.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.cmake&diff=61855File:UseLATEX.cmake2017-06-09T00:46:13Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.cmake&quot;</p>
<hr />
<div>A collection of CMake macros that help build LaTeX documents.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=CMakeUserUseLATEX&diff=61822CMakeUserUseLATEX2017-05-23T18:47:16Z<p>Kmorel: /* Repository */</p>
<hr />
<div>[[CMake_User_Contributed_Macros|Back]]<br />
<br />
==Description==<br />
<br />
Compiling LaTeX files into readable documents is actually a very involved process. Although CMake comes with FindLATEX.cmake, it does nothing for you other than find the commands associated with LaTeX. I like using CMake to build my LaTeX documents, but creating targets to do it is actually a pain. Thus, I've compiled a bunch of macros that help me create targets in CMake into a file I call "[[Media:UseLATEX.cmake|UseLATEX.cmake]]". Here are some of the things UseLATEX.cmake handles:<br />
<br />
* Runs LaTeX multiple times to resolve links.<br />
* Can run bibtex, makeindex, and makeglossaries to make bibliographies, indexes, and/or glossaries.<br />
* Optionally runs configure on your latex files to replace <tt>@''VARIABLE''@</tt> with the equivalent CMake variable.<br />
* Automatically finds png, jpeg, eps, and pdf files and converts them to formats latex and pdflatex understand.<br />
<br />
==Download==<br />
<br />
* Click here to get a copy of [[Media:UseLATEX.cmake|UseLATEX.cmake]].<br />
* Click here to get the documentation [[Media:UseLATEX.pdf|UseLATEX.pdf]].<br />
<br />
== Repository ==<br />
<br />
UseLATEX.cmake is currently hosted on github at https://github.com/kmorel/UseLATEX.<br />
<br />
There has been some requests to incorporate UseLATEX.cmake into the CMake repository and distribution. Nobody thinks this is a bad idea, but it hasn't yet happened mostly out of laziness. Keep bugging me to show interest in moving UseLATEX.cmake. (See the author contact information at the top of [[Media:UseLATEX.cmake|UseLATEX.cmake]].)<br />
<br />
----<br />
<br />
<br />
[[CMake_User_Contributed_Macros|Back]]<br />
<br />
{{CMake/Template/Footer}}</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=CMakeUserUseLATEX&diff=61821CMakeUserUseLATEX2017-05-23T17:31:14Z<p>Kmorel: </p>
<hr />
<div>[[CMake_User_Contributed_Macros|Back]]<br />
<br />
==Description==<br />
<br />
Compiling LaTeX files into readable documents is actually a very involved process. Although CMake comes with FindLATEX.cmake, it does nothing for you other than find the commands associated with LaTeX. I like using CMake to build my LaTeX documents, but creating targets to do it is actually a pain. Thus, I've compiled a bunch of macros that help me create targets in CMake into a file I call "[[Media:UseLATEX.cmake|UseLATEX.cmake]]". Here are some of the things UseLATEX.cmake handles:<br />
<br />
* Runs LaTeX multiple times to resolve links.<br />
* Can run bibtex, makeindex, and makeglossaries to make bibliographies, indexes, and/or glossaries.<br />
* Optionally runs configure on your latex files to replace <tt>@''VARIABLE''@</tt> with the equivalent CMake variable.<br />
* Automatically finds png, jpeg, eps, and pdf files and converts them to formats latex and pdflatex understand.<br />
<br />
==Download==<br />
<br />
* Click here to get a copy of [[Media:UseLATEX.cmake|UseLATEX.cmake]].<br />
* Click here to get the documentation [[Media:UseLATEX.pdf|UseLATEX.pdf]].<br />
<br />
== Repository ==<br />
<br />
UseLATEX.cmake is currently hosted on github at https://github.com/kmorel/UseLATEX.<br />
<br />
There has been some requests to incorporate UseLATEX.cmake into the CMake repository and distribution. Nobody thinks this is a bad idea, but it hasn't yet happened mostly out of laziness. Keep bugging me to show interest. (See the author contact information at the top of [[Media:UseLATEX.cmake|UseLATEX.cmake]].)<br />
<br />
----<br />
<br />
<br />
[[CMake_User_Contributed_Macros|Back]]<br />
<br />
{{CMake/Template/Footer}}</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.pdf&diff=61481File:UseLATEX.pdf2017-02-13T19:36:25Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.pdf&quot;</p>
<hr />
<div>Documentation for UseLATEX macros.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.cmake&diff=61480File:UseLATEX.cmake2017-02-13T19:35:44Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.cmake&quot;</p>
<hr />
<div>A collection of CMake macros that help build LaTeX documents.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.cmake&diff=61063File:UseLATEX.cmake2016-12-15T04:50:14Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.cmake&quot;</p>
<hr />
<div>A collection of CMake macros that help build LaTeX documents.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.pdf&diff=61062File:UseLATEX.pdf2016-12-15T04:48:55Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.pdf&quot;</p>
<hr />
<div>Documentation for UseLATEX macros.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.cmake&diff=61061File:UseLATEX.cmake2016-12-15T04:47:56Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.cmake&quot;</p>
<hr />
<div>A collection of CMake macros that help build LaTeX documents.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.pdf&diff=61026File:UseLATEX.pdf2016-11-22T21:35:50Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.pdf&quot;</p>
<hr />
<div>Documentation for UseLATEX macros.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.cmake&diff=61025File:UseLATEX.cmake2016-11-22T21:30:47Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.cmake&quot;</p>
<hr />
<div>A collection of CMake macros that help build LaTeX documents.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=ParaView_Self-directed_Tutorial&diff=60991ParaView Self-directed Tutorial2016-11-08T01:43:11Z<p>Kmorel: </p>
<hr />
<div>The ParaView Tutorial is an introductory and comprehensive tutorial. It teaches using ParaView through examples that start at basic usage and continue through more advanced topics such as temporal analysis, animation, parallel processing, and scripting.<br />
<br />
This tutorial is sometimes referred to as the supercomputing tutorial because it originated as the handout documents for a series of tutorials at supercomputing. However, because the tutorial was designed for the beginning user, the material was general enough to be useful to a broad audience and became a popular document for learning ParaView. As time passes we are starting to add more advanced topics from tutorials in more specific domains. This tutorial has become something of a repository for teaching materials, hence simply ''the'' tutorial.<br />
<br />
To get started, you will need the document itself.<br />
<br />
* [[Media:ParaViewTutorial52.pdf|'''The ParaView Tutorial''' (for version 5.2)]]<br />
<br />
Of course, you will also need ParaView itself. You can get the most recent version of ParaView from http://www.paraview.org.<br />
<br />
If you want to reference this version of The ParaView Tutorial as a publication, please use the following:<br />
<br />
Kenneth Moreland. ''The ParaView Tutorial'', Version 5.2. Technical Report SAND 2016-11449 TR, Sandia National Laboratories, 2016.<br />
<br />
== Translations ==<br />
<br />
Some individuals have been good enough to translate the tutorial in other languages. When they become available, we will post them here. Please keep in mind that these are done after the English version is created and on a volunteer basis. If you are not finding a recent translation in your native language, then thanks in advance for volunteering to create a new translation.<br />
<br />
* [[Media:ParaViewTutorial42-jp.pdf|'''Japanese Translation''' of the ParaView Tutorial for version 4.2]]. Thanks to Takuya OSHIMA, Kei OGINO, Hidekazu TANAKA, Masashi IMANO, and Haruka Tsubota.<br />
<br />
== Previous Versions ==<br />
<br />
* [[Media:ParaViewTutorial51.pdf|The ParaView Tutorial for version 5.1]]<br />
* [[Media:ParaViewTutorial44.pdf|The ParaView Tutorial for version 4.4]]<br />
* [[Media:ParaViewTutorial42.pdf|The ParaView Tutorial for version 4.2]]<br />
* [[Media:ParaViewTutorial41.pdf|The ParaView Tutorial for version 4.1]]<br />
* [[Media:ParaViewTutorial40.pdf|The ParaView Tutorial for version 4.0]]<br />
* [[Media:ParaViewTutorial398.pdf|The ParaView Tutorial for version 3.98]]<br />
* [[Media:ParaViewTutorial312.pdf|The ParaView Tutorial for version 3.12]]<br />
* [[Media:ParaViewTutorial310.pdf|The ParaView Tutorial for version 3.10]]<br />
* [[Media:ParaViewTutorial38.pdf|The ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial36.pdf|The ParaView Tutorial for version 3.6]]<br />
* [[SC08 ParaView Tutorial]]<br />
* [[SC07 ParaView Tutorial]]<br />
* [[Media:ParaViewTutorial38-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.6]]<br />
<br />
<br />
Recent binary distributions of ParaView (starting with version 5.2) come with the data needed for the tutorial exercises. For earlier versions you will need to download the example data. (The two archives below contain the same data. Just download the one with your preferred archive format.)<br />
<br />
* [[Media:ParaViewTutorialData.tar.gz|'''The ParaView Tutorial Data''' (in tar/gzip)]]<br />
* [[Media:ParaViewTutorialData.zip|'''The ParaView Tutorial Data''' (in zip)]]<br />
<br />
<br />
== Presentation Slides ==<br />
<br />
Several people have requested the slides for the tutorial for their own presentations. Here is a link to PowerPoint slides that have been presented recently.<br />
<br />
* [[Media:ParaView_Tutorial_Slides.pptx|ParaView Tutorial Slides]]<br />
<br />
Be aware that these slides are ''not'' intended for learning ParaView on your own. They make no sense without an instructor already familiar with ParaView. Instead, use the ParaView tutorial notes document posted at the top of this page. It contains all of the material in the slides plus more plus full descriptions on how everything works.<br />
<br />
Additional material for the IEEE SC14 presentation is here:<br />
* [[Media:SC14Supplemental.tgz|Additional Material]]<br />
<br />
== LaTeX Source ==<br />
<br />
In the past, individuals have requested the source materials for the tutorial. In response, the LaTeX source and images are posted at https://gitlab.kitware.com/paraview/paraview-tutorial (location subject to change). Or you can download the LaTeX repository from this link:<br />
<br />
* [[Media:ParaViewTutorialSrc.tar.gz]]<br />
<br />
Contributions to the text are always welcome. Please send patches or git pull requests either directly to me (kmorel@sandia.gov) or to the ParaView mailing list (paraview@paraview.org).<br />
<br />
== License ==<br />
<br />
https://i.creativecommons.org/l/by/4.0/88x31.png<br /><br />
This work is licensed under a [http://creativecommons.org/licenses/by/4.0/ Creative Commons Attribution 4.0 International License].</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=60990File:ParaView Tutorial Slides.pptx2016-11-08T01:27:25Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaView Tutorial Slides.pptx&quot;</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1 and Supercomputing 2016 for ParaView 5.2.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaViewTutorial52.pdf&diff=60989File:ParaViewTutorial52.pdf2016-11-08T01:23:15Z<p>Kmorel: </p>
<hr />
<div></div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=60985File:ParaView Tutorial Slides.pptx2016-11-03T14:43:06Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaView Tutorial Slides.pptx&quot;</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1 and Supercomputing 2016 for ParaView 5.2.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=60984File:ParaView Tutorial Slides.pptx2016-11-03T13:11:25Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaView Tutorial Slides.pptx&quot;</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1 and Supercomputing 2016 for ParaView 5.2.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=60980File:ParaView Tutorial Slides.pptx2016-11-02T20:43:52Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaView Tutorial Slides.pptx&quot;</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=ParaView_Self-directed_Tutorial&diff=60928ParaView Self-directed Tutorial2016-10-10T21:01:19Z<p>Kmorel: </p>
<hr />
<div>The ParaView Tutorial is an introductory and comprehensive tutorial. It teaches using ParaView through examples that start at basic usage and continue through more advanced topics such as temporal analysis, animation, parallel processing, and scripting.<br />
<br />
This tutorial is sometimes referred to as the supercomputing tutorial because it originated as the handout documents for a series of tutorials at supercomputing. However, because the tutorial was designed for the beginning user, the material was general enough to be useful to a broad audience and became a popular document for learning ParaView. As time passes we are starting to add more advanced topics from tutorials in more specific domains. This tutorial has become something of a repository for teaching materials, hence simply ''the'' tutorial.<br />
<br />
To get started, you will need the document itself.<br />
<br />
* [[Media:ParaViewTutorial44.pdf|'''The ParaView Tutorial''' (for version 4.4)]]<br />
* [[Media:ParaViewTutorial51.pdf|The ParaView Tutorial Draft (for version 5.1)]]<br />
<br />
You will also need the data referenced in the document. (The two archives below contain the same data. Just download the one with your preferred archive format.)<br />
<br />
* [[Media:ParaViewTutorialData.tar.gz|'''The ParaView Tutorial Data''' (in tar/gzip)]]<br />
* [[Media:ParaViewTutorialData.zip|'''The ParaView Tutorial Data''' (in zip)]]<br />
<br />
Additional material for the IEEE SC14 presentation is here:<br />
* [[Media:SC14Supplemental.tgz|Additional Material]]<br />
<br />
Of course, you will also need ParaView itself. You can get the most recent version of ParaView from http://www.paraview.org.<br />
<br />
If you want to reference this version of The ParaView Tutorial as a publication, please use the following:<br />
<br />
Kenneth Moreland. ''The ParaView Tutorial'', Version 4.4. Technical Report SAND 2015-7813 TR, Sandia National Laboratories, 2015.<br />
<br />
== Translations ==<br />
<br />
Some individuals have been good enough to translate the tutorial in other languages. When they become available, we will post them here. Please keep in mind that these are done after the English version is created and on a volunteer basis. If you are not finding a recent translation in your native language, then thanks in advance for volunteering to create a new translation.<br />
<br />
* [[Media:ParaViewTutorial42-jp.pdf|'''Japanese Translation''' of the ParaView Tutorial for version 4.2]]. Thanks to Takuya OSHIMA, Kei OGINO, Hidekazu TANAKA, Masashi IMANO, and Haruka Tsubota.<br />
<br />
== Previous Versions ==<br />
<br />
* [[Media:ParaViewTutorial42.pdf|The ParaView Tutorial for version 4.2]]<br />
* [[Media:ParaViewTutorial41.pdf|The ParaView Tutorial for version 4.1]]<br />
* [[Media:ParaViewTutorial40.pdf|The ParaView Tutorial for version 4.0]]<br />
* [[Media:ParaViewTutorial398.pdf|The ParaView Tutorial for version 3.98]]<br />
* [[Media:ParaViewTutorial312.pdf|The ParaView Tutorial for version 3.12]]<br />
* [[Media:ParaViewTutorial310.pdf|The ParaView Tutorial for version 3.10]]<br />
* [[Media:ParaViewTutorial38.pdf|The ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial36.pdf|The ParaView Tutorial for version 3.6]]<br />
* [[SC08 ParaView Tutorial]]<br />
* [[SC07 ParaView Tutorial]]<br />
* [[Media:ParaViewTutorial38-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.6]]<br />
<br />
== Presentation Slides ==<br />
<br />
Several people have requested the slides for the tutorial for their own presentations. Here is a link to PowerPoint slides that have been presented recently.<br />
<br />
* [[Media:ParaView_Tutorial_Slides.pptx|ParaView Tutorial Slides]]<br />
<br />
Be aware that these slides are ''not'' intended for learning ParaView on your own. They make no sense without an instructor already familiar with ParaView. Instead, use the ParaView tutorial notes document posted at the top of this page. It contains all of the material in the slides plus more plus full descriptions on how everything works.<br />
<br />
== LaTeX Source ==<br />
<br />
In the past, individuals have requested the source materials for the tutorial. In response, the LaTeX source and images are posted at https://gitlab.kitware.com/paraview/paraview-tutorial (location subject to change). Or you can download the LaTeX repository from this link:<br />
<br />
* [[Media:ParaViewTutorialSrc.tar.gz]]<br />
<br />
Contributions to the text are always welcome. Please send patches or git pull requests either directly to me (kmorel@sandia.gov) or to the ParaView mailing list (paraview@paraview.org).<br />
<br />
== License ==<br />
<br />
https://i.creativecommons.org/l/by/4.0/88x31.png<br /><br />
This work is licensed under a [http://creativecommons.org/licenses/by/4.0/ Creative Commons Attribution 4.0 International License].</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.pdf&diff=60845File:UseLATEX.pdf2016-09-08T17:23:30Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.pdf&quot;</p>
<hr />
<div>Documentation for UseLATEX macros.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.cmake&diff=60844File:UseLATEX.cmake2016-09-08T17:22:55Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.cmake&quot;</p>
<hr />
<div>A collection of CMake macros that help build LaTeX documents.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.pdf&diff=60843File:UseLATEX.pdf2016-09-07T21:45:17Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.pdf&quot;</p>
<hr />
<div>Documentation for UseLATEX macros.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.pdf&diff=60842File:UseLATEX.pdf2016-09-07T21:43:55Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.pdf&quot;</p>
<hr />
<div>Documentation for UseLATEX macros.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:UseLATEX.cmake&diff=60841File:UseLATEX.cmake2016-09-07T21:42:16Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:UseLATEX.cmake&quot;</p>
<hr />
<div>A collection of CMake macros that help build LaTeX documents.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaView_Tutorial_Slides.pptx&diff=60824File:ParaView Tutorial Slides.pptx2016-07-29T00:55:18Z<p>Kmorel: Kmorel uploaded a new version of &quot;File:ParaView Tutorial Slides.pptx&quot;</p>
<hr />
<div>Example slides for a ParaView tutorial.<br />
<br />
These slides were presented at Supercomputing 2013 for ParaView 4.1.</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=ParaView_Self-directed_Tutorial&diff=60823ParaView Self-directed Tutorial2016-07-29T00:31:10Z<p>Kmorel: </p>
<hr />
<div>The ParaView Tutorial is an introductory and comprehensive tutorial. It teaches using ParaView through examples that start at basic usage and continue through more advanced topics such as temporal analysis, animation, parallel processing, and scripting.<br />
<br />
This tutorial is sometimes referred to as the supercomputing tutorial because it originated as the handout documents for a series of tutorials at supercomputing. However, because the tutorial was designed for the beginning user, the material was general enough to be useful to a broad audience and became a popular document for learning ParaView. As time passes we are starting to add more advanced topics from tutorials in more specific domains. This tutorial has become something of a repository for teaching materials, hence simply ''the'' tutorial.<br />
<br />
To get started, you will need the document itself.<br />
<br />
* [[Media:ParaViewTutorial44.pdf|'''The ParaView Tutorial''' (for version 4.4)]]<br />
* [[Media:ParaViewTutorial51.pdf|The ParaView Tutorial Draft (for version 5.1)]]<br />
<br />
You will also need the data referenced in the document. (The two archives below contain the same data. Just download the one with your preferred archive format.)<br />
<br />
* [[Media:ParaViewTutorialData.tar.gz|'''The ParaView Tutorial Data''' (in tar/gzip)]]<br />
* [[Media:ParaViewTutorialData.zip|'''The ParaView Tutorial Data''' (in zip)]]<br />
<br />
Additional material for the IEEE SC14 presentation is here:<br />
* [[Media:SC14Supplemental.tgz|Additional Material]]<br />
<br />
Of course, you will also need ParaView itself. You can get the most recent version of ParaView from http://www.paraview.org.<br />
<br />
If you want to reference this version of The ParaView Tutorial as a publication, please use the following:<br />
<br />
Kenneth Moreland. ''The ParaView Tutorial'', Version 4.4. Technical Report SAND 2015-7813 TR, Sandia National Laboratories, 2015.<br />
<br />
== Translations ==<br />
<br />
Some individuals have been good enough to translate the tutorial in other languages. When they become available, we will post them here. Please keep in mind that these are done after the English version is created and on a volunteer basis. If you are not finding a recent translation in your native language, then thanks in advance for volunteering to create a new translation.<br />
<br />
* [[Media:ParaViewTutorial42-jp.pdf|'''Japanese Translation''' of the ParaView Tutorial for version 4.2]]. Thanks to Takuya OSHIMA, Kei OGINO, Hidekazu TANAKA, Masashi IMANO, and Haruka Tsubota.<br />
<br />
== Previous Versions ==<br />
<br />
* [[Media:ParaViewTutorial42.pdf|The ParaView Tutorial for version 4.2]]<br />
* [[Media:ParaViewTutorial41.pdf|The ParaView Tutorial for version 4.1]]<br />
* [[Media:ParaViewTutorial40.pdf|The ParaView Tutorial for version 4.0]]<br />
* [[Media:ParaViewTutorial398.pdf|The ParaView Tutorial for version 3.98]]<br />
* [[Media:ParaViewTutorial312.pdf|The ParaView Tutorial for version 3.12]]<br />
* [[Media:ParaViewTutorial310.pdf|The ParaView Tutorial for version 3.10]]<br />
* [[Media:ParaViewTutorial38.pdf|The ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial36.pdf|The ParaView Tutorial for version 3.6]]<br />
* [[SC08 ParaView Tutorial]]<br />
* [[SC07 ParaView Tutorial]]<br />
* [[Media:ParaViewTutorial38-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.8]]<br />
* [[Media:ParaViewTutorial-jp.pdf|Japanese Translation of the ParaView Tutorial for version 3.6]]<br />
<br />
== Presentation Slides ==<br />
<br />
Several people have requested the slides for the tutorial for their own presentations. Here is a link to PowerPoint slides that have been presented recently.<br />
<br />
* [[Media:ParaView_Tutorial_Slides.pptx|ParaView Tutorial Slides]]<br />
<br />
Be aware that these slides are ''not'' intended for learning ParaView on your own. They make no sense without an instructor already familiar with ParaView. Instead, use the ParaView tutorial notes document posted at the top of this page. It contains all of the material in the slides plus more plus full descriptions on how everything works.<br />
<br />
== LaTeX Source ==<br />
<br />
In the past, individuals have requested the source materials for the tutorial. In response, the LaTeX source and images are posted at https://gitlab.kitware.com/paraview/paraview-tutorial (location subject to change). Or you can download the LaTeX repository from this link:<br />
<br />
* [[Media:ParaViewTutorialSrc.tar.gz]]<br />
<br />
Contributions to the text are always welcome. Please send patches or git pull requests either directly to me (kmorel@sandia.gov) or to the ParaView mailing list (paraview@paraview.org).</div>Kmorelhttps://public.kitware.com/Wiki/index.php?title=File:ParaViewTutorial51.pdf&diff=60822File:ParaViewTutorial51.pdf2016-07-29T00:30:53Z<p>Kmorel: This is a draft.</p>
<hr />
<div>This is a draft.</div>Kmorel