[Paraview] Issues with PVSB 5.2 and OSMesa support

Michel Rasquin michel.rasquin at colorado.edu
Tue Feb 7 14:05:46 EST 2017


Hi Chuck,


Thank you for your help.

Indeed, I built PVSB 5.2 with the intel 2016.2.181 and intelmpi 5.1.3.181 compilers, then ran the resulting pvserver on Haswell CPU nodes (Intel E5-2680v3) which supports AVX2 instructions.  So this fits exactly the known issue you mentioned in your email.


Exporting the GALIIUM_DRIVER env variable to swr then leads to an interesting behavior. With the swr driver, the good news is that I can connect my pvserver built in release mode without crashing. For the recollection, the llvmpipe driver compiled in release mode crashes during the client/server connection, whereas the llvmpipe driver compiled in debug mode works fine.


However, our PBS scheduling killed quickly my interactive job because the virtual memory was exhausted, which was puzzling. Increasing the number of cores requested for my job and keeping some of them idle allowed me to increase the available memory at the cost of wasted cpu resources.


I could then compare the virtual and resident memory of the three following configurations:

1) pvserver using the llvmpipe driver compiled in debug

2) pvserver using swr driver compiled in debug mode

3) pvserver using swr driver compiled in release mode

The memory consumption (in MB) of the pvserver before and after the connection to the client is the following:

1) llvmpipe  dbg

before connection : Virtual 814  -  Resident 71

after connection: Virtual 875 - Resident 128


2) swr dbg

before connection: Virtual 814  - Resident 93
after connection: Virtual 2407 (!!) - Resident 171


3) swr rls

before connection: Virtual 643  - Resident 76
after connection: Virtual 2235 (!!) - Resident 127


As you can see, there is a big jump in terms of virtual memory consumption when the pvserver with the swr driver connects to the client, which is not the case for the pvserver with the llvmpipe driver. Since the maximum virtual memory available per core is around 2670MB minus whatever is needed by the system, it quickly exhausts the available virtual memory as soon as data are loaded (virtual memory keeps increasing). Note also the big gap between the virtual and the resident memory consumption for the swr driver.


Have you already observed this behavior and is it possible to reduce the virtual memory consumption of the swr driver?

Would you also know if this known issue with the llvmpipe driver will be fixed of PV 5.3 (agreeing on the fact that the swr driver should be faster on intel CPU provided that it does not exhaust the memory consumption).


Thank you.


Best regards,


Michel


________________________________
From: Chuck Atkins <chuck.atkins at kitware.com>
Sent: Monday, February 6, 2017 5:06:35 PM
To: Michel Rasquin
Cc: paraview at paraview.org
Subject: Re: [Paraview] Issues with PVSB 5.2 and OSMesa support

Hi Michel,

However, it starts to become tricky when I use pvserver with OSMesa support.
It appears the resulting pvserver with OSMesa support compiled in Release mode always crashes when I try to load data,

Which compiler are you building with and type of CPUs are available on the node you're running on?  There is a known issue with llvmpipe and the Intel compiler causing segfaults.  If youre CPU is new enough (supports AVX) then you can use the swr driver.  See http://www.paraview.org/Wiki/ParaView_And_Mesa_3D#Using_the_llvmpipe_and_swr_drivers for details on switching between llvmpipe and swr drivers and adjusting the number of threads used by each one.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20170207/4a84fe7c/attachment.html>


More information about the ParaView mailing list