Run 175.vpr with benchmark binary
Change-Id: Ic33d55c97b45a40856657ad003b97dc2bbcc1b0c
diff --git a/175.vpr/BUILD.gn b/175.vpr/BUILD.gn
index beab079..8fe3e98 100644
--- a/175.vpr/BUILD.gn
+++ b/175.vpr/BUILD.gn
@@ -5,6 +5,7 @@
inputs = [
"data/ref/input/net.in",
"data/ref/input/arch.in",
+ "data/ref/input/place.in",
]
executable("175.vpr") {
diff --git a/benchmarks/main.cc b/benchmarks/main.cc
index 7f3ec14..e6714f1 100644
--- a/benchmarks/main.cc
+++ b/benchmarks/main.cc
@@ -68,6 +68,11 @@
EonFixture() : SpecFixture("252.eon"){};
};
+class VprFixture : public SpecFixture {
+ protected:
+ VprFixture() : SpecFixture("175.vpr"){};
+};
+
} // namespace
std::string executableDir;
@@ -231,6 +236,27 @@
}
#endif
+BENCHMARK_F(VprFixture, 175_Vpr)(benchmark::State& st) {
+ const char* args1[] = {
+ "net.in", "arch.in", "place.out", "dum.out", "-nodisp",
+ "-place_only", "-init_t", "5", "-exit_t", "0.005",
+ "-alpha_t", "0.9412", "-inner_num", "2"};
+
+ // clang-format off
+ const char* args2[] = {
+ "net.in", "arch.in", "place.in", "route.out", "-nodisp", "-route_only",
+ "-route_chan_width", "15", "-pres_fac_mult", "2", "-acc_fac", "1",
+ "-first_iter_pres_fac", "4", "-initial_pres_fac", "8"};
+ // clang-format on
+
+ while (st.KeepRunning()) {
+ if ((RunSpec(args1, 14, NULL)) != 0 || (RunSpec(args2, 16, NULL)) != 0) {
+ (std::string("Error while running benchmark: ") + strerror(errno))
+ .c_str();
+ }
+ }
+}
+
int main(int argc, char* argv[]) {
::benchmark::Initialize(&argc, argv);
google::InitGoogleLogging(argv[0]);