[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