[Paraview] Config OSMesa Software Rendering

Huebl, Axel a.huebl at hzdr.de
Mon Jul 7 07:51:00 EDT 2014


Ok the

  NumberOfDatasets = 0, cannot determine volume bounds

can be circumvented by a "CleanToGrid" filter or any other filter that
projects the Image data to an UnstructuredGrid.

Paraview can still not render non-cubic cells / ImageData /
XDMF-3DCoRectMesh naively?


Best regards,
Axel Huebl

On 06.07.2014 11:59, Huebl, Axel wrote:
> 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/20140707/62add743/attachment-0001.bin>


More information about the ParaView mailing list