Setting up a ParaView Server: Difference between revisions

From ParaQ Wiki
Jump to navigationJump to search
(Replacing page with 'This page has been moved to the ParaView Wiki: http://www.paraview.org/Wiki/Setting_up_a_ParaView_Server')
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
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.
This page has been moved to the ParaView Wiki: http://www.paraview.org/Wiki/Setting_up_a_ParaView_Server
 
== Compiling ==
 
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 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.
 
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.
 
=== OSMesa support ===
 
== Running the Server ==
 
=== pvserver vs. pvrenderserver and pvdataserver ===
 
=== X Connections ===
 
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.
 
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.
 
Assuming that your cluster does have graphics hardware, you will need to establish the following three things.
 
# 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.
# 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.
# Make sure each process is run with the <tt>DISPLAY</tt> environment variable set to <tt>localhost:0</tt> (or just <tt>:0</tt>).
 
To enable the last condition, it is often helpful to use the <tt>env</tt> program in the <tt>mpirun</tt> call.  So you would have something like
 
miprun -np 4 /bin/env DISPLAY=localhost:0 ./pvserver
 
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 server.
 
mpirun -np 4 /bin/env DISPLAY=localhost:0 /usr/X11R6/bin/glxgears
 
== Pitfalls ==
 
=== ParaView crashes on large data ===

Latest revision as of 10:12, 29 August 2007

This page has been moved to the ParaView Wiki: http://www.paraview.org/Wiki/Setting_up_a_ParaView_Server