[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