Cleanup: refactor LB make process to streamline and improve it 89/89/17
authorEric Bohm <ebohm@illinois.edu>
Thu, 3 Apr 2014 22:52:16 +0000 (17:52 -0500)
committerGerrit Code Review <gerrit2@charm.cs.uiuc.edu>
Tue, 22 Apr 2014 21:57:27 +0000 (16:57 -0500)
commit6bc4cf42200374568bb49bdc3cc8d86c30739e97
tree9eb0b7ac82389826fabf022695a2e19f70d2dc5e
parent03b2ca1ca9889be41a654415879be770be80f2fd
Cleanup: refactor LB make process to streamline and improve it

* CommonLB now includes only the core balancers in common usage
* EveryLB contains the obscure balancers and is not built by default
* Individual load balancers may be built via "make xxxxLB"

Most users do not need, or want, most load balancers.  CommonLB
includes the usual suspects.  The remainder are dumped in EveryLB.
Very few users will use EveryLB, so it is included in LIBS for kitchen
sink builds, or may be selected as a build target, but it is no longer
built by default.  Users may instead build individual balancers within
tmp via make xxxxLB.  Including MetisLB, or ScotchLB, if their
implementations are within the include and lib search paths.

Includes a bugfix to correct the path in --with-metis for metis v 5.
Includes another bugfix to undo the ugly old hack of temporary empty
metis.h scotch.h files being constructed by make depends, which
interacted badly with the build any one LB approach.
Includes an update to the load balancer documentation to reflect this
change and the current situation wrt to external partitioning
libraries.
Also: no METIS dependent strategies remain in EveryLB, including TopoLB
Adds test of EveryLB to lb_test, because actually testing each feature
is necessary for rot prevention.
Tested to build for both NAMD and ChaNGa

Change-Id: Ie7c582567bafcd8088dff88e68973f3761cfbb81
16 files changed:
build
doc/charm++/loadb.tex
src/ck-ldb/CommonLBs.ci
src/ck-ldb/EveryLB.ci
src/ck-ldb/Make.lb
src/ck-ldb/Makefile_lb.sh
src/ck-ldb/MetisLB.C
src/ck-ldb/ScotchLB.C
src/ck-ldb/ScotchRefineLB.C
src/ck-ldb/ScotchTopoLB.C
src/ck-ldb/TeamLB.C
src/scripts/Make.depends
src/scripts/Makefile
src/scripts/configure
src/scripts/configure.in
tests/charm++/load_balancing/lb_test/Makefile