[Paraview] Config OSMesa Software Rendering
Huebl, Axel
a.huebl at hzdr.de
Sun Jul 6 05:59:39 EDT 2014
Interesting but somehow it helps to write all the problems and steps up
again.
I fixed the issue(s) now as follows:
- tried a pvbatch example (parallelSphere.py) and fixed the python
install first, by setting:
-DPYTHON_INCLUDE_DIR=$PYTHON_ROOT/include/python2.7
-DPYTHON_LIBRARY=$PYTHON_ROOT/lib/libpython2.7.so
for CMake's FindPythonLib module (our system has several parallel
installed python versions, some in system paths -.- ).
- one has to set a bunch of entries in LD_LIBRARY_PATH and PYTHONPATH,
that were:
export LD_LIBRARY_PATH=
$LD_LIBRARY_PATH:$PVHOME/lib/paraview-4.1
export LD_LIBRARY_PATH=
$LD_LIBRARY_PATH:$PVHOME/lib/paraview-4.1/site-packages/paraview/
export LD_LIBRARY_PATH=
$LD_LIBRARY_PATH:$PVHOME/lib/paraview-4.1/site-packages/paraview/vtk/
export LD_LIBRARY_PATH=
$LD_LIBRARY_PATH:$PVHOME/lib/paraview-4.1/site-packages/vtk
export PYTHONPATH=
$PVHOME/lib/paraview-4.1/site-packages:$PYTHONPATH
export PYTHONPATH=
$PVHOME/lib/paraview-4.1/site-packages/paraview:$PYTHONPATH
export PYTHONPATH=
$PVHOME/lib/paraview-4.1/site-packages/paraview/vtk:$PYTHONPATH
export PYTHONPATH=
$PVHOME/lib/paraview-4.1/site-packages/vtk:$PYTHONPATH
- realized libgl and x11 libs were still linked, e.g. in:
ldd $BUILD/lib/paraview-4.1/libvtkRenderingOpenGL-pv4.1.so \
| grep -i "gl"
changing the CMake flags to
-DOPENGL_gl_LIBRARY:PATH=
helped
(with my old setting it auto-set the systems libgl.so during config).
My full CMake flags are now (with the same dependencies as below):
cmake \
-DCMAKE_INSTALL_PREFIX=$HOME/bin/paraview-4.1.0-1008-g5493984 \
-DPARAVIEW_BUILD_QT_GUI=OFF -DBUILD_TESTING=OFF \
-DCMAKE_BUILD_TYPE=Debug -DPARAVIEW_ENABLE_CATALYST=OFF \
-DPARAVIEW_ENABLE_PYTHON=ON \
-DPYTHON_INCLUDE_DIR=$PYTHON_ROOT/include /python2.7 \
-DPYTHON_LIBRARY=$PYTHON_ROOT/lib/libpython2.7.so \
-DPARAVIEW_USE_MPI=ON -DPARAVIEW_USE_SYSTEM_MPI4PY=ON \
-DVTK_USE_X=OFF -DOPENGL_INCLUDE_DIR=$MESA_ROOT/include \
-DOSMESA_INCLUDE_DIR=$MESA_ROOT/include \
-DVTK_OPENGL_HAS_OSMESA=ON -DOPENGL_gl_LIBRARY:PATH= \
-DOPENGL_glu_LIBRARY=$MESA_ROOT/lib/libGLU.so \
-DOSMESA_LIBRARY=$MESA_ROOT/lib/libOSMesa.so \
-DVTK_USE_OFFSCREEN=ON -DPARAVIEW_BUILD_PLUGIN_AdiosReader=ON \
-DVTK_Group_MPI=ON -DVTK_Group_Imaging=ON -DVTK_Group_Rendering=ON \
-DVTK_XDMF_USE_MPI=ON -DXDMF_BUILD_MPI=ON \
-GNinja ~/src/ParaView
Finally it's one issue left that prevents me from rendering my data in
Paraview itself.
Paraview -> Source "Sphere" -> Filter -> "Clean to Grid" and Volume
Rendering gives me a
"ERROR: src/ParaView/VTK/Filters/Parallel/vtkPKdTree.cxx, line 295
vtkPKdTree (0x6022160) (process 0) NumberOfDatasets = 0, cannot
determine volume bounds."
(same for my xdmf/hdf5 data sets).
Best regards,
Axel Huebl
On 05.07.2014 13:47, Huebl, Axel wrote:
> Hi ParaView list,
>
>
> I am trying to set up a offscreen rendering setup with the current
> ParaView master (g5493984) and OSMesa.
>
> The target platform is a CPU-only cluster with several nodes, each
> containing four sockels with AMD Bulldozer CPUs (64 physical cores per
> node).
>
> I get everything up and running in parallel, connections via rc work
> perfectly and I can load my data.
>
> But the problems start with rendering the data. Do you have any
> recommendations which versions of OSMesa and llvmpipe are tested and stable?
>
> The recommendations in the wiki
>
>
> http://www.paraview.org/Wiki/ParaView/ParaView_And_Mesa_3D#OSMesa.2C_Mesa_without_graphics_hardware
>
> http://www.paraview.org/Wiki/ParaView/Users_Guide/Parallel_Rendering
>
> Look a bit outdated to me.
>
>
> E.g.
> - Mesa 9.2.5 (and newer versions) already split libgl and libglu
> which versions are recommended?
> - does OSMesa Gallium llvmpipe run with llvm X.Y (e.g. 3.3) ?
> - what do I have to set for the DISPLAY environment with OSMesa ?
> - is it necessary/forbidden to have a X11 server running in that setup
> (on the server nodes)?
> - I am confused if the mentioned "SOFTWARE_DEPTH_BITS=31" bug is
> already fixed in mesa
> - are some of my dependencies (OpenMPI, gcc, python) too new/old ?
>
> I configured the server side with a whole bunch of flags now:
>
> cmake -DCMAKE_INSTALL_PREFIX=$HOME/bin/paraview-4.1.0-1008-g5493984 \
> -DPARAVIEW_BUILD_QT_GUI=OFF -DBUILD_TESTING=OFF \
> -DCMAKE_BUILD_TYPE=Debug -DPARAVIEW_ENABLE_CATALYST=OFF \
> -DPARAVIEW_ENABLE_PYTHON=ON -DPARAVIEW_USE_MPI=ON \
> -DPARAVIEW_USE_SYSTEM_MPI4PY=ON -DVTK_USE_X=OFF \
> -DOPENGL_INCLUDE_DIR=$MESA_ROOT/include \
> -DOSMESA_INCLUDE_DIR=$MESA_ROOT/include -DVTK_OPENGL_HAS_OSMESA=ON \
> -DOPENGL_gl_LIBRARY=IS-NOTFOUND \
> -DOPENGL_glu_LIBRARY=$MESA_ROOT/lib/libGLU.so \
> -DOSMESA_LIBRARY=$MESA_ROOT/lib/libOSMesa.so -DVTK_USE_OFFSCREEN=ON \
> -DPARAVIEW_BUILD_PLUGIN_AdiosReader=ON \
> -DVTK_Group_MPI=ON -DVTK_Group_Imaging=ON -DVTK_Group_Rendering=ON \
> -DVTK_XDMF_USE_MPI=ON -DXDMF_BUILD_MPI=ON \
> -GNinja ~/src/ParaView
>
> and I am starting my servers with
>
> mpiexec -npernode 8 -n 32 `which pvserver` --use-offscreen-rendering \
> -sp=$NUM_PORT -rc -ch=$HEAD_NODE
>
> and used the following separately compiled dependencies:
> - python 2.7.5
> - icet 2.1.1 (probably compiled again by paraview)
> - gcc 4.8.2
> - OpenMPI 1.7.4 (with infiniband support)
> - cmake 2.8.10
>
> I tried a couple of flags for more than two weeks, three different
> OSMesa versions, environment tweaks, ... but never ended up with a
> stable setup (as soon as server side rendering kicks in).
>
> I can trigger that by loading a sphere, setting the remote/local
> rendering threshold to 0MB.
>
> and usually end up with an error in OpenGLInit (see attached).
>
>
> Do you have any ideas?
>
>
> Best regards,
> Axel Huebl
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4921 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://public.kitware.com/pipermail/paraview/attachments/20140706/7647f149/attachment.bin>
More information about the ParaView
mailing list