|
TraceMaker
C++ API of the engine
|
#include <place/placer.hpp>
Public Attributes | |
| std::string | mode = "full" |
| full | refine | |
| std::uint64_t | seed = 1 |
| int | threads = 0 |
| 0 = min(hardware, 16) | |
| int | runs = 0 |
| annealing runs (0 = threads) | |
| double | effort = 4.0 |
| annealing moves per run = effort × 4000 × movable parts | |
| double | alpha_cross_mm = 2.0 |
| double | time_limit_s = 0 |
| wall-time stop for the annealer (0 = none) | |
| bool | verbose = false |
| bool | tempering = false |
| M8 (doc 04 §3 E, G): see AnnealOptions. | |
| double | lns_rate = 0 |
| share of annealing steps that are LNS windows | |
| int | lns_window = 6 |
| int | lns_polish = 0 |
| LNS windows run on the annealing result (deterministic polish; 0 = none). | |
| double | beta_congestion = 0 |
| routability weight (0 = off) | |
| const CongestionMap * | congestion = nullptr |
| std::vector< int > | focus |
| LNS seed parts. | |
| bool | flip = false |
| Side assignment (doc 04 §3 C/E, D48): see AnnealOptions. | |
| double | via_mm = 2.0 |
| double | flip_rate = 0.1 |
| std::function< void(const std::string &stage, const Placement &pl, double t)> | trace |
| Recording (video): receives intermediate placements with a stage name. | |
Definition at line 19 of file placer.hpp.
| double tmk::place::PlaceOptions::alpha_cross_mm = 2.0 |
Definition at line 25 of file placer.hpp.
| double tmk::place::PlaceOptions::beta_congestion = 0 |
routability weight (0 = off)
Definition at line 33 of file placer.hpp.
| const CongestionMap* tmk::place::PlaceOptions::congestion = nullptr |
Definition at line 34 of file placer.hpp.
| double tmk::place::PlaceOptions::effort = 4.0 |
annealing moves per run = effort × 4000 × movable parts
Definition at line 24 of file placer.hpp.
| bool tmk::place::PlaceOptions::flip = false |
Side assignment (doc 04 §3 C/E, D48): see AnnealOptions.
The problem must be extracted with ExtractOptions::flip for any part to be allowed to flip.
Definition at line 38 of file placer.hpp.
| double tmk::place::PlaceOptions::flip_rate = 0.1 |
Definition at line 40 of file placer.hpp.
| std::vector<int> tmk::place::PlaceOptions::focus |
LNS seed parts.
Definition at line 35 of file placer.hpp.
| int tmk::place::PlaceOptions::lns_polish = 0 |
LNS windows run on the annealing result (deterministic polish; 0 = none).
Definition at line 32 of file placer.hpp.
| double tmk::place::PlaceOptions::lns_rate = 0 |
share of annealing steps that are LNS windows
Definition at line 30 of file placer.hpp.
| int tmk::place::PlaceOptions::lns_window = 6 |
Definition at line 31 of file placer.hpp.
| std::string tmk::place::PlaceOptions::mode = "full" |
full | refine
Definition at line 20 of file placer.hpp.
| int tmk::place::PlaceOptions::runs = 0 |
annealing runs (0 = threads)
Definition at line 23 of file placer.hpp.
| std::uint64_t tmk::place::PlaceOptions::seed = 1 |
Definition at line 21 of file placer.hpp.
| bool tmk::place::PlaceOptions::tempering = false |
M8 (doc 04 §3 E, G): see AnnealOptions.
parallel tempering over the runs instead of independent runs
Definition at line 29 of file placer.hpp.
| int tmk::place::PlaceOptions::threads = 0 |
0 = min(hardware, 16)
Definition at line 22 of file placer.hpp.
| double tmk::place::PlaceOptions::time_limit_s = 0 |
wall-time stop for the annealer (0 = none)
Definition at line 26 of file placer.hpp.
| std::function<void(const std::string& stage, const Placement& pl, double t)> tmk::place::PlaceOptions::trace |
Recording (video): receives intermediate placements with a stage name.
Never affects the result. t is when the state existed (trace_now()); annealing snapshots are delivered after the run.
Definition at line 43 of file placer.hpp.
| bool tmk::place::PlaceOptions::verbose = false |
Definition at line 27 of file placer.hpp.
| double tmk::place::PlaceOptions::via_mm = 2.0 |
Definition at line 39 of file placer.hpp.