[Paraview] ParaView 3 and PARAVIEW_EXTRA_EXTERNAL_MODULE

Kent Eschenberg eschenbe at psc.edu
Mon Dec 10 20:40:05 EST 2007


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