Merge branch 'metis' into charm
authorPhil Miller <mille121@illinois.edu>
Mon, 21 Feb 2011 02:42:58 +0000 (20:42 -0600)
committerPhil Miller <mille121@illinois.edu>
Mon, 21 Feb 2011 02:42:58 +0000 (20:42 -0600)
build
src/ck-ldb/Make.lb
src/ck-ldb/Makefile_lb.sh
src/scripts/Make.depends
src/scripts/configure
src/scripts/configure.in

diff --git a/build b/build
index c1b891c84f79f3e38ec3b051a6eb07d6379bbc96..1da8c93f5ac2f6f250bd3a3c5d6ce52fbb4decd7 100755 (executable)
--- a/build
+++ b/build
@@ -506,11 +506,7 @@ EOF
   $DESTINATION/tmp/system_ln $DESTINATION/include/VERSION VERSION
 fi
 
-$DESTINATION/tmp/system_ln "../../src/scripts/Make.depends" $DESTINATION/tmp/Make.depends
-$DESTINATION/tmp/system_ln "../../src/scripts/Make.cidepends" $DESTINATION/tmp/Make.cidepends
-$DESTINATION/tmp/system_ln "../../src/ck-ldb/Make.lb" $DESTINATION/tmp/Make.lb
 $DESTINATION/tmp/system_ln "../../src/scripts/Makefile" $DESTINATION/tmp/Makefile
-$DESTINATION/tmp/system_ln "../../src/scripts/Make.tau" $DESTINATION/tmp/Make.tau
 touch $DESTINATION/tmp/Makefile.machine
 touch $DESTINATION/tmp/Make.extlib
 
@@ -627,11 +623,11 @@ printError()
 
 echo 'BUILDOPTS="'$OPTS'"'  >> $ConvSh
 
-Echo "Performing '$MAKE $MAKEOPTS basics OPTS="$OPTS" QUIET="$QUIET" CONFIG_OPTS="$CONFIG_OPTS"' in $DESTINATION/tmp"
+Echo "Performing '$MAKE $MAKEOPTS -I../../src/scripts -I../../src/ck-ldb basics OPTS="$OPTS" QUIET="$QUIET" CONFIG_OPTS="$CONFIG_OPTS"' in $DESTINATION/tmp"
 cd $DESTINATION/tmp 
 echo "CONFIG_OPTS=\"$CONFIG_OPTS\"" > config_opts.sh
 chmod +x config_opts.sh
-$MAKE $MAKEOPTS basics OPTS="$OPTS $BUILD_SHARED" QUIET="$QUIET"
+$MAKE $MAKEOPTS  -I../../src/scripts -I../../src/ck-ldb basics OPTS="$OPTS $BUILD_SHARED" QUIET="$QUIET"
 MAKEEXIT=$?
 [ $MAKEEXIT -ne 0 ] && printError
 
index 2700749f0ac5bbc7a3b826f163fd4047a1f0b0d1..8a27838d7086a545b8ad06d84063670fe3627c64 100644 (file)
@@ -1,7 +1,7 @@
 # Automatically generated by script Makefile_lb.sh
-#  by uid=21543(bhatele) gid=80(kale) groups=80(kale),400(ppladmin)
-#  at panache
-#  on Thu Feb 10 12:38:39 CST 2011
+#  by uid=21588(phil) gid=80(kale) groups=80(kale),400(ppladmin)
+#  at thrift
+#  on Thu Feb 17 16:55:09 CST 2011
 ALL_LDBS=\
    $(L)/libmoduleBlockLB.a \
    $(L)/libmoduleCommLB.a \
@@ -215,6 +215,24 @@ $(L)/libmoduleWSLB.a: WSLB.o
        
 LBHEADERS += WSLB.h WSLB.decl.h
 
+
+$(L)/libmoduleMetisLB.a: MetisLB.o 
+       $(CHARMC) -o $(L)/libmoduleMetisLB.a MetisLB.o 
+       cp -f libmoduleMetisLB.dep $(L)/
+LBHEADERS += MetisLB.h MetisLB.decl.h
+
+
+$(L)/libmoduleScotchLB.a: ScotchLB.o 
+       $(CHARMC) -o $(L)/libmoduleScotchLB.a ScotchLB.o 
+       cp -f libmoduleScotchLB.dep $(L)/
+LBHEADERS += ScotchLB.h ScotchLB.decl.h
+
+
+$(L)/libmoduleTeamLB.a: TeamLB.o 
+       $(CHARMC) -o $(L)/libmoduleTeamLB.a TeamLB.o 
+       cp -f libmoduleTeamLB.dep $(L)/
+LBHEADERS += TeamLB.h TeamLB.decl.h
+
 # used for make depends
 ALL_LB_OBJS=EveryLB.o \
     CommonLBs.o \
@@ -248,6 +266,9 @@ ALL_LB_OBJS=EveryLB.o \
     TopoCentLB.o \
     TopoLB.o \
     WSLB.o \
+    MetisLB.o \
+    ScotchLB.o \
+    TeamLB.o \
     manager.o
 # EveryLB dependecies
 EVERYLB_DEPS=EveryLB.o \
index 10347b0ec3ea759cbd46ed26913499b85bc3d9d9..3f1e8d5e420d861240b0f774c175f5e8b8d9e889 100755 (executable)
@@ -18,7 +18,7 @@ done
 echo "   manager.o" >> $out
 echo >> $out
 
-for bal in $ALL_LDBS 
+for bal in $ALL_LDBS $UNCOMMON_LDBS
 do 
        dep=""
        [ -r libmodule$bal.dep ] && dep="cp -f libmodule$bal.dep "'$'"(L)/"
@@ -63,7 +63,7 @@ echo "};" >> CommonLBs.ci
 echo "# used for make depends" >> $out
 echo "ALL_LB_OBJS=EveryLB.o \\" >> $out
 echo "    CommonLBs.o \\" >> $out
-for bal in $ALL_LDBS
+for bal in $ALL_LDBS $UNCOMMON_LDBS
 do
        echo "    $bal.o \\" >> $out
 done
index d124afb6fa0ad5d0a52edf4610c8fb2ca31ad244..b7df3e0f78e421d285d294ec4a95379cfe2ed6b7 100644 (file)
@@ -2028,6 +2028,61 @@ TopoLB.o: TopoLB.C TopoLB.decl.h charm++.h charm.h converse.h \
  TopoLB.def.h
        $(CHARMC) -c -I. TopoLB.C
 
+MetisLB.o: MetisLB.C MetisLB.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
+ converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+ conv-mach-opt.h pup_c.h queueing.h conv-cpm.h conv-cpath.h conv-qd.h \
+ conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h \
+ charm.h pup.h middle.h middle-conv.h LBDBManager.h cklists.h LBObj.h \
+ LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h \
+ ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h simd.h \
+ CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
+ CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h \
+ CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+ trace.h trace-bluegene.h envelope.h NullLB.decl.h BaseLB.decl.h \
+ CentralLB.decl.h CentralLBMsg.h MetisLB.decl.h ckgraph.h MetisLB.def.h
+       $(CHARMC) -c -I. MetisLB.C
+
+ScotchLB.o: ScotchLB.C ScotchLB.h CentralLB.h BaseLB.h LBDatabase.h \
+ lbdb.h converse.h conv-config.h conv-autoconfig.h conv-common.h \
+ conv-mach.h conv-mach-opt.h pup_c.h queueing.h conv-cpm.h conv-cpath.h \
+ conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
+ debug-conv.h charm.h pup.h middle.h middle-conv.h LBDBManager.h \
+ cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+ LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
+ ckhashtable.h debug-charm.h simd.h CkMarshall.decl.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h cknodegroupreduction.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h CkLocation.decl.h CkArray.decl.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h CkCheckpoint.decl.h \
+ ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
+ NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
+ ScotchLB.decl.h ckgraph.h ScotchLB.def.h
+       $(CHARMC) -c -I. ScotchLB.C
+
+TeamLB.o: TeamLB.C TeamLB.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
+ converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
+ conv-mach-opt.h pup_c.h queueing.h conv-cpm.h conv-cpath.h conv-qd.h \
+ conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h \
+ charm.h pup.h middle.h middle-conv.h LBDBManager.h cklists.h LBObj.h \
+ LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h \
+ ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h simd.h \
+ CkMarshall.decl.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ cknodegroupreduction.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
+ CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h \
+ CkLocation.decl.h CkArray.decl.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h ckarrayreductionmgr.h \
+ trace.h trace-bluegene.h envelope.h NullLB.decl.h BaseLB.decl.h \
+ CentralLB.decl.h CentralLBMsg.h TeamLB.decl.h ckgraph.h TeamLB.def.h
+       $(CHARMC) -c -I. TeamLB.C
+
 manager.o: manager.C manager.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
  converse.h conv-config.h conv-autoconfig.h conv-common.h conv-mach.h \
  conv-mach-opt.h pup_c.h queueing.h conv-cpm.h conv-cpath.h conv-qd.h \
index 1b3dd39243b0028a9abf76d4e929cf3f7ebf6f91..e3b570f6af1568b4fc34e7dd1f5152747f8720d8 100755 (executable)
@@ -605,6 +605,7 @@ enable_charmdebug
 enable_replay
 enable_controlpoint
 with_numa
+with_metis
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1227,6 +1228,8 @@ Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-numa             support memory affinity with NUMA
+  --with-metis            support the METIS graph partitioner and associated
+                          load balancer
 
 Report bugs to the package provider.
 _ACEOF
@@ -3516,6 +3519,42 @@ then
        add_flag "CMK_BUILD_PYTHON=$PYTHON_VERSION" "python"
 fi
 
+#### Pick up METIS if the user asks for it ####
+
+
+# Check whether --with-metis was given.
+if test "${with_metis+set}" = set; then :
+  withval=$with_metis;
+else
+  with_metis=no
+fi
+
+
+WITH_METIS=no
+if test "$with_metis" != "no"
+then
+  Echo "Compiling Charm with support for METIS"
+  WITH_METIS=yes
+  echo 'charm++: $(L)/libmoduleMetisLB.a $(L)/libmoduleTeamLB.a' >> $MAKEFILE_EXT
+  add_flag 'CMK_LIBS="$CMK_LIBS -lmetis"' "libmetis"
+  if test "$with_metis" != "yes"
+  then
+    add_flag "CMK_METIS=$with_metis" "Where to find METIS"
+    add_flag 'CMK_LIBDIR="$CMK_LIBDIR -L$CMK_METIS"' "Library path for METIS"
+    if test -r $with_metis/Lib/metis.h
+    then
+      add_flag 'CMK_INCDIR="$CMK_INCDIR -I$CMK_METIS/Lib"' "Include path for METIS 4"
+    elif test -r $with_metis/../../include/metis.h
+    then
+      add_flag 'CMK_INCDIR="$CMK_INCDIR -I$CMK_METIS/../../include"' "Include path for METIS 5"
+    else
+      echo "I can't find metis.h, since the path you specified (which should point to the directory containing libmetis.a) is not laid out as I expect for version 4 or 5."
+      test_finish 1
+    fi
+  fi
+fi
+
+
 #### test if Cray node topology will work ####
 cat > $tc <<EOT
 #include <pmi.h>
index 08ea638327672a8022d7c252ff3ac10cb93aaf66..a75383ed758ccf3dc8fe508c24b345268fefc9f4 100644 (file)
@@ -1466,6 +1466,39 @@ then
        add_flag "CMK_BUILD_PYTHON=$PYTHON_VERSION" "python"
 fi
 
+#### Pick up METIS if the user asks for it ####
+
+AC_ARG_WITH([metis],
+           [AS_HELP_STRING([--with-metis],
+            [support the METIS graph partitioner and associated load balancer])],
+           [],
+           [with_metis=no])
+
+WITH_METIS=no
+if test "$with_metis" != "no"
+then
+  Echo "Compiling Charm with support for METIS"
+  WITH_METIS=yes
+  echo 'charm++: $(L)/libmoduleMetisLB.a $(L)/libmoduleTeamLB.a' >> $MAKEFILE_EXT
+  add_flag 'CMK_LIBS="$CMK_LIBS -lmetis"' "libmetis"
+  if test "$with_metis" != "yes"
+  then
+    add_flag "CMK_METIS=$with_metis" "Where to find METIS"
+    add_flag 'CMK_LIBDIR="$CMK_LIBDIR -L$CMK_METIS"' "Library path for METIS"
+    if test -r $with_metis/Lib/metis.h
+    then
+      add_flag 'CMK_INCDIR="$CMK_INCDIR -I$CMK_METIS/Lib"' "Include path for METIS 4"
+    elif test -r $with_metis/../../include/metis.h
+    then
+      add_flag 'CMK_INCDIR="$CMK_INCDIR -I$CMK_METIS/../../include"' "Include path for METIS 5"
+    else
+      echo "I can't find metis.h, since the path you specified (which should point to the directory containing libmetis.a) is not laid out as I expect for version 4 or 5."
+      test_finish 1
+    fi
+  fi
+fi
+
+
 #### test if Cray node topology will work ####
 cat > $tc <<EOT
 #include <pmi.h>