Re: request for help: hypre 1.11.1
On Mon, 2016-10-31 at 17:26 +0800, Drew Parsons wrote:
> I looked into upgrading hypre from 2.8.0b to 2.11.1.
...
> and tried to refresh debian/patches (which get shlibs etc
> recognised).
>
> But in its current state the 2.11.1 build fails at parcsr_mv. It
> looks
> like par_csr_matop.o is trying to use hypre_ExchangeRAPData, which is
> defined in parcsr_ls not parcsr_mv.
I can build some debs by switching off the patches to split fgmres to a
separate sublibrary. Actually I think the build failure
(par_csr_matop.o trying to use hypre_ExchangeRAPData, which is
defined in parcsr_ls not parcsr_mv.) was due to some part of
patches/shlibs-interlink.patch. I can get a build by only keeping the
patch to src/lib/Makefile (with the fgmres patches deactivated)
I understand the motivation for the hypre patches was to reduce the
size of the shared libraries. A standard upstream build creates
libHYPRE-2.11.1.so with size 4.8M.
The Debian patches reduce libHYPRE-2.11.1.so down to 5.8K, with the
bulk of the library split across the various sublibraries:
5.8K libHYPRE-2.11.1.so
15K libHYPRE_DistributedMatrix-2.11.1.so
63K libHYPRE_DistributedMatrixPilutSolver-2.11.1.so
228K libHYPRE_Euclid-2.11.1.so
793K libHYPRE_FEI-2.11.1.so
71K libHYPRE_IJ_mv-2.11.1.so
100K libHYPRE_krylov-2.11.1.so
6.1K libHYPRE_MatrixMatrix-2.11.1.so
23K libHYPRE_multivector-2.11.1.so
67K libHYPRE_ParaSails-2.11.1.so
111K libHYPRE_parcsr_block_mv-2.11.1.so
807K libHYPRE_parcsr_ls-2.11.1.so
144K libHYPRE_parcsr_mv-2.11.1.so
35K libHYPRE_seq_mv-2.11.1.so
427K libHYPRE_sstruct_ls-2.11.1.so
117K libHYPRE_sstruct_mv-2.11.1.so
624K libHYPRE_struct_ls-2.11.1.so
216K libHYPRE_struct_mv-2.11.1.so
51K libHYPRE_utilities-2.11.1.so
Can anyone comment on the desirability of splitting libHYPRE into
pieces like this? All the sublibraries need to be loaded anyway, since
they're linked in to libHYPRE-2.11.1.so. Is there really a performance
gain in splitting the library? It causes a maintenance headache.
Drew
Reply to: