Confirming that pvserver runs with OSMesa + OpenSWR driver
I've successfully built and installed the following OSMesa rendering stack (from source) for use on CPU only compute nodes of a small cluster
I've then built Paraview (from source). The pvserver runs on a compute node and we connect to it from a remote Paraview client via forward connection with SSH tunneling.
I am having trouble confirming which driver the pvserver uses for rendering. My understanding is that OSMesa gets compiled with various cpu-based driver options, i.e. soft pipe (classic OSMesa), llvmpipe, and swr.
I would like to ensure that swr (OpenSWR) is being used.
Note that one complicating factor is that the CPU-based compute nodes do not have any X installed and I've compiled only OSMesa (see below). Thus, I cannot compile the GLUT based utility glinfo or gears, which could possibly tell me how the rendering is done.
Finally, while it seems that one can invoke paraview with a switch
--mesa-swr-avx2, I am not sure that can be done with pvserver.
Also, even then, how would I confirm this is which driver is being used?
Thank you. Fabrizio
Each compute node features two (x2) Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz for a total of 28 cores. The compute nodes do not have a GPU.
Everything is compiled with gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) on a Linux 3.10.0-514.el7.x86_64 (Centos 7).
Here is the cpu-based rendering stack
- LLVM 5.0.0
cmake3 -G "Unix Makefiles"
- Mesa3D 17.3.0
Note that the compute nodes do not have any X servers (X11) nor any other OpenGL implementation (e.g. repo based from a yum install)
- GLU 9.0.0
- ParaView 5.4.0
I've configured the basic ParaView build as recommended. I am using OpenMPI 2.1.0 compiled with the system gcc.
The additional OSMesa options are as below:
OPENGL_INCLUDE_DIR=/path/to/mesa/install/above/include OPENGL_gl_LIBRARY:FILEPATH=/path/to/mesa/install/above/lib/libOSMesa.so OPENGL_glu_LIBRARY:FILEPATH=/path/to/glu/install/above/lib/libGLU.so
VTK_OPENGL_HAS_OSMESA:BOOL=ON OSMESA_INCLUDE_DIR:PATH=/path/to/mesa/install/above/include OSMESA_LIBRARY:FILEPATH=/path/to/mesa/install/above/lib/libOSMesa.so
Note that I've set everything to point to the OSMesa install directory.