placer1: Add place time print
Signed-off-by: David Shah <davey1576@gmail.com>
This commit is contained in:
parent
dbaae51159
commit
0ca0af6c72
@ -37,6 +37,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <chrono>
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "place_common.h"
|
#include "place_common.h"
|
||||||
#include "timing.h"
|
#include "timing.h"
|
||||||
@ -148,7 +149,7 @@ class SAPlacer
|
|||||||
}
|
}
|
||||||
std::sort(autoplaced.begin(), autoplaced.end(), [](CellInfo *a, CellInfo *b) { return a->name < b->name; });
|
std::sort(autoplaced.begin(), autoplaced.end(), [](CellInfo *a, CellInfo *b) { return a->name < b->name; });
|
||||||
ctx->shuffle(autoplaced);
|
ctx->shuffle(autoplaced);
|
||||||
|
auto iplace_start = std::chrono::high_resolution_clock::now();
|
||||||
// Place cells randomly initially
|
// Place cells randomly initially
|
||||||
log_info("Creating initial placement for remaining %d cells.\n", int(autoplaced.size()));
|
log_info("Creating initial placement for remaining %d cells.\n", int(autoplaced.size()));
|
||||||
|
|
||||||
@ -165,7 +166,9 @@ class SAPlacer
|
|||||||
if (ctx->slack_redist_iter > 0)
|
if (ctx->slack_redist_iter > 0)
|
||||||
assign_budget(ctx);
|
assign_budget(ctx);
|
||||||
ctx->yield();
|
ctx->yield();
|
||||||
|
auto iplace_end = std::chrono::high_resolution_clock::now();
|
||||||
|
log_info("Initial placement time %.02fs\n", std::chrono::duration<float>(iplace_end - iplace_start).count());
|
||||||
|
auto saplace_start = std::chrono::high_resolution_clock::now();
|
||||||
log_info("Running simulated annealing placer.\n");
|
log_info("Running simulated annealing placer.\n");
|
||||||
|
|
||||||
// Calculate metric after initial placement
|
// Calculate metric after initial placement
|
||||||
@ -283,6 +286,10 @@ class SAPlacer
|
|||||||
// Let the UI show visualization updates.
|
// Let the UI show visualization updates.
|
||||||
ctx->yield();
|
ctx->yield();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto saplace_end = std::chrono::high_resolution_clock::now();
|
||||||
|
log_info("SA placement time %.02fs\n", std::chrono::duration<float>(saplace_end - saplace_start).count());
|
||||||
|
|
||||||
// Final post-pacement validitiy check
|
// Final post-pacement validitiy check
|
||||||
ctx->yield();
|
ctx->yield();
|
||||||
for (auto bel : ctx->getBels()) {
|
for (auto bel : ctx->getBels()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user