-
Notifications
You must be signed in to change notification settings - Fork 415
Placement Refactoring #2396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Placement Refactoring #2396
Changes from 170 commits
Commits
Show all changes
207 commits
Select commit
Hold shift + click to select a range
919b13e
Bringing back iterative improvements (1)
9845d06
Bringing back iterative improvements (2)
b15bbb9
Bringing back iterative improvement (3)
b804664
update the multithreading and locking techniques for iterative improv…
275fb41
Free cluster_pb_stats at the end of packing
6b237f3
Change the pointer in pb_graph_node to indeces for faster lookup and …
cde1d02
extend cluster_placement_stats to be a vector
6133c43
extending cluster_placement_stats to vector --WIP
424b4a6
extending cluster_placement_stats to vector --WIP2
21d4be7
Multitreading working -- need some refactoring to be more readable
3ee0bc4
Multithreading is working
99d2cfb
solve a variable size array issue
28875dd
fix formatting
a8cd188
Fix all issues with mulithreading
04fbb77
Fix formatting
69aa3fb
Add new moves that are evaluated based on absorbed connections not nets
a943734
change the definition of the Conn moves to be absorbed pins / total n…
3a34e5a
Fix an issue with calculating the abosorbed connections
a0e1f8e
Build and print a hash table for the count of connections between CLB…
30ad1e2
[WIP] implementing multiple moves and evaluation formulas for packing…
5153c54
update how moves are evaluated
5c8159a
fix the renaming bug to avoid having two pbs with the same name
8e2430d
Add a new way to evaluate moves based on the terminals outside
18feb40
a more generic way to fix the renaming bug
ff651ef
Hope it is now fixed
93b9b65
remove unnecesary logging
be78ac8
WIP fixing the renaming bug by make sure to bring the name back after…
086ffb8
solve the renaming issue and print a progress bar
3d1d565
fix formatting
1a523d6
Fix the bug with more generic way
c77ffd5
update the evaluation function for terminals outside
d0b2686
[WIP] working on using packing ost functions to evaluate moves
e4fb89d
Using packing cost function to evaluate moves
bb598be
Fix a bug in the API -- setting the mode for all the pb hierarchy lev…
c256c11
Fixing issues with move_mol_to_new_cluster function
a775f91
commit the version of the packing cost evaluation before updating it
e2abf60
Fixing the function to evaluate the moves based on the cutsize
a8fa346
fix formatting and some debugging code
d0a9e38
update the cost function to evaluate the packing move
618cfb7
fix memory leaks
de79046
create primitive_critical_uniform_move_generator.h/.cpp
amin1377 8e341ca
change the name of the file from primitive_*_move* to atom_*_move*
amin1377 0e4db8c
write getCriticalAtomBlock under atom_critical_uni*
amin1377 8df2762
use cluster_blk_id in functions under atom_critical_uniform*
amin1377 1ced777
remove total_primitive_count field from pb_type_graph_node since it w…
amin1377 e8af9b4
add primitive num to t_pb_graph_node
amin1377 5a72ec0
remove debugging code and adding more comments
accb38f
prevent double freeing when removing a molecule from cluster
2354720
Merge branch 'master' into packing-multithreading
08a68c3
more comments and remove debugging code
15d7ce3
Add a guard for packing multithreading
49d3f66
mor guards for multithreading
5109958
Merge branch 'packing-multithreading' of https://github.com/verilog-t…
amin1377 3553f5e
create place_re_cluster.cpp/.h
amin1377 2623ca8
call place_re_cluster after quench
amin1377 a29e44b
choose random cluster blocks and choose random atoms inside them
amin1377 d9c433a
write a basic impl for t_pl_atom_loc
amin1377 7e949b3
add move transaction data structure for atoms
amin1377 03b9c14
add get_atom_mol to pack_utils
amin1377 c764bda
Re-clustering API bug fixes
36aaa4e
remove ClusterAtomsLookup class
amin1377 1969e17
add operator== to t_pl_atom_loc
amin1377 d495243
add a method to gridblock to get the atom id from atom loc
amin1377 9b35c9a
impl for find_affected_blocks for atom blocks
amin1377 a44efb7
add macros for EMPTY_PRIMITIVE_BLOCK_ID
amin1377 3f70a1c
add hashing function for t_pl_atom_loc
amin1377 5fe87fa
write record_block_move for atom blocks
amin1377 dd01260
write a (temp) helper function to get the location of an atom
amin1377 13998dc
remove unused variable
ac31136
fix formatting
e5486f3
set a default number (-1) to pb_graph_node primitive_num
amin1377 93be443
rename pb_graph_node_class_range under logical block to primitive_pb_…
amin1377 8a13c7c
add is_atom_compatible to physical types util
amin1377 9907633
add place_re_cluster option
amin1377 b8b9ec1
do reclustring if the option is set
amin1377 48f77c8
remained from adding the new Cl arg
amin1377 0c00cf1
impl is_legal_swap for atoms
amin1377 ea24fbc
remove unused parameters and fix formatting
f84a792
Merge branch 'master' into reclustering-api-bug-fixes
MohamedElgammal 176c913
implement record_single_block_swap for atom moves
amin1377 8c11b1b
impl create_move for placement reclustering
amin1377 a0880e8
floorplan_legal for atom block
amin1377 ccbf5a3
impl: cluster_pins_connected_to_atom_pin
amin1377 27f54f4
impl a function to update td and bb costs when a pin of a net is moved
amin1377 d54036a
fix a bug with passsing criticalities by pointer
amin1377 0fdc7e0
impl apply_move_blocks for atom blocks affected
amin1377 6a5430a
impl revert_move_blocks for atom block move
amin1377 6e41db8
pass move blocks to driven_by_moved_block instead of the whole data s…
amin1377 04bd8a3
use any_of instead of for loop
amin1377 9a0c16a
pass moved_blocks and affected_pins to update_td_delta_costs
amin1377 1911301
pass t_pl_moved_block to update_net_bb instead of all t_pl_blocks_to_…
amin1377 aee362d
change the update_net_info_on_pin_move to accept related parameters
amin1377 2da67de
fix a type in find_affected_nets_and_update_costs parameter list
amin1377 199c12f
add is_src_moving parameter to update_td_delta_costs instead of deter…
amin1377 59f6e3e
remove unused parameters from update_net_info_on_pin_move and pass is…
amin1377 dc896f1
write driven_by_moved_block for atom net
amin1377 ac9d1b0
impl find_affected_nets_and_update_costs for changing atom loc
amin1377 4491881
add a constructor to t_pl_moved_block
amin1377 1753662
add place_algorithm to re_cluster
amin1377 2fca2e0
add net_cost_handler to place dir
amin1377 9c7d2d4
add driven_by_moved block to net_list_handler.cpp
amin1377 48fa5b5
add find_affected_nets_and_update_costs for both cluster and atom nets
amin1377 7ae6bbd
add update_net_bb to net_cost_handler
amin1377 7adad23
add update_td_delta_costs and record_affected_net to net_list_handler
amin1377 627e2fe
add update_net_info_on_pin_move to net_cost_handler
amin1377 6ece0f4
remove static identifiers from find_affected_nets_and_update_costs
amin1377 113c4e1
add local variables related to net cost to net_cost_handler
amin1377 eec039b
add alloc_and_load_for_fast_cost_update and its vars to place_util
amin1377 b161988
add wirelength_crossing_count and get_net_bounding_box_cost to place_…
amin1377 f04a176
add init_net_cost_structs
amin1377 2633c6a
add get_non_updateable_bb, update_bb, get_bb_from_scratch, get_net_wi…
amin1377 e50de51
add comp_bb_cost, update_move_nets, reset_move_nets, recompute_costs_…
amin1377 c0af5fe
alloc_and_load_for_fast_cost_update & free_fast_cost_update & wirelen…
amin1377 8975b8d
move functions related to chanx/y_place_cost_fac to net_cost handler …
amin1377 598d136
remove all the functions moved to net_cost_handler from place.cpp
amin1377 0d1b039
add ERROR_TOL to placer globals
amin1377 b0ed53f
impl swap atoms in place re cluster
amin1377 9c24775
fix parameter names of t_pl_moved_block
amin1377 d587ac4
merge with master branch
amin1377 60eee08
fix a bug with passing loc to get_physical_type
amin1377 daf4352
remove ERROR_TOL and add it to place.cpp and net_cost_handler
amin1377 d2a9c06
comment unused vars in place_re_cluster
amin1377 c9b951d
comment unused vars in net_cost_handler and atom_critical...
amin1377 c747efb
remove assigning invalid to cluster block id
amin1377 83a7b02
use the interface for propose move of AtomCriticalUniformMoveGenerator
amin1377 cbef91e
merge with reclustering-api-bug-fixes
amin1377 cb21aaf
solve conflicts with api debug branch dir: libarchfpga and src/base
amin1377 cabe15e
remove dir vpr/src/pack/improvements
amin1377 2613b42
add api debug fixes to files under vpr/src/pack
amin1377 4076172
fix a typo in a field name
amin1377 3a16d9b
comment an error in place_recluster
amin1377 1daf8b9
add algorithm lib to vtr_vec_id
amin1377 e8bc42c
make format
amin1377 b04e309
fix placement debugging messages to show double numbers as long f ins…
amin1377 b94880d
change lf to e
amin1377 042a8ed
tmp: add some couts for dubbing
amin1377 cd1ef4d
Revert "tmp: add some couts for dubbing"
amin1377 f0bb77d
set the capacity instead of creating actual elements
amin1377 8b8027e
push back to blocks affected
amin1377 312ca54
clear moved_blocks once swap is done
amin1377 463d610
add comments for physical_types.h
amin1377 472b279
comment on is_atom_compatible
amin1377 25d5267
fix the help of place_re_cluster parameter
amin1377 2bc377d
add comment on atom block_at_location
amin1377 21559aa
make format
amin1377 1a975ad
make the constructor explicit
amin1377 9e27014
check if pb_graph_node benlongs to the logical type. If it doesn't re…
amin1377 fba5a66
add some comments and fix atom is_legal_swap_to_location
amin1377 b1bdfd1
comment on move_transaction & move_utils
amin1377 b445803
experiment: allocate moved_blocks to max_num_blocks
amin1377 d1f2e03
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 85447d8
Merge branch '3d_link_cost_in_placement' of https://github.com/verilo…
amin1377 b05d57b
debug update_bb
amin1377 71186a9
fix find_affected_nets_and_update_costs
amin1377 f94c577
fix update_net_layer_bb
amin1377 df7fdd4
fix comp_bb_cost
amin1377 9989f2f
remove pushing back to blocks_affected
amin1377 268ea24
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 22f9237
change bbptr to bb
amin1377 e34d848
change bb pointer to const ref in get_net_bounding_box_cost
amin1377 6a77e80
comment on ts_bb_coord_new and layer_ts_bb_coord_new usage
amin1377 49d33b8
fix a type
amin1377 fa45f03
remove an unused function - comment net_cost_handler helper functions
amin1377 2de0eca
get net cost based on bb type
amin1377 6abf300
impl a function to set bb delta c
amin1377 d20732b
comment functions in net_cost_handler.h
amin1377 113efec
expr: add static inline for update_net_info_on_pin_move
amin1377 7dd0e7b
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 d4e726f
remove unused access to cube_bb
amin1377 dbbe5f6
reverse inlining of update_net_info_on_pin_move
amin1377 deb8297
inline the operator overloading for atom_loc
amin1377 f047590
use string constructor instead casting char* to string
amin1377 569096a
pass primitive types by value
amin1377 f19d64a
use empty methon instead of comparing to zero
amin1377 85c53dc
set the upper bound of the loop outside of the loop body
amin1377 4e410ce
impl of atom revert_move_blocks was wrong
amin1377 8e28ea9
use enum class instead of defining net update status
amin1377 b2eb245
use num_layers variable as upper bound of a loop
amin1377 16f8fff
store num_moved_blocks before the for loop
amin1377 321344f
add std algorithm back since std sort is used
amin1377 4d024d3
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 a12be62
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 34d77d8
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 574b6fc
[vpr] fix the bugs after merge was mastered
amin1377 2a71a8c
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 2a76d79
[vpr][place] update bb_from_scratch to update layer too
amin1377 a6d2fa4
[vpr][place] update get_non_updatable_bb to update layer
amin1377 8a8345e
[vpr][place] initialize the num_sink_layer to zero per layer
amin1377 655409e
[vpr][place] update update_bb to update layer info
amin1377 38e6b31
[vpr][place] get pin direction from get_pin_type_...
amin1377 ccffd51
[vpr][place] fix update_net_layer declaration
amin1377 0a1f655
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 4af56aa
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 b958964
[vpr][place] remove the parts for reclustering
amin1377 5adfa2b
[vpr][place] add a library
amin1377 94b51b9
[vpr][place] add more comments to net_cost_handler.h
amin1377 e7a6032
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 7ae2112
add more comments on net_cost_handler
amin1377 7537c27
[vpr][place] remove block comment sysntax
amin1377 165931c
[vpr][place] apply Vaughn's comments on net_cost_handler
amin1377 fbc9452
[vpr][place] apply Vaughn's comments on place.cpp
amin1377 2d7fbf4
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 c9afd34
[vpr][place] fix typos in comments
amin1377 0388cb7
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 3f1f8e2
fix comment format issue
amin1377 fd9fce8
[vpr][place] put comments on net_cost_handler file
amin1377 d000874
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-ve…
amin1377 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,7 @@ | |
#define VTR_SET_H | ||
|
||
#include <vector> | ||
#include <algorithm> | ||
|
||
namespace vtr { | ||
|
||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.