[Paraview] ParaView 3 and PARAVIEW_EXTRA_EXTERNAL_MODULE

Sean Ziegeler seanzig at users.sourceforge.net
Tue Dec 11 10:06:39 EST 2007


Actually, I've had that same problem, that is, users that don't remember 
how to load plugins.  That was why I had posted that patch to 
automatically load plugins from the installed plugins directory.  I'm 
hoping some form of it it ends up in 3.2.2.

Kent Eschenberg wrote:
> That is a great summary. One additional consideration is whether you are 
> preparing things for others to use. They may not always setup things so 
> plugins load as needed; then, Option 2 has some advantages. I find that 
> merely running "make" after a change is easy and quick enough that 
> Option 2 is also easiest.
> 
> Kent
> 
> Sean Ziegeler wrote:
>> I've given this issue some serious consideration myself.  Actually, I
>> took it a step further and classified my options as follows: (1) static
>> linking, (2) dynamic linking (shared objects), (3) run-time-loaded
>> plugins.  They each have advantages and disadvantages.  Using
>> PARAVIEW_EXTRA_EXTERNAL_MODULE falls under (1) or (2) (depending upon
>> whether you specify shared objects in CMake).  Here's what I've learned:
>>
>> I originally started out statically linking everything.  It's simple to
>> run.  No LD_LIBRARY_PATH's or plugin paths, etc.  But if you run it in
>> parallel on a single (multi-cpu/multi-core) node it takes up more
>> memory.  Keep in mind that each executable will load ALL of PV and VTK,
>> which can get big.  Also, if you change one of your custom plugins, you
>> have to recompile (though it doesn't take nearly as long as the first
>> time) and reinstall everything.
>>
>> Option 2 (shared objects) takes care of the memory problem (the .so's
>> get loaded once per node and all execs share them), but you still have
>> to recompile.  You may get away with just swapping out the
>> .so(.dll/.dylib) files sometimes, but if you change the interface
>> there's stuff that gets generated by XML files that also usually needs
>> to be swapped out.  It's safest to just reinstall everything.
>>
>> Recently, I've been using option 3, the run-time plugins.  If you're are
>> constantly adding to your plugins, it's very easy to just swap out the
>> .so files.  Also, you build each plugin separately (not as part of
>> ParaView's build process), so it's quick and clean.
>>
>> Shared disks shouldn't be required on a cluster.  Since you must have
>> the executable installed on each node anyway, you should just be able to
>> put copies of the plugins in the same directory structure as the
>> executables.  You'll have to be careful to make sure the .so files on
>> each node all match each other.
>>
>> -Sean
> 



More information about the ParaView mailing list