From 4a1ab974b121a574a9d04148023ce294ffad9ccb Mon Sep 17 00:00:00 2001 From: Nikolai Maas Date: Thu, 31 Aug 2023 17:53:27 +0200 Subject: [PATCH] extend sql_plottools output and remove one more parameter --- mt-kahypar/io/command_line_options.cpp | 4 ---- mt-kahypar/io/sql_plottools_serializer.cpp | 11 +++++++++++ mt-kahypar/partition/context.h | 1 - .../partition/refinement/fm/multitry_kway_fm.cpp | 3 --- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/mt-kahypar/io/command_line_options.cpp b/mt-kahypar/io/command_line_options.cpp index 3aa22184b..b5a0d1350 100644 --- a/mt-kahypar/io/command_line_options.cpp +++ b/mt-kahypar/io/command_line_options.cpp @@ -453,10 +453,6 @@ namespace mt_kahypar { po::value((initial_partitioning ? &context.initial_partitioning.refinement.fm.unconstrained_upper_bound : &context.refinement.fm.unconstrained_upper_bound))->value_name("")->default_value(0.0), "Still use upper limit for imbalance with unconstrained FM, expressed as a factor of the max part weight (default = 0 = no limit).") - ((initial_partitioning ? "i-r-fm-rebalancing-use-violation-factor" : "r-fm-rebalancing-use-violation-factor"), - po::value((initial_partitioning ? &context.initial_partitioning.refinement.fm.rebalancing_use_violation_factor : - &context.refinement.fm.rebalancing_use_violation_factor))->value_name("")->default_value(true), - "Whether the rollback balance violation factor is also applied to rebalancing (for unconstrained FM).") ((initial_partitioning ? "i-r-fm-unconstrained-rounds" : "r-fm-unconstrained-rounds"), po::value((initial_partitioning ? &context.initial_partitioning.refinement.fm.unconstrained_rounds : &context.refinement.fm.unconstrained_rounds))->value_name("")->default_value(1), diff --git a/mt-kahypar/io/sql_plottools_serializer.cpp b/mt-kahypar/io/sql_plottools_serializer.cpp index bf3813d5f..fe1b2f8d1 100644 --- a/mt-kahypar/io/sql_plottools_serializer.cpp +++ b/mt-kahypar/io/sql_plottools_serializer.cpp @@ -113,6 +113,8 @@ std::string serialize(const PartitionedHypergraph& hypergraph, << " lp_algorithm=" << context.refinement.label_propagation.algorithm << " lp_maximum_iterations=" << context.refinement.label_propagation.maximum_iterations << " lp_rebalancing=" << std::boolalpha << context.refinement.label_propagation.rebalancing + << " lp_unconstrained=" << std::boolalpha << context.refinement.label_propagation.unconstrained + << " lp_relative_improvement_threshold=" << context.refinement.label_propagation.relative_improvement_threshold << " lp_hyperedge_size_activation_threshold=" << context.refinement.label_propagation.hyperedge_size_activation_threshold << " sync_lp_num_sub_rounds_sync_lp=" << context.refinement.deterministic_refinement.num_sub_rounds_sync_lp << " sync_lp_use_active_node_set=" << context.refinement.deterministic_refinement.use_active_node_set @@ -130,6 +132,15 @@ std::string serialize(const PartitionedHypergraph& hypergraph, << " fm_time_limit_factor=" << context.refinement.fm.time_limit_factor << " fm_obey_minimal_parallelism=" << std::boolalpha << context.refinement.fm.obey_minimal_parallelism << " fm_shuffle=" << std::boolalpha << context.refinement.fm.shuffle + << " fm_unconstrained_rounds=" << context.refinement.fm.unconstrained_rounds + << " fm_treshold_border_node_inclusion=" << context.refinement.fm.treshold_border_node_inclusion + << " fm_unconstrained_min_improvement=" << context.refinement.fm.unconstrained_min_improvement + << " fm_unconstrained_upper_bound=" << context.refinement.fm.unconstrained_upper_bound + << " fm_unconstrained_upper_bound_min=" << context.refinement.fm.unconstrained_upper_bound_min + << " fm_imbalance_penalty_min=" << context.refinement.fm.imbalance_penalty_min + << " fm_imbalance_penalty_max=" << context.refinement.fm.imbalance_penalty_max + << " fm_activate_unconstrained_dynamically=" << std::boolalpha << context.refinement.fm.activate_unconstrained_dynamically + << " fm_penalty_for_activation_test=" << context.refinement.fm.penalty_for_activation_test << " global_fm_use_global_fm=" << std::boolalpha << context.refinement.global_fm.use_global_fm << " global_fm_refine_until_no_improvement=" << std::boolalpha << context.refinement.global_fm.refine_until_no_improvement << " global_fm_num_seed_nodes=" << context.refinement.global_fm.num_seed_nodes diff --git a/mt-kahypar/partition/context.h b/mt-kahypar/partition/context.h index 4cc6b5d5f..c6b59f98a 100644 --- a/mt-kahypar/partition/context.h +++ b/mt-kahypar/partition/context.h @@ -159,7 +159,6 @@ struct FMParameters { mutable bool obey_minimal_parallelism = false; bool release_nodes = true; - bool rebalancing_use_violation_factor = true; double treshold_border_node_inclusion = 0.75; double unconstrained_upper_bound = 0.0; diff --git a/mt-kahypar/partition/refinement/fm/multitry_kway_fm.cpp b/mt-kahypar/partition/refinement/fm/multitry_kway_fm.cpp index 45adf2a28..13db195d2 100644 --- a/mt-kahypar/partition/refinement/fm/multitry_kway_fm.cpp +++ b/mt-kahypar/partition/refinement/fm/multitry_kway_fm.cpp @@ -68,9 +68,6 @@ namespace mt_kahypar { std::vector setupMaxPartWeights(const Context& context) { double max_part_weight_scaling = context.refinement.fm.rollback_balance_violation_factor; std::vector max_part_weights = context.partition.perfect_balance_part_weights; - if (!context.refinement.fm.rebalancing_use_violation_factor) { - max_part_weight_scaling = 1.0; - } if (max_part_weight_scaling == 0.0) { for (PartitionID i = 0; i < context.partition.k; ++i) { max_part_weights[i] = std::numeric_limits::max();