Skip to content

Commit 6448a40

Browse files
[AP] Removed Old Cluster-Level AP Flow
Prior to the flat AP flow, a cluster-level AP flow existed in VPR which performed a SimPL-style algorithm on the clusters created during packing before performing a placement quench. Although well-written, this flow was not shown to outperform the SA placer in VPR. It has also been becoming confusing to keep in VPR since the new flat AP flow supercedes it. It is unclear if a cluster-level AP flow will work well with the flat AP flow; however in that case the cluster-level AP flow would be made using the new AP APIs written. Removed the old cluster-level AP flow to reduce confusion.
1 parent 8386eac commit 6448a40

File tree

15 files changed

+0
-2858
lines changed

15 files changed

+0
-2858
lines changed

CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ option(VTR_ENABLE_CAPNPROTO "Enable capnproto binary serialization support in VP
4242
#Allow the user to decide whether to compile the server module
4343
option(VPR_USE_SERVER "Specify whether vpr enables the server mode" ON)
4444

45-
#Allow the user to enable/disable VPR analytic placement
46-
#VPR option --enable_analytic_placer is also required for Analytic Placement
47-
option(VPR_ANALYTIC_PLACE "Enable analytic placement in VPR." ON)
4845
option(VPR_ENABLE_INTERCHANGE "Enable FPGA interchange." ON)
4946
option(VPR_ENABLE_NOC_SAT_ROUTING "Enable NoC SAT routing." OFF)
5047

vpr/CMakeLists.txt

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -91,21 +91,6 @@ else ()
9191
message(STATUS "Eigen3: Not Found. Some features may be disabled.")
9292
endif (TARGET Eigen3::Eigen)
9393

94-
#VPR_ANALYTIC_PLACE is initialized in the root CMakeLists
95-
# NOTE: This is the cluster-level Analytical Placement which existed before the
96-
# flat Analytical Placement flow.
97-
if(${VPR_ANALYTIC_PLACE})
98-
message(STATUS "VPR Analytic Placement: Requested")
99-
if (TARGET Eigen3::Eigen)
100-
message(STATUS "VPR Analytic Placement dependency (Eigen3): Found")
101-
message(STATUS "VPR Analytic Placement: Enabled")
102-
target_compile_definitions(libvpr PUBLIC -DENABLE_ANALYTIC_PLACE)
103-
else ()
104-
message(STATUS "VPR Analytic Placement dependency (Eigen3): Not Found (Download manually with sudo apt install libeigen3-dev, and rebuild)")
105-
message(STATUS "VPR Analytic Placement: Disabled")
106-
endif(TARGET Eigen3::Eigen)
107-
endif()
108-
10994
if (${VPR_ENABLE_NOC_SAT_ROUTING})
11095
message(STATUS "VPR NoC SAT Routing: Requested")
11196
find_package(ortools CONFIG REQUIRED)

vpr/src/base/SetupVPR.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,6 @@ static void SetupPlacerOpts(const t_options& Options, t_placer_opts* PlacerOpts)
673673

674674
PlacerOpts->effort_scaling = Options.place_effort_scaling;
675675
PlacerOpts->timing_update_type = Options.timing_update_type;
676-
PlacerOpts->enable_analytic_placer = Options.enable_analytic_placer;
677676
PlacerOpts->place_static_move_prob = vtr::vector<e_move_type, float>(Options.place_static_move_prob.value().begin(),
678677
Options.place_static_move_prob.value().end());
679678
PlacerOpts->place_high_fanout_net = Options.place_high_fanout_net;

vpr/src/base/read_options.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2244,13 +2244,6 @@ argparse::ArgumentParser create_arg_parser(const std::string& prog_name, t_optio
22442244
.default_value("0")
22452245
.show_in(argparse::ShowIn::HELP_ONLY);
22462246

2247-
place_grp.add_argument(args.enable_analytic_placer, "--enable_analytic_placer")
2248-
.help(
2249-
"Enables the analytic placer. "
2250-
"Once analytic placement is done, the result is passed through the quench phase of the annealing placer for local improvement")
2251-
.default_value("false")
2252-
.show_in(argparse::ShowIn::HELP_ONLY);
2253-
22542247
place_grp.add_argument(args.place_static_move_prob, "--place_static_move_prob")
22552248
.help(
22562249
"The percentage probabilities of different moves in Simulated Annealing placement. "

vpr/src/base/read_options.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ struct t_options {
139139
argparse::ArgValue<int> placement_saves_per_temperature;
140140
argparse::ArgValue<e_place_effort_scaling> place_effort_scaling;
141141
argparse::ArgValue<e_place_delta_delay_algorithm> place_delta_delay_matrix_calculation_method;
142-
argparse::ArgValue<bool> enable_analytic_placer;
143142
argparse::ArgValue<std::vector<float>> place_static_move_prob;
144143
argparse::ArgValue<int> place_high_fanout_net;
145144
argparse::ArgValue<e_place_bounding_box_mode> place_bounding_box_mode;

vpr/src/base/vpr_types.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,14 +1071,6 @@ struct t_placer_opts {
10711071
std::string allowed_tiles_for_delay_model;
10721072

10731073
e_place_delta_delay_algorithm place_delta_delay_matrix_calculation_method;
1074-
1075-
/*
1076-
* @brief enables the analytic placer.
1077-
*
1078-
* Once analytic placement is done, the result is passed through the quench phase
1079-
* of the annealing placer for local improvement
1080-
*/
1081-
bool enable_analytic_placer;
10821074
};
10831075

10841076
/******************************************************************

0 commit comments

Comments
 (0)