[Paraview] Is there any point to compiling with MPI but without offscreen rendering?
Burlen Loring
bloring at lbl.gov
Mon Oct 8 14:23:44 EDT 2012
Hi Rich,
if you are installing on cluster, I would say that it's easier to use an
MPI build. Of course when you build with MPI support you need to launch
pvserver with mpirun (or the system equivalent). When you need a serial
run just specify -n 1. You may be aware that, providing a server config
will let your users select the number of mpi ranks and the "layout" of
mpi ranks across cluster nodes from ParaView's GUI. ParaView should run
on any number of mpi ranks. When you say you're running in serial, are
you using the mpirun command? what errors/complaints are you experiencing?
My recollection, is that the --use-offscreen-rendering is used to select
between osmesa open gl and the system open gl when both are used in the
same build. I haven't built ParaView this way in many years, hence my
recollection is fuzzy. On the other hand, if you have two builds, one
built with osmesa and the other using a system provided hardware
accelerated open gl, this command line flag is not necessary.
Burlen
On 10/08/2012 10:21 AM, Cook, Rich wrote:
> Are you assuming we are always running in parallel on the cluster? I find that Paraview for some reason complains when run in serial if you compile it with MPI. So currently I'm doing four builds, opengl, osmesa, opengl-mpi, osmesa-mpi. It's a PITA but now it's all automated. Still I think it's confusing for our users.
>
> I'm also personally unsure about where there is a switch for "--use-offscreen-rendering." If I compile with OSMesa, I'm always going to want that, right? And if OpenGL, I'm always going to disable that, right? Why is there a command line switch for that?
>
> It does sound like yes, pvservers will render to graphics cards in parallel so that's good to know.
>
> Thanks!
> -- Rich
>
> On Oct 6, 2012, at 7:16 PM, Burlen Loring wrote:
>
>> Hi Rich,
>>
>> You're always going to want to build with MPI when running on a cluster. Leveraging your cluster's graphics cards comes down to building with or without os mesa. you probably want to provide both builds, and select the build to run depending on whether the user has requested nodes that contain graphics cards or not. Hardware accelerated rendering can be faster than software based rendering depending on the amount of contention there is for the graphics card. eg 16 mpi ranks hitting the same card will likely be slower than 16 cpu cores running os mesa. When submitting a job you could always control this by limiting the number of mpi ranks per graphics card. Also, some rendering algorithms, such as surface LIC, are disabled when using os mesa. it's nice to have the hardware accelerated build in order to access the other algorithms when you need them.
>>
>> Burlen
>>
>> On 10/1/2012 5:05 PM, Cook, Rich wrote:
>>> We have large clusters and some of them have graphics cards on them. Most don't. So normally I expect to be using -DVTK_USE_OFFSCREEN:BOOL=ON -DPARAVIEW_USE_MPI:BOOL=ON with cmake.
>>> I got to thinking. First, if I compile with -DVTK_USE_OFFSCREEN:BOOL=ON then why do I have to use --use-offscreen-rendering to launch the pvservers. Secondly, can pvservers render to graphics cards for distributed rendering under MPI? If so, does it make sense to do -DVTK_USE_OFFSCREEN:BOOL=OFF -DPARAVIEW_USE_MPI:BOOL=ON ??
>>>
More information about the ParaView
mailing list