import Cfg print " - Loading hMetis configuration." # hMETIS parameters. Cfg.getParamInt ("metis.globalConnectionsWeightRatio" ).setInt (1 ) Cfg.getParamInt ("metis.numberOfInstancesStopCriterion").setInt (100 ) Cfg.getParamInt ("metis.numberOfTriedBisections" ).setInt (10 ) Cfg.getParamBool("metis.partOrKWayHMetis" ).setBool(True ) Cfg.getParamBool("metis.tuneHMetisParameters" ).setBool(False) Cfg.getParamInt ("metis.ubFactor" ).setInt (0 ) param = Cfg.getParamEnumerate("metis.CType") param.setInt(1) param.addValue("Hybrid First Choice", 1) param.addValue("First Choice" , 2) param.addValue("Greedy First" , 3) param.addValue("Hyper Edge" , 4) param.addValue("Edge" , 5) param = Cfg.getParamEnumerate("metis.RType") param.setInt(1) param.addValue("Fiduccia-Mattheyses" , 1) param.addValue("One Way Fidducia-Mattheyses" , 2) param.addValue("Early Exit Fidducia-Mattheyses", 3) param = Cfg.getParamEnumerate("metis.VCycle") param.setInt(0) param.addValue("No V-Cycle Refinement" , 0) param.addValue("On Each Final Bisections" , 1) param.addValue("On Best Intermediate Solutions", 2) param.addValue("On All Intermediate Solutions" , 3) param = Cfg.getParamEnumerate("metis.Reconst") param.setInt(0) param.addValue("Ignore cuts Hyper Edges" , 0) param.addValue("Keep parts of cuts Hyper Edges", 1) param = Cfg.getParamEnumerate("metis.debug") param.setInt(0) param.addValue("Disabled" , 0) param.addValue("Coarsening Stage" , 1) param.addValue("Initial Partitioning", 2) param.addValue("Refinement" , 4) param.addValue("Multiple Runs" , 8) param.addValue("More Multiples Runs" , 16) master = Cfg.getParamBool ("metis.tuneHMetisParameters") master.addSlave ( "metis.CType" ) master.addSlave ( "metis.numberOfTriedBisections" ) master.addSlave ( "metis.CType" ) master.addSlave ( "metis.RType" ) master.addSlave ( "metis.VCycle" ) master.addSlave ( "metis.Reconst" ) master.addSlave ( "metis.debug" )