Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Integrate HyperFlowCutter stub as refinement algorithm * integrate hyperflow cutter stubs with FM * HyperFlowCutter integration (#54) * add WeightedHyperFlowCutter submodule (private access) * commit preliminary basic version to progress * disable nonsensical warning flags * human readable indentation * add comment to 2way_flow_refiner * implement hfc refinement, fix some warnings * fix command line parser warning * mew WHFC version * some debug output and comments + tiny fix in reset() * adapt to new flowbased interleaving interface and add capabilities to write snapshot instances * implement setting distances from cut * temporarily disable assert and replace with runtimer error * disable some options. REVERT this commit later on for integration * add hyperflowcutter option description * give hfc refiner options an appropriate order * disable writing partition file * add timing to flow refinement sections. set Dinic as WHFC flow algo * add flow refinement running time output to regular output. comments for two flow skipping heuristics * Revert "disable some options. REVERT this commit later on for integration" This reverts commit 0df4cee. * disable debug output * add toolname to sql plottools serializer * serialize sql plot tools on signal. for external timeouts * add HFC options to cmdline parser * some cleanup * flow hg size constraint options. and parsing * fix weird indentation sql_plottools_serializer * adapt 2way_hyperflowcutter_refiner to the new HyperFlowCutter interface * removed private WHFC submodule * more gitignore * Delete accidentally commited IDE file, no idea how it got commited * add public WHFC submodule * update mini_boost version to 1.69 * fix tiny bug * Remove experimental flow networks and algorithms All production configs use the hybrid flow network and either the IBFS or the BK max-flow algorithm. To reduce compile times, we therefore remove the the other flow networks and algorithms from master. However, the experimental setup will still be available in the "experimental" branch [1]. [1] https://github.com/SebastianSchlag/kahypar/tree/experimental * add HFC style time measurement to Tobi's flow refiner * add command line flag for writing snapshots * adapt flow hg extraction to new DistanceFromCut type * add debug output to kway_hyperflowcutter_refiner * clean up 2way_hyperflowcutter_refiner * new WHFC version * add command line flag for output partition * kway hyperflowcutter: only activate blocks if they improved cut or balance. we also move nodes if the weight diff between blocks is reduced * Provide runtime balance check * new WHFC version * new WHFC version * update submodule WHFC * implement command line parameters for ignoring distances and most balanced cut * allow disabling iso vertices dp * add fixed vertex support for HyperFlowCutter refinement * update WHFC submodule * set max block weights in 2way_hyperflowcutter_refiner, fix some compilation errors and remove errors if hg contains fixed vertices or individual part weights * remove iso dp cli option * rework snapshot extraction to file * adapt (local) balance checks in 2way_hyperflowcutter_refiner to imbalance formulation instead of block weight difference * implement soft time limit. we probably still need to prettify the cli parameters * prettify interface for time limits * add time limit to HFC refinement * add HFC refinement configs * minor changes * start removing old irrelevant code. it compiles * remove more code * raise C++ standard to 17 on all targets * adapt options parsing * adapt sql_plottools_serializer to distinguish interrupt and time limit * let time limit trigger write flag in context --> const ref madness * fix warning * raise WHFC version * remove unused registrar stuff to fix two_way_fm_refiner_test * fix time limit issues * update WHFC version * update WHFC version * upgrade WHFC version * change fm stopping rule for rKaHyPar to adaptive_opt * apply codestyle * remove old signal handling code * revert "remove old signal handling code" This reverts commit 335d299. * make context.partition.time_limit_triggered mutable * re-add constness to coarsening factories * re-add constness to refinement algorithms * re-add constness * cleanup comments * re-enable effc++ warnings * implement adjusted epsilon flow problem scaling for individual part weights. this fixes an outstanding todo * default initialize HFC parameters with the default config parameters, and perform some sanity checks * bump gcc + dist version * bump boost version * fix travis file for boost po * add dependencies for boost dynamic_bitset * move WHFC to external tools * allow cmake to find boost headers * only search for dynamic bitset * update CMakeLists.txt * update CmakeLists.txt * update cmake * Add debug output * update travis config * update * update travis config * update .travis.yml * remove re-added files * update .travis.yml * add lars to authors * update boost version * update boost version * fix merge error * update travis config * fix merge error * newer boost * add ppa the correct way * correct indentation * update * update * fix merge * update travid * fix c++ standard * update lgtm.yml for boost * trigger codacity * fix python module * workaround for boost on lgtm * update lgtm * bump gcc version * update cmake Co-authored-by: Sebastian Schlag <sebastian.schlag@kit.edu> Co-authored-by: Sebastian Schlag <info@sebastianschlag.de> * Update README.md * Update README.md * Update README.md * add new kKahyPar-E config * Update README.md * Update README.md * Update README.md * Update README.md * Hyper flow cutter integration (#57) * add WeightedHyperFlowCutter submodule (private access) * commit preliminary basic version to progress * disable nonsensical warning flags * human readable indentation * add comment to 2way_flow_refiner * implement hfc refinement, fix some warnings * fix command line parser warning * mew WHFC version * some debug output and comments + tiny fix in reset() * adapt to new flowbased interleaving interface and add capabilities to write snapshot instances * implement setting distances from cut * temporarily disable assert and replace with runtimer error * disable some options. REVERT this commit later on for integration * add hyperflowcutter option description * give hfc refiner options an appropriate order * disable writing partition file * add timing to flow refinement sections. set Dinic as WHFC flow algo * add flow refinement running time output to regular output. comments for two flow skipping heuristics * Revert "disable some options. REVERT this commit later on for integration" This reverts commit 0df4cee. * disable debug output * add toolname to sql plottools serializer * serialize sql plot tools on signal. for external timeouts * add HFC options to cmdline parser * some cleanup * flow hg size constraint options. and parsing * fix weird indentation sql_plottools_serializer * adapt 2way_hyperflowcutter_refiner to the new HyperFlowCutter interface * removed private WHFC submodule * more gitignore * Delete accidentally commited IDE file, no idea how it got commited * add public WHFC submodule * update mini_boost version to 1.69 * fix tiny bug * Remove experimental flow networks and algorithms All production configs use the hybrid flow network and either the IBFS or the BK max-flow algorithm. To reduce compile times, we therefore remove the the other flow networks and algorithms from master. However, the experimental setup will still be available in the "experimental" branch [1]. [1] https://github.com/SebastianSchlag/kahypar/tree/experimental * add HFC style time measurement to Tobi's flow refiner * add command line flag for writing snapshots * adapt flow hg extraction to new DistanceFromCut type * add debug output to kway_hyperflowcutter_refiner * clean up 2way_hyperflowcutter_refiner * new WHFC version * add command line flag for output partition * kway hyperflowcutter: only activate blocks if they improved cut or balance. we also move nodes if the weight diff between blocks is reduced * Provide runtime balance check * new WHFC version * new WHFC version * update submodule WHFC * implement command line parameters for ignoring distances and most balanced cut * allow disabling iso vertices dp * add fixed vertex support for HyperFlowCutter refinement * update WHFC submodule * set max block weights in 2way_hyperflowcutter_refiner, fix some compilation errors and remove errors if hg contains fixed vertices or individual part weights * remove iso dp cli option * rework snapshot extraction to file * adapt (local) balance checks in 2way_hyperflowcutter_refiner to imbalance formulation instead of block weight difference * implement soft time limit. we probably still need to prettify the cli parameters * prettify interface for time limits * add time limit to HFC refinement * add HFC refinement configs * minor changes * start removing old irrelevant code. it compiles * remove more code * raise C++ standard to 17 on all targets * adapt options parsing * adapt sql_plottools_serializer to distinguish interrupt and time limit * let time limit trigger write flag in context --> const ref madness * fix warning * raise WHFC version * remove unused registrar stuff to fix two_way_fm_refiner_test * fix time limit issues * update WHFC version * update WHFC version * upgrade WHFC version * change fm stopping rule for rKaHyPar to adaptive_opt * apply codestyle * remove old signal handling code * revert "remove old signal handling code" This reverts commit 335d299. * make context.partition.time_limit_triggered mutable * re-add constness to coarsening factories * re-add constness to refinement algorithms * re-add constness * cleanup comments * re-enable effc++ warnings * implement adjusted epsilon flow problem scaling for individual part weights. this fixes an outstanding todo * default initialize HFC parameters with the default config parameters, and perform some sanity checks * bump gcc + dist version * bump boost version * fix travis file for boost po * add dependencies for boost dynamic_bitset * move WHFC to external tools * allow cmake to find boost headers * only search for dynamic bitset * update CMakeLists.txt * update CmakeLists.txt * update cmake * Add debug output * update travis config * update * update travis config * update .travis.yml * remove re-added files * update .travis.yml * add lars to authors * update boost version * update boost version * fix merge error * update travis config * fix merge error * newer boost * add ppa the correct way * correct indentation * update * update * fix merge * update travid * fix c++ standard * update lgtm.yml for boost * trigger codacity * fix python module * workaround for boost on lgtm * update lgtm * bump gcc version * update cmake * fully uncontract hypergraph in evolutionary mode since it's being used elsewhere * more aggressive time limit trigger Co-authored-by: Lars Gottesbüren <lars.gottesbueren@kit.edu> Co-authored-by: Lars Gottesbüren <42266566+larsgottesbueren@users.noreply.github.com> Co-authored-by: Sebastian Schlag <info@sebastianschlag.de> * refactor time_limit * improve spprocess output for evo * improve output for time-limited partitioning * simplify isSoftTimeLimitExceeded * no soft time limit for MA Co-authored-by: Sebastian Schlag <info@sebastianschlag.de> Co-authored-by: Lars Gottesbüren <42266566+larsgottesbueren@users.noreply.github.com> Co-authored-by: Lars Gottesbüren <lars.gottesbueren@kit.edu>
- Loading branch information