[Paraview] Config OSMesa Software Rendering

Huebl, Axel a.huebl at hzdr.de
Sat Jul 5 07:47:01 EDT 2014


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


-- 

Axel Huebl
Diploma Student
Phone +49 351 260 3582
https://www.hzdr.de/crp
Computational Radiation Physics
Laser Particle Acceleration Division
Helmholtz-Zentrum Dresden - Rossendorf e.V.

Bautzner Landstrasse 400, 01328 Dresden
POB 510119, D-01314 Dresden
Vorstand: Prof. Dr.Dr.h.c. R. Sauerbrey
          Prof. Dr.Dr.h.c. P. Joehnk
VR 1693 beim Amtsgericht Dresden
-------------- next part --------------
pvserver:14882 terminated with signal 11 at PC=7ffa825f2b1f SP=7fff658441b8.  Backtrace:
/lib/x86_64-linux-gnu/libc.so.6(+0x92b1f)[0x7ffa825f2b1f]
/lib/x86_64-linux-gnu/libc.so.6(+0x7d700)[0x7ffa825dd700]
/lib/x86_64-linux-gnu/libc.so.6(vsscanf+0x60)[0x7ffa825d18c0]
/lib/x86_64-linux-gnu/libc.so.6(_IO_sscanf+0x87)[0x7ffa825bd3f7]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkRenderingOpenGL-pv4.1.so.1(_ZN25vtkOpenGLExtensionManager20ReadOpenGLExtensionsEv+0x200)[0x7ffa77166ec0]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkRenderingOpenGL-pv4.1.so.1(_ZN25vtkOpenGLExtensionManager6UpdateEv+0x4b)[0x7ffa7716611b]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkRenderingOpenGL-pv4.1.so.1(_ZN25vtkOpenGLExtensionManager18ExtensionSupportedEPKc+0x17)[0x7ffa77160f47]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkRenderingOpenGL-pv4.1.so.1(_ZN21vtkOpenGLRenderWindow17OpenGLInitContextEv+0x4a)[0x7ffa771aacaa]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkRenderingOpenGL-pv4.1.so.1(_ZN21vtkOpenGLRenderWindow10OpenGLInitEv+0xd)[0x7ffa771a96bd]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkRenderingOpenGL-pv4.1.so.1(_ZN23vtkOSOpenGLRenderWindow5StartEv+0xd)[0x7ffa7726835d]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkRenderingCore-pv4.1.so.1(_ZN15vtkRenderWindow14DoStereoRenderEv+0x10)[0x7ffa890bd690]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkRenderingCore-pv4.1.so.1(_ZN15vtkRenderWindow10DoFDRenderEv+0x6c7)[0x7ffa890bea77]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkRenderingCore-pv4.1.so.1(_ZN15vtkRenderWindow10DoAARenderEv+0x80d)[0x7ffa890be35d]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkRenderingCore-pv4.1.so.1(_ZN15vtkRenderWindow6RenderEv+0xdf)[0x7ffa890bf90f]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkPVClientServerCoreRendering-pv4.1.so.1(_ZN15vtkPVRenderView6RenderEbb+0x5e6)[0x7ffa7da7c136]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkPVClientServerCoreRendering-pv4.1.so.1(_ZN15vtkPVRenderView11StillRenderEv+0x3c)[0x7ffa7da791fc]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkPVServerManagerApplication-pv4.1.so.1(_Z22vtkPVRenderViewCommandP26vtkClientServerInterpreterP13vtkObjectBasePKcRK21vtkClientServerStreamRS5_Pv+0x13e7)[0x7ffa8abbc457]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkClientServer-pv4.1.so.1(_ZN26vtkClientServerInterpreter19CallCommandFunctionEPKcP13vtkObjectBaseS1_RK21vtkClientServerStreamRS4_+0x14b)[0x7ffa86cae97b]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkClientServer-pv4.1.so.1(_ZN26vtkClientServerInterpreter20ProcessCommandInvokeERK21vtkClientServerStreami+0x14a)[0x7ffa86caec7a]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkClientServer-pv4.1.so.1(_ZN26vtkClientServerInterpreter17ProcessOneMessageERK21vtkClientServerStreami+0x3e6)[0x7ffa86caf6d6]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkClientServer-pv4.1.so.1(_ZN26vtkClientServerInterpreter13ProcessStreamERK21vtkClientServerStream+0x1d)[0x7ffa86cafabd]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkPVServerImplementationCore-pv4.1.so.1(_ZN16vtkPVSessionCore21ExecuteStreamInternalERK21vtkClientServerStreamb+0xf9)[0x7ffa89bd1c39]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkPVServerImplementationCore-pv4.1.so.1(_ZN16vtkPVSessionCore30ExecuteStreamSatelliteCallbackEv+0xa5)[0x7ffa89bd2265]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkParallelCore-pv4.1.so.1(_ZN25vtkMultiProcessController10ProcessRMIEiPvii+0x150)[0x7ffa860884b0]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkParallelCore-pv4.1.so.1(_ZN25vtkMultiProcessController20BroadcastProcessRMIsEii+0x79)[0x7ffa860886b9]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/libvtkParallelCore-pv4.1.so.1(_ZN25vtkMultiProcessController11ProcessRMIsEii+0x2b5)[0x7ffa86088d85]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/pvserver(main+0x209)[0x4018e9]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7ffa8258176d]
/home/huebl/bin/paraview-4.1.0-1008-g5493984/lib/paraview-4.1/pvserver[0x401951]
-------------- 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/20140705/87a78200/attachment-0001.bin>


More information about the ParaView mailing list