diff --git a/bin/run_big.sh b/bin/run_big.sh new file mode 100644 index 0000000..8033e2f --- /dev/null +++ b/bin/run_big.sh @@ -0,0 +1,28 @@ +#! + +# ======================================================================== +# SimpleMPL Usage +# -help (false) toggle printing help message +# -in input gds file name +# -out () output gds file name +# -coloring_distance (0) a floating point number indicating number of coloring distance in nanometer +# -color_num an integer indicating number of masks (colors) < 3|4 > +# -simplify_level (3) an integer indicating graph simplification level < 0|1|2|3 > +# -thread_num (1) an integer indicating maximum thread number +# -path_layer an integer indicating layer for conflict edges +# -precolor_layer an integer indicating layer for pre-colored patterns +# -uncolor_layer an integer indicating layer for coloring +# -algo (BACKTRACK) algorithm type < ILP|BACKTRACK|LP|SDP|DL > +# -shape (RECTANGLE) shape mode < RECTANGLE|POLYGON > +# -verbose (false) toggle controlling screen messages +# -use_stitch use stitch to avoid conflict +# -gen_stitch generate stitch candidate +# -dbg_comp_id debug component id +# -weight_stitch a floating point number indicating the weight of stitch +# ======================================================================== + +# if the benchmark contains polygon shapes, -shape must be set to POLYGON; +# otherwise, set -shape to RECTANGLE is more memory efficient +# -remove_stitch_redundancy \ +mkdir -p benchout +./OpenMPL -shape POLYGON -in big/ispd19_test4_flatten.gds -out benchout/ispd19_test4_flatten.gds -remove_stitch_redundancy -coloring_distance 500 -uncolor_layer 101 -color_num 3 -algo DL_OPT -thread_num 8 -use_stitch -gen_stitch -record 1 diff --git a/src/SimpleMPL.cpp b/src/SimpleMPL.cpp index f84fd93..efca552 100644 --- a/src/SimpleMPL.cpp +++ b/src/SimpleMPL.cpp @@ -2239,7 +2239,23 @@ double SimpleMPL::solve_graph_coloring(uint32_t comp_id, SimpleMPL::graph_type c myfile<input_gds().c_str()<<" "<algo() == AlgorithmTypeEnum::ILP_UPDATED_GUROBI && num_vertices(sg) > 3) + { + std::string runtime = comp_timer.format(6,"%w"); + std::ofstream myfile; + myfile.open("ILP_update_obj.txt", std::ofstream::app); + myfile<input_gds().c_str()<<" "<algo() == AlgorithmTypeEnum::DANCING_LINK && num_vertices(sg) > 3) + { + std::string runtime = comp_timer.format(6,"%w"); + std::ofstream myfile; + myfile.open("DL_obj.txt", std::ofstream::app); + myfile<input_gds().c_str()<<" "<algo() == AlgorithmTypeEnum::DANCING_LINK_OPT && num_vertices(sg) > 3) { std::string runtime = comp_timer.format(6,"%w"); std::ofstream myfile;